MCP Directory

Kaggle MCP Server

Search and download Kaggle datasets and generate starter EDA prompts from your MCP client.

Unverified
stdio (local)
API key
Python

Add to your client

Copy the config for your MCP client and paste it into its config file.

Install / run
uv sync

Paste into ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "kaggle-mcp-server": {
      "command": "uv",
      "args": [
        "run",
        "kaggle-mcp"
      ],
      "env": {
        "KAGGLE_USERNAME": "your_kaggle_username",
        "KAGGLE_KEY": "your_kaggle_api_key"
      }
    }
  }
}

Step-by-step guides: Add to Claude Desktop · Add to Cursor · Add to Windsurf

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)

About Kaggle MCP Server

A Model Context Protocol server that wraps the Kaggle API so MCP clients can search Kaggle datasets, download and unzip them locally, and generate a starter EDA prompt for a chosen dataset. It authenticates with Kaggle via environment variables or a kaggle.json file and can run locally, in Docker, or through Smithery.

Tools & capabilities (3)

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.

When to use it

  • Search Kaggle for datasets on a topic (e.g. heart disease) directly from an AI chat.
  • Download and unzip a chosen Kaggle dataset to your local machine for analysis.
  • Generate a starter EDA notebook prompt to kick off exploratory analysis of a dataset.
  • Combine search, download, and EDA prompting into an assistant-driven data-science workflow.

Security notes

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 FAQ

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.

Alternatives to Kaggle MCP Server

Compare all alternatives →

Official MCP server providing persistent, file-backed knowledge-graph memory across sessions.

Verified
stdio (local)
No auth
TypeScript
9 tools
Updated 5 months agoRepo

Structured step-by-step reasoning tool for breaking problems into revisable thought sequences.

Verified
stdio (local)
No auth
TypeScript
1 tool
Updated 6 months agoRepo

Fully managed remote server for AWS docs, blogs, What's-New and Well-Architected guidance — no key.

Verified
HTTP (remote)
No auth
Hosted
6 tools
Updated 5 months agoRepo