WHAT IT CONNECTS
What arrismo kaggle mcp gives an AI Agent
The source catalog does not include a structured feature list. Review the repository documentation before use.
SECURITY
An MCP listing is not a security review
An MCP server may receive model context, credentials, local files, or permission to call external systems. Review its code, requested environment variables, network behavior, package provenance, and maintenance status before connecting it to an agent.
README
Repository documentation
A Model Context Protocol (MCP) server that exposes Kaggle dataset search, download, and EDA prompt generation to MCP clients such as Claude Desktop.
- Search Kaggle datasets by keyword.
- Download and unzip Kaggle datasets locally.
- Generate a starter Exploratory Data Analysis (EDA) prompt for a Kaggle dataset.
- Supports Kaggle credentials via environment variables or the standard
kaggle.jsonfile. - Runs locally, in Docker, or through Smithery.
Searches Kaggle for datasets matching query and returns up to 10 results as JSON.
Returned fields include:
reftitlesubtitledownload_countlast_updatedusability_rating
Downloads and unzips a Kaggle dataset.
dataset_ref: Kaggle dataset reference inowner/dataset-slugformat, for examplekaggle/titanic.download_path: Optional local output path. If omitted, files are saved to./datasets/<dataset_slug>/.
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.
- Python 3.10+
- Kaggle account and API token
- An MCP-compatible client
Create a Kaggle API token from your Kaggle account settings:
- Go to https://www.kaggle.com/settings.
- Select Create New API Token.
- Download
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_keyPlace kaggle.json in the standard Kaggle location:
- macOS/Linux:
~/.kaggle/kaggle.json - Windows:
C:\Users\<Your User Name>\.kaggle\kaggle.json
On macOS/Linux, make sure the file is not world-readable:
chmod 600 ~/.kaggle/kaggle.jsongit clone <repository-url>
cd kaggle-mcpCreate and activate a virtual environment:
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activateInstall dependencies with one of the following methods.
uv syncpip install -r requirements.txtWith uv:
uv run kaggle-mcpOr run the server module directly:
python src/server.pyThe 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-mcpThis repository includes smithery.yaml. Smithery starts the server over stdio and passes these configuration values as environment variables:
kaggleUsername->KAGGLE_USERNAMEkaggleKey->KAGGLE_KEY
- Ask your MCP client: "Search Kaggle for heart disease datasets."
- The client calls
search_kaggle_datasets. - Choose a dataset reference from the results, for example
user/heart-disease-dataset. - Ask: "Download
user/heart-disease-dataset." - Ask: "Generate an EDA notebook prompt for
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.
COMMUNITY