
How to add Kaggle MCP Server to Cursor
Search and download Kaggle datasets and generate starter EDA prompts from your MCP client. Paste the config into ~/.cursor/mcp.json and restart Cursor.
Last updated June 14, 2026 · 38★ · stdio · apikey
Cursor config for Kaggle MCP Server
uv sync{
"mcpServers": {
"kaggle-mcp-server": {
"command": "uv",
"args": [
"run",
"kaggle-mcp"
],
"env": {
"KAGGLE_USERNAME": "your_kaggle_username",
"KAGGLE_KEY": "your_kaggle_api_key"
}
}
}
}Setup steps
- 1Open Cursor → Settings → MCP → Add new MCP server (or edit ~/.cursor/mcp.json directly).
- 2Paste the Kaggle MCP Server config below into the "mcpServers" object.
- 3Fill in placeholder secrets, then save.
- 4Cursor reloads MCP servers automatically — check Settings → MCP for a green status dot.
- 5Ask Cursor to use one of Kaggle MCP Server's tools to confirm it's connected.
Before you start
- Python 3.10+
- A Kaggle account and API token (KAGGLE_USERNAME and KAGGLE_KEY, or kaggle.json)
- An MCP-compatible client (e.g. Claude Desktop)
What Kaggle MCP Server can do in Cursor
search_kaggle_datasetsSearches Kaggle for datasets matching the given query and returns up to 10 results as JSON, with fields including ref, title, subtitle, download_count, last_updated, and usability_rating.
download_kaggle_datasetDownloads and unzips a Kaggle dataset given a dataset_ref in owner/dataset-slug format (e.g. kaggle/titanic). An optional download_path sets the output location; otherwise files are saved to ./datasets/<dataset_slug>/.
generate_eda_notebookAn MCP prompt that creates a prompt for generating basic Python EDA code for a given dataset_ref, covering data loading, missing-value checks, visualizations, and summary statistics.
Security
Requires a Kaggle account and API token (KAGGLE_USERNAME and KAGGLE_KEY, or a kaggle.json file). On macOS/Linux, restrict the credentials file with `chmod 600 ~/.kaggle/kaggle.json`. Downloaded datasets are written to the local filesystem (default ./datasets/).
Kaggle MCP Server + Cursor FAQ
Where is the Cursor config file?
Cursor reads MCP servers from ~/.cursor/mcp.json. Paste the Kaggle MCP Server config there under the "mcpServers" key and restart the client.
Is Kaggle MCP Server safe to use with Cursor?
Requires a Kaggle account and API token (KAGGLE_USERNAME and KAGGLE_KEY, or a kaggle.json file). On macOS/Linux, restrict the credentials file with `chmod 600 ~/.kaggle/kaggle.json`. Downloaded datasets are written to the local filesystem (default ./datasets/).
How do I provide Kaggle credentials?
Either set KAGGLE_USERNAME and KAGGLE_KEY (e.g. in a .env file or the MCP client's env block), or place kaggle.json in the standard Kaggle location (~/.kaggle/kaggle.json on macOS/Linux). If you use kaggle.json you can omit the env block in the client config.
Where are downloaded datasets stored?
By default datasets are saved under ./datasets/<dataset_slug>/. You can override this with the download_path argument of download_kaggle_dataset.
How can I run the server?
Locally with `uv run kaggle-mcp` (or `python src/server.py`), via Docker (`docker run --rm -i --env-file .env kaggle-mcp`), or through Smithery, which starts it over stdio and passes kaggleUsername/kaggleKey as environment variables.