kaggle-mcp-server
A full-featured MCP server with 96 tools for the Kaggle API, enabling users to manage competitions, datasets, notebooks, models, discussions, and workflows via natural language.
README
Kaggle MCP Server
A full-featured Model Context Protocol (MCP) server for the Kaggle API — 96 tools across competitions, datasets, kernels, models, benchmarks, discussions, and workflow utilities.
Installation
pip install kaggle-mcp-server
Prerequisites
- Kaggle API credentials — place your
kaggle.jsonat~/.kaggle/kaggle.json:
{"username":"YOUR_USERNAME","key":"YOUR_API_KEY"}
Get your API key from kaggle.com/settings → "Create New Token".
- Python 3.12+
Usage
With Cursor IDE
Add to .cursor/mcp.json:
{
"mcpServers": {
"kaggle": {
"command": "kaggle-mcp-server"
}
}
}
With Claude Desktop
Add to your Claude Desktop config:
{
"mcpServers": {
"kaggle": {
"command": "kaggle-mcp-server"
}
}
}
Standalone
kaggle-mcp-server
Tools (96 total)
Competitions (16 tools)
| Tool | Description |
|---|---|
competitions_list |
Search and list competitions |
competition_get |
Get detailed competition info |
competition_files |
List competition data files |
competition_tree_files |
Hierarchical tree view of competition data |
competition_download |
Download competition data (returns URL) |
competition_download_single_file |
Download a single competition file locally |
competition_submit |
Submit predictions via blob token |
submit_local_file |
Submit a local prediction file |
submit_code_competition |
Submit to code competitions |
competition_submissions |
View submission history |
competition_get_submission |
Get single submission details |
submission_score |
Get/poll submission score |
competition_leaderboard |
View top 20 leaderboard |
competition_leaderboard_download |
Download full leaderboard |
leaderboard_position |
Find a team/user's rank |
competition_data_summary |
Get data files summary |
Competition Workflow (5 tools)
| Tool | Description |
|---|---|
setup_comp |
Download and extract competition data locally |
competition_full_setup |
One-shot setup: info + download + preview |
upcoming_deadlines |
Show competitions with closest deadlines |
my_competitions |
List competitions you've entered |
competition_top_kernels |
Top public notebooks for a competition |
Datasets (20 tools)
| Tool | Description |
|---|---|
datasets_list |
Search and list datasets |
dataset_get |
Get full dataset info |
dataset_files |
List files in a dataset |
dataset_tree_files |
Hierarchical tree view of dataset files |
dataset_files_summary |
Get file count and total size |
dataset_download |
Download dataset (returns URL) |
dataset_download_file |
Download a single dataset file |
download_dataset_local |
Download and extract dataset locally |
dataset_metadata |
Get dataset metadata |
dataset_update_metadata |
Update title/description/license |
dataset_create |
Create dataset via blob tokens |
create_dataset_from_files |
Create dataset from local directory |
dataset_create_version |
Create new version via tokens |
push_dataset_version |
Push new version from local directory |
dataset_delete |
Delete a dataset |
dataset_status |
Check dataset processing status |
file_upload |
Upload file and get blob token |
my_datasets |
List your datasets |
datasets_by_user |
List datasets by a specific user |
check_dataset_exists |
Check if a dataset exists |
Kernels / Notebooks (15 tools)
| Tool | Description |
|---|---|
kernels_list |
Search and list notebooks |
kernel_pull |
Get notebook source code |
kernel_push |
Push/save a notebook |
push_notebook_file |
Push local .ipynb to Kaggle |
kernel_output |
Download kernel output (URL) |
kernel_download_output_zip |
Download kernel output locally |
kernel_status |
Check kernel execution status |
kernel_files |
List kernel files |
kernel_delete |
Delete a kernel |
kernel_initialize |
Initialize kernel template locally |
kernel_session_create |
Create interactive session |
kernel_session_status |
Get session status |
kernel_session_output |
List session output files |
kernel_session_cancel |
Cancel running session |
generate_notebook_metadata |
Generate kernel-metadata.json |
Models (16 tools)
| Tool | Description |
|---|---|
models_list |
Search and list models |
model_get |
Get model details |
model_create |
Create a new model |
model_update |
Update model info |
model_delete |
Delete a model |
model_metrics |
Get model performance metrics |
model_instances_list |
List model instances |
model_instance_get |
Get instance details |
model_instance_create |
Create a new instance |
model_instance_delete |
Delete an instance |
model_instance_files |
List instance files |
model_instance_versions |
List instance versions |
model_instance_version_create |
Create new version |
model_instance_version_download |
Download version files |
model_instance_version_files |
List version files |
model_instance_version_delete |
Delete a version |
Discussions (10 tools)
| Tool | Description |
|---|---|
discussions_search |
Search discussions |
discussions_list |
List discussions for competition/dataset |
discussion_detail |
Get discussion content |
discussion_comments |
Get discussion comments |
discussion_comments_search |
Search across all comments |
discussions_by_source |
Browse by source type |
discussions_solutions |
Browse competition solutions |
discussions_writeups |
Browse write-ups by type |
discussions_trending |
Browse trending discussions |
discussions_my |
List your discussions |
Benchmarks (1 tool)
| Tool | Description |
|---|---|
benchmark_leaderboard |
Get benchmark leaderboard |
Data Preview & Analysis (4 tools)
| Tool | Description |
|---|---|
preview_csv |
Preview first N rows of a CSV |
preview_data_file |
Preview any text data file |
csv_column_analysis |
Analyze column types and stats |
compare_csvs |
Diff two CSV files |
Workflow Utilities (9 tools)
| Tool | Description |
|---|---|
generate_starter_notebook |
Auto-generate competition starter notebook |
search_everything |
Unified search across competitions, datasets, notebooks |
list_local_files |
List local files with sizes |
track_operation |
Monitor long-running Kaggle operations |
download_pip_library |
Download pip wheels for offline use |
download_pip_requirements |
Download requirements.txt wheels |
create_library_dataset |
Upload pip library as Kaggle dataset |
create_requirements_dataset |
Upload requirements as Kaggle dataset |
get_local_library_version |
Check local wheel version |
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.