Install
$ agentstack add mcp-mtrakretech-kaggle-mcp ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ● Environment & secrets Used
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
Kaggle MCP Server
Full Kaggle CLI as a Model Context Protocol (MCP) server — 68 tools (v3.0).
Works with Claude Desktop, Claude Code, OpenAI Codex CLI, Cursor, Hermes Agent, Windsurf, OpenCode, VS Code MCP, Continue.dev, and any stdio MCP client.
What you can do
| Area | Tools | |------|-------| | Kernels | search, list mine, status, logs, files, output download, pull/push, init, update, delete, preview, visibility, topics | | Datasets | search, list mine, details, files, download, init, upload, version, metadata, status, delete, topics | | Competitions | list, files, download, submit, submissions, leaderboard, team-submissions, episodes, replay, logs, pages, topics | | Models | list/get/create/update/delete, instances, versions, version files/download, topics | | Forums | list forums, list/show topics | | Benchmarks | list tasks, list models, task status | | Account | quota (GPU/TPU), account info, CLI config |
Transports
--stdiopreferred for agents--port NHTTP SSE +/rpcfor custom clients
Install
git clone https://github.com/mtrakretech/kaggle-mcp.git
cd kaggle-mcp
pip install -r requirements.txt
Credentials (recommended: terminal setup)
python kaggle_mcp.py --setup
What it does:
- Tells you where to get a token: https://www.kaggle.com/settings → API → Create New Token
- Asks for username + API key (key input hidden)
- Optionally reuses a downloaded
kaggle.json(cwd / Downloads /~/.kaggle) - Saves:
~/.kaggle/kaggle.json(chmod 600 when possible)- project
.env(KAGGLE_USERNAME,KAGGLE_KEY,KAGGLE_API_TOKEN)
- Validates with
kaggle quota
Non-interactive:
python kaggle_mcp.py --setup --username YOUR_USER --key YOUR_KEY
python kaggle_mcp.py --setup --from-json ~/Downloads/kaggle.json
python kaggle_mcp.py --setup --no-env # only ~/.kaggle/kaggle.json
python kaggle_mcp.py --setup --no-validate # skip API check
Manual alternatives:
export KAGGLE_USERNAME=your_username
export KAGGLE_KEY=your_api_key
export KAGGLE_API_TOKEN=$KAGGLE_KEY
Or hand-write ~/.kaggle/kaggle.json:
{"username":"your_username","key":"your_api_key"}
Quick test
python kaggle_mcp.py --setup # first time
python kaggle_mcp.py --list-tools
python kaggle_mcp.py --stdio
Client setup
Replace /ABSOLUTE/PATH/TO/kaggle-mcp/kaggle_mcp.py with your real path. Copy-paste examples: [examples/](examples/).
Claude Desktop
%APPDATA%\Claude\claude_desktop_config.json (Windows) / ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):
{
"mcpServers": {
"kaggle": {
"command": "python",
"args": ["/ABSOLUTE/PATH/TO/kaggle-mcp/kaggle_mcp.py", "--stdio"],
"env": {
"KAGGLE_USERNAME": "your_kaggle_username",
"KAGGLE_KEY": "your_kaggle_api_key",
"KAGGLE_API_TOKEN": "your_kaggle_api_key"
}
}
}
}
Claude Code / Cursor / Windsurf
Same mcpServers.kaggle JSON shape as above.
Codex CLI (~/.codex/config.toml)
[mcp_servers.kaggle]
command = "python"
args = ["/ABSOLUTE/PATH/TO/kaggle-mcp/kaggle_mcp.py", "--stdio"]
[mcp_servers.kaggle.env]
KAGGLE_USERNAME = "your_kaggle_username"
KAGGLE_KEY = "your_kaggle_api_key"
KAGGLE_API_TOKEN = "your_kaggle_api_key"
Hermes Agent (config.yaml)
mcp_servers:
kaggle:
command: python
args:
- /ABSOLUTE/PATH/TO/kaggle-mcp/kaggle_mcp.py
- --stdio
env:
KAGGLE_USERNAME: your_kaggle_username
KAGGLE_KEY: your_kaggle_api_key
KAGGLE_API_TOKEN: your_kaggle_api_key
timeout: 180
Use stdio (not HTTP SSE) with Hermes.
OpenCode / VS Code / Continue
See examples/opencode_config.json, examples/vscode_mcp.json, examples/continue_config.yaml.
Tools (68)
Kernels (15)
search_kernels list_my_kernels kernel_status kernel_logs kernel_files kernel_output pull_notebook push_notebook init_kernel update_kernel delete_kernel preview_notebook toggle_kernel_visibility list_kernel_topics show_kernel_topic
Datasets (13)
search_datasets list_my_datasets dataset_details list_dataset_files download_dataset init_dataset upload_dataset update_dataset get_dataset_metadata dataset_status delete_dataset list_dataset_topics show_dataset_topic
Competitions (13)
list_competitions list_competition_files download_competition_data submit_competition list_competition_submissions competition_leaderboard list_team_submissions list_competition_episodes download_competition_replay download_competition_episode_logs list_competition_pages list_competition_topics show_competition_topic
Models (17)
list_models model_details init_model create_model update_model delete_model list_model_instances get_model_instance init_model_instance create_model_instance update_model_instance delete_model_instance list_model_instance_versions list_model_version_files download_model_version create_model_version delete_model_version list_model_topics
Forums / Benchmarks / Account (10)
list_forums list_forum_topics show_forum_topic list_benchmark_tasks list_benchmark_models benchmark_task_status get_quota get_account_info get_config
Live test notes (v3.0)
Verified working against real API on this machine:
- kernels search/list/status/logs/files/pull/preview/output
- datasets search/list/details/files/metadata/download/topics
- competitions list/files/leaderboard/pages/topics/team-submissions
- models list/get/instances/versions
- forums list/topics, benchmarks list/models, quota, config, init skeletons
Known Kaggle-side soft fails (tool wiring OK; API returns error):
dataset_status→ 404 on some public datasetslist_competition_submissions→ 400 if you never entered the competitionlist_model_version_files/ some instance paths → 404 if version ref wrong- topic
show_*→ 429 under rate limit (retry later)
Destructive tools (delete_*, submit_competition, push_notebook, uploads) are implemented but not auto-run in CI-style tests.
Security
- No hardcoded credentials
- Env vars or
~/.kaggle/kaggle.jsononly - Key never leaves your machine except to Kaggle
License
MIT — see [LICENSE](LICENSE)
Links
- Repo: https://github.com/mtrakretech/kaggle-mcp
- Kaggle token: https://www.kaggle.com/settings
- MCP: https://modelcontextprotocol.io/
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: mtrakretech
- Source: mtrakretech/kaggle-mcp
- License: MIT
- Homepage: https://github.com/mtrakretech/kaggle-mcp
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.