loading…
Search for a command to run...
loading…
Connects to Kaggle, ability to download and analyze datasets.
Connects to Kaggle, ability to download and analyze datasets.
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.
Выполни в терминале:
claude mcp add arrismo-kaggle-mcp -- npx pro-tip
Поставил arrismo/kaggle-mcp? Скажи Claude: «запомни почему я установил arrismo/kaggle-mcp и что хочу попробовать» — попадёт в твой Vault.
как это работает →CSA PROJECT - FZCO © 2026 IFZA Business Park, DDP, Premises Number 31174 - 001
Безопасность
Низкий рискАвтоматическая эвристика по публичным данным — не гарантия безопасности.