Full Kaggle integration for Claude Code — live kernel execution, file transfers, competition API, and more.
The kaggle-pro MCP server gives Claude Code 15 tools for full Kaggle control.
# Install
pip install -e /path/to/kaggle-kernel-tools
# Add to Claude Code
claude mcp add kaggle-pro kaggle-proTools available:
| Tool | Description |
|---|---|
set_kernel_url |
Set kernel proxy URL for live execution |
set_competition |
Set active competition slug |
get_session_info |
Show current session config |
kernel_execute |
Execute Python code on remote kernel |
kernel_health |
Check GPU, RAM, disk, files |
kernel_download_file |
Download file from kernel |
kernel_upload_file |
Upload file to kernel |
submit |
Submit predictions to competition |
leaderboard |
View competition leaderboard |
my_submissions |
List your submissions |
search_competitions |
Search/list competitions |
search_datasets |
Search Kaggle datasets |
search_kernels |
Search public notebooks |
download_competition_data |
Download competition data |
download_dataset |
Download a dataset |
Copy skills to your project for slash-command access:
cp kaggle_exec.py /path/to/your/project/
cp -r .claude/commands/* /path/to/your/project/.claude/commands/Skills: /set-kernel, /kernel-status, /download, /upload
- Open your Kaggle notebook
- Click Run (top-left) → Start Session
- Once running, click Run again → Kaggle Jupyter Server
- Copy the VSCode Compatible URL
It looks like:
https://kkb-production.jupyter-proxy.kaggle.net/k/<id>/<jwt>/proxy
# Option A: file (recommended)
echo "https://kkb-production...../proxy" > .kaggle_proxy_url
# Option B: env var
export KAGGLE_PROXY_URL="https://kkb-production...../proxy"
# Option C: via MCP tool
# Just ask Claude to use set_kernel_urlFor API tools (submit, leaderboard, etc.), you need Kaggle API credentials:
# ~/.kaggle/kaggle.json should exist with your API token
# Get it from: kaggle.com → Account → Create New API Token.kaggle_proxy_urlis in.gitignore— it contains a JWT token- The token expires when the kernel session ends (~12h idle)
- Never commit proxy URLs to git
MIT