MCP Directory

How to add Kaggle MCP Server to Claude Desktop

Search and download Kaggle datasets and generate starter EDA prompts from your MCP client. Paste the config into ~/Library/Application Support/Claude/claude_desktop_config.json and restart Claude Desktop.

Last updated June 14, 2026 ยท 38โ˜… ยท stdio ยท apikey

Claude Desktop 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

  1. 1Open Claude Desktop โ†’ Settings โ†’ Developer โ†’ Edit Config (this opens ~/Library/Application Support/Claude/claude_desktop_config.json).
  2. 2Paste the Kaggle MCP Server config below under the top-level "mcpServers" key.
  3. 3Fill in any placeholder secrets (API keys, paths) in the snippet.
  4. 4Save the file, then fully quit and reopen Claude Desktop.
  5. 5Open a chat and confirm Kaggle MCP Server's tools appear under the ๐Ÿ”Œ tools menu.

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 Claude Desktop

search_kaggle_datasets

Searches 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_dataset

Downloads 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_notebook

An 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 + Claude Desktop FAQ

Where is the Claude Desktop config file?

Claude Desktop reads MCP servers from ~/Library/Application Support/Claude/claude_desktop_config.json. Paste the Kaggle MCP Server config there under the "mcpServers" key and restart the client.

Is Kaggle MCP Server safe to use with Claude Desktop?

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.

View repo Full Kaggle MCP Server page