A community-driven registry for the Claude Code ecosystem. Not affiliated with Anthropic.
Are you the author? Sign in to claim
MCP server for Kaggle
A Model Context Protocol (MCP) server that exposes Kaggle dataset search, download, and EDA prompt generation to MCP clients such as Claude Desktop.
kaggle.json file.search_kaggle_datasets(query: str)Searches Kaggle for datasets matching query and returns up to 10 results as JSON.
Returned fields include:
reftitlesubtitledownload_countlast_updatedusability_ratingdownload_kaggle_dataset(dataset_ref: str, download_path: str | None = None)Downloads and unzips a Kaggle dataset.
dataset_ref: Kaggle dataset reference in owner/dataset-slug format, for example kaggle/titanic.download_path: Optional local output path. If omitted, files are saved to ./datasets/<dataset_slug>/.generate_eda_notebook(dataset_ref: str)Creates a prompt for generating basic Python EDA code for the provided Kaggle dataset reference. The prompt asks for data loading, missing-value checks, visualizations, and summary statistics.
Create a Kaggle API token from your Kaggle account settings:
kaggle.json.Use either environment variables or the standard Kaggle config file.
Create a .env file in the project root:
KAGGLE_USERNAME=your_kaggle_username
KAGGLE_KEY=your_kaggle_api_key
kaggle.jsonPlace kaggle.json in the standard Kaggle location:
~/.kaggle/kaggle.jsonC:\Users\<Your User Name>\.kaggle\kaggle.jsonOn macOS/Linux, make sure the file is not world-readable:
chmod 600 ~/.kaggle/kaggle.json
git clone <repository-url>
cd kaggle-mcp
Create and activate a virtual environment:
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
Install dependencies with one of the following methods.
uv sync
pip install -r requirements.txt
With uv:
uv run kaggle-mcp
Or run the server module directly:
python src/server.py
The server communicates over MCP stdio and is intended to be launched by an MCP client.
Open Claude Desktop settings, then go to Developer > Edit Config and add this server to claude_desktop_config.json.
If installed in the project environment:
{
"mcpServers": {
"kaggle-mcp": {
"command": "uv",
"args": ["run", "kaggle-mcp"],
"cwd": "/absolute/path/to/kaggle-mcp",
"env": {
"KAGGLE_USERNAME": "your_kaggle_username",
"KAGGLE_KEY": "your_kaggle_api_key"
}
}
}
}
If using kaggle.json, you can omit the env block.
Build the image:
docker build -t kaggle-mcp .
Run with credentials from .env:
docker run --rm -i --env-file .env kaggle-mcp
This repository includes smithery.yaml. Smithery starts the server over stdio and passes these configuration values as environment variables:
kaggleUsername -> KAGGLE_USERNAMEkaggleKey -> KAGGLE_KEYsearch_kaggle_datasets.user/heart-disease-dataset.user/heart-disease-dataset."user/heart-disease-dataset.".
├── Dockerfile
├── README.md
├── pyproject.toml
├── requirements.txt
├── smithery.yaml
├── src/
│ ├── __init__.py
│ └── server.py
└── uv.lock
Downloaded datasets are saved under datasets/ by default. This directory is created at runtime when downloads are requested.
Run Claude Code as an MCP server so any agent can delegate coding tasks to it
Browser automation using accessibility snapshots instead of screenshots
MCP server integration for DaVinci Resolve Studio
Secure MCP server for MySQL database interaction, queries, and schema management