Kaggle MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| KAGGLE_KEY | Yes | Your Kaggle API key (from kaggle.json). | |
| KAGGLE_USERNAME | Yes | Your Kaggle username for API authentication. | |
| KAGGLE_API_TOKEN | No | Your Kaggle API token (same as KAGGLE_KEY, set for compatibility). Optional if KAGGLE_KEY is provided. |
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 | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_kernelsB | Search public Kaggle notebooks/kernels |
| list_my_kernelsC | List your Kaggle notebooks |
| kernel_statusC | Check kernel run status |
| kernel_logsC | Get kernel execution logs |
| kernel_filesC | List kernel output files (metadata) |
| kernel_outputC | Download kernel output files |
| pull_notebookC | Download notebook source (.ipynb) |
| push_notebookC | Upload notebook and run on free GPU/TPU |
| init_kernelC | Create kernel-metadata.json skeleton |
| update_kernelC | Update kernel metadata via pull+push |
| delete_kernelB | Delete a kernel permanently |
| preview_notebookB | Preview first N cells of a notebook |
| toggle_kernel_visibilityC | Make kernel public or private |
| list_kernel_topicsB | List discussion topics on a kernel |
| show_kernel_topicC | Show a kernel discussion topic |
| search_datasetsC | Search Kaggle datasets |
| list_my_datasetsC | List your datasets |
| dataset_detailsC | Dataset metadata via REST API |
| list_dataset_filesC | List files in a dataset |
| download_datasetC | Download dataset files |
| init_datasetC | Create dataset-metadata.json skeleton |
| upload_datasetC | Create a new dataset from a folder |
| update_datasetC | Create new dataset version |
| get_dataset_metadataC | Download dataset-metadata.json |
| dataset_statusC | Dataset creation/processing status |
| delete_datasetB | Delete dataset permanently |
| list_dataset_topicsC | List dataset discussion topics |
| show_dataset_topicC | Show dataset topic thread |
| list_competitionsD | List competitions |
| list_competition_filesC | List competition data files |
| download_competition_dataC | Download competition files |
| submit_competitionC | Submit predictions file or kernel to a competition |
| list_competition_submissionsB | List your submissions for a competition |
| competition_leaderboardC | Show competition leaderboard |
| list_team_submissionsB | List public submissions for a team ID |
| list_competition_episodesC | List simulation episodes for a submission |
| download_competition_replayC | Download simulation episode replay |
| download_competition_episode_logsC | Download agent logs for a simulation episode |
| list_competition_pagesC | List competition pages (rules/description/evaluation) |
| list_competition_topicsC | List competition forum topics |
| show_competition_topicC | Show competition topic thread |
| list_modelsC | List / search Kaggle models |
| model_detailsC | Get model details |
| init_modelC | Initialize model-metadata.json in folder |
| create_modelB | Create model from folder with model-metadata.json |
| update_modelC | Update model metadata from folder |
| delete_modelC | Delete a model permanently |
| list_model_instancesC | List model instances/variations for owner/model |
| get_model_instanceB | Download model-instance-metadata.json |
| init_model_instanceC | Init model-instance-metadata.json |
| create_model_instanceC | Create model instance from folder |
| update_model_instanceC | Update model instance metadata from folder |
| delete_model_instanceC | Delete a model instance |
| list_model_instance_versionsC | List versions for a model instance |
| list_model_version_filesB | List files in a model instance version |
| download_model_versionC | Download model instance version files |
| create_model_versionC | Create new model instance version from folder |
| delete_model_versionC | Delete a model instance version |
| list_model_topicsC | List model discussion topics |
| list_forumsB | List Kaggle forums |
| list_forum_topicsC | List topics in a forum or global search |
| show_forum_topicC | Show forum topic thread |
| list_benchmark_tasksC | List your benchmark tasks |
| list_benchmark_modelsB | List available benchmark models |
| benchmark_task_statusC | Show benchmark task status |
| get_quotaA | Show GPU/TPU quota remaining |
| get_account_infoB | Account username + quota snapshot |
| get_configA | Show kaggle CLI config |
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 68 tools
The verb_noun structure separates most actions, but several pairs blur together: kernel_files/kernel_output, dataset_details/get_dataset_metadata, model_details/get_model_instance, and get_quota/get_account_info all require close reading. The many model/instance/version lifecycle variants are easy to misselect without careful attention to the resource level.
Tool names mostly follow a consistent snake_case verb_noun convention (list_, create_, update_, delete_, download_, init_). Minor inconsistencies exist: kernel and notebook are used interchangeably for the same resource, competition_leaderboard and dataset_details lack a verb, and update_dataset means 'new version' while update_model means metadata-only update.
68 tools is far beyond a reasonable MCP surface and exceeds the 50+ threshold for an extreme count. While the tools cover distinct Kaggle domains, the server would be much more usable split into separate dataset, kernel, competition, and model servers.
The tool surface is exhaustive across Kaggle's main workflows: dataset, kernel, and model CRUD/lifecycle operations, competition submission flows, discussion forums, and account/quota information. Core workflows have no obvious dead ends, and the high count is largely due to genuinely broad domain coverage.