kaggle-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| KAGGLE_API_TOKEN | No | Your Kaggle API token. Alternative: place kaggle.json file in ~/.kaggle/ with username and key. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| benchmark_leaderboardB | Get the leaderboard for a Kaggle benchmark. |
| competitions_listA | Search and list Kaggle competitions. |
| competition_filesA | List data files for a competition. |
| competition_downloadB | Download competition data files. Returns download URL. |
| competition_submitB | Submit predictions to a competition. |
| competition_submissionsA | View submission history for a competition. |
| competition_leaderboardC | View competition leaderboard (top 20). |
| competition_getB | Get detailed competition info. |
| competition_data_summaryA | Get data files summary for a competition. |
| competition_get_submissionB | Get details for a single submission. |
| competition_leaderboard_downloadA | Download the full competition leaderboard. Returns download URL. |
| datasets_listB | Search and list Kaggle datasets. |
| dataset_filesB | List files in a dataset. |
| dataset_downloadB | Download dataset files. Returns download URL. |
| dataset_metadataC | Get dataset metadata. |
| dataset_createA | Create a new dataset. Use file_upload first to get file tokens. |
| file_uploadA | Upload a file to Kaggle and get a token for dataset_create. |
| dataset_getA | Get full dataset info. |
| dataset_create_versionA | Create a new version of an existing dataset. |
| dataset_update_metadataB | Update dataset metadata (title, description, license). |
| dataset_deleteC | Delete a dataset. |
| dataset_download_fileB | Download a single file from a dataset. Returns download URL. |
| kernels_listB | Search and list Kaggle notebooks/kernels. |
| kernel_pullC | Get a notebook's source code. |
| kernel_pushC | Push/save a notebook to Kaggle. |
| kernel_outputC | Download competition data files. Returns download URL. |
| kernel_session_createC | Create an interactive kernel session. |
| kernel_session_statusC | Get status of a kernel session. |
| kernel_session_outputB | List output files from a kernel session. |
| kernel_session_cancelC | Cancel a running kernel session. |
| competition_top_kernelsA | List top public kernels/notebooks for a competition, sorted by public score. |
| models_listA | Search and list Kaggle models. |
| model_getC | Get detailed information about a specific model. |
| model_createB | Create a new Kaggle model. |
| model_updateA | Update an existing Kaggle model. |
| model_deleteB | Delete a Kaggle model. |
| model_instances_listA | List all instances of a Kaggle model. |
| model_instance_getB | Get details of a specific model instance. |
| model_instance_createB | Create a new instance for a Kaggle model. |
| model_instance_versionsB | List all versions of a model instance. |
| model_instance_version_createC | Create a new version for a model instance. |
| discussions_searchA | Search Kaggle discussions. |
| discussions_listA | List discussions for a competition or dataset. |
| discussion_detailA | Get discussion content by ID. |
| discussion_commentsB | Get comments for a discussion. |
| discussion_comments_searchB | Search comments across all Kaggle discussions. |
| discussions_by_sourceB | Browse discussions by source type. |
| discussions_solutionsB | Browse competition solution write-ups. |
| discussions_writeupsA | Browse Kaggle write-ups by type. |
| discussions_trendingB | Browse trending discussions sorted by hotness. |
| discussions_myB | List the current user's discussions. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 51 tools
Every tool has a clear resource prefix (competition_, dataset_, kernel_, model_, discussion_) followed by a distinct action verb. Overlaps are minimal and resolved by descriptions (e.g., dataset_download vs. dataset_download_file). The only minor issue is kernel_output's description being a copy-paste error, but tool names are unambiguous.
All tool names follow a consistent snake_case pattern of resource_prefix + action verb (e.g., competition_get, dataset_create, discussion_comments). No mixing of styles across the entire set.
With 51 tools, this is on the high side for a single MCP server. While each tool serves a specific purpose and the Kaggle API is broad, the number feels heavy, especially with 12+ discussion-related tools. It's borderline but still manageable for an agent.
The tool surface covers nearly all key Kaggle resources: competitions (list, get, submit, leaderboard, data), datasets (full CRUD, versions, downloads), kernels (push, pull, sessions), models (create, delete, instances, versions), discussions (search, list, comments), and file upload. Missing actions (e.g., delete submission/kernel) are minor and uncommon. Very comprehensive.