# arrismo/kaggle-mcp [Health: Active]

**Category:** 🧮 Data Science Tools  
**Repository:** https://github.com/arrismo/kaggle-mcp  
**GitHub Stars:** 39  
**Views:** 4  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/arrismo-kaggle-mcp

## Description
Connects to Kaggle, ability to download and analyze datasets.

## Tools
Capabilities this server exposes over MCP:

- **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>/`.

## Claude Desktop Quick Installation
Heuristic fallback — verify the package name and runner against the repository README before running it. Uses `npx` (confidence: low):

```json
"mcpServers": {
  "kaggle-mcp": {
    "command": "npx",
    "args": ["-y","arrismo-kaggle-mcp"],
    "env": {
      "KAGGLE_USERNAME": "",
      "KAGGLE_KEY": ""
    }
  }
}
```

**Requires environment variables:** `KAGGLE_USERNAME`, `KAGGLE_KEY` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation

## What arrismo/kaggle-mcp MCP server does

The arrismo/kaggle-mcp MCP server gives an MCP-compatible client access to selected Kaggle dataset workflows. It can search for datasets by keyword, return matching metadata, download and extract a chosen dataset, and generate a starter prompt for exploratory data analysis. The project is intended for local execution and lists Claude Desktop as an example client.

Search results can include a dataset reference, title, subtitle, download count, last-updated date, and usability rating. Dataset references use Kaggle's `owner/dataset-slug` format, such as `kaggle/titanic`. The generated EDA prompt requests basic Python analysis steps, including loading data, checking missing values, creating visualizations, and calculating summary statistics.

## How it works

The server communicates over MCP stdio. An MCP client launches the local process and sends requests to its tools or prompt capability. A typical workflow starts with a keyword search, followed by selecting a reference from the returned results. The client can then request a download and ask for an EDA prompt for the same reference.

`download_kaggle_dataset` extracts the downloaded archive locally. If no output directory is supplied, files are placed under `./datasets/<dataset_slug>/`; the `datasets/` directory is created when a download is requested. A caller can instead provide a local `download_path`.

## Setup and configuration

The project requires Python 3.10 or newer, a Kaggle account with an API token, and an MCP-compatible client. The documented setup clones the repository, creates a virtual environment, and installs dependencies with either `uv sync` or `pip install -r requirements.txt`.

Kaggle authentication can use `KAGGLE_USERNAME` and `KAGGLE_KEY` environment variables, including values loaded from a project `.env` file. Alternatively, place the standard `kaggle.json` file in Kaggle's expected configuration directory: `~/.kaggle/kaggle.json` on macOS or Linux, or the corresponding `.kaggle` directory under the Windows user profile. The README recommends restricting permissions on macOS and Linux with `chmod 600`.

The documented local launch command is `uv run kaggle-mcp`. The server can also be started with `python src/server.py`, run in Docker, or launched through Smithery. Claude Desktop configuration uses the `uv` command with `run kaggle-mcp` arguments and may pass the Kaggle credentials in an `env` block.

## Tools and capabilities

The arrismo/kaggle-mcp MCP server provides:

- `search_kaggle_datasets(query)`: searches Kaggle and returns up to 10 matching datasets as JSON.
- `download_kaggle_dataset(dataset_ref, download_path)`: downloads and unzips a dataset, using the default directory when no path is given.
- `generate_eda_notebook(dataset_ref)`: produces a prompt for generating basic Python EDA code.

The server supports dataset discovery and preparation, but the supplied material describes EDA prompt generation rather than direct execution of analysis code or notebook creation.

## Limitations and notes

A Kaggle account and API token are required. The server depends on the selected MCP client to launch the stdio process and interpret its tools or prompt. Downloads are local to the environment where the server runs, so an agent or client operating elsewhere will not automatically access those files. The documentation specifies a maximum of 10 results for each dataset search and does not describe additional Kaggle resources such as competitions or notebooks.

_Full upstream README: https://allmcps.com/mcp/arrismo-kaggle-mcp/readme_

