Kaggle MCP 服务器

by arrismo

MCP 服务器,用于与 Kaggle API 交互。需要通过环境变量(KAGGLE_USERNAME 和 KAGGLE_KEY)或 kaggle.json 文件配置 Kaggle API 凭据进行身份验证。

Developer toolsstdioCommunity

Repository-wide counts · Cached 2026-03-08

Overview

The Kaggle MCP 服务器 MCP server is a publicly available project. Review the upstream repository for installation instructions, supported tools, compatibility, permissions, and current maintenance status.

Configuration

Configuration, transport, authentication, and runtime requirements vary by project. Open the repository before connecting and use the smallest set of credentials and permissions required.

Open the Kaggle MCP 服务器 repository to read the latest documentation.

KEEP EXPLORING

Compare source, connection, and authentication details before choosing an implementation.

View the complete category

模型上下文协议服务器

modelcontextprotocol

Community

一组用于模型上下文协议(MCP)的参考实现,展示了对大型语言模型(LLM)工具和数据源的安全且受控的访问方式。

Context7 Platform - Up-to-date Code Docs For Any Prompt

upstash

Community

Context7 MCP server providing up-to-date, version-specific documentation and code examples for libraries, enabling coding agents to fetch accurate docs and code snippets. Requires an API key for higher rate limits, passed via CONTEXT7_API_KEY header.

Playwright MCP

Microsoft Corporation

Community

A Model Context Protocol (MCP) server that provides browser automation capabilities using Playwright. Enables LLMs to interact with web pages through structured accessibility snapshots, bypassing the need for screenshots or visually-tuned models.

AIHawk

feder-cr

Community

AIHawk is an anti detect browser and web browsing agent, open source, with an MCP server for coding agents: undetected, no captchas, no blocks. It requires an OpenRouter API key for the standalone web UI mode, which can be provided via the --openrouter-key flag or the OPENROUTER_API_KEY environment variable or a .env file in the running directory.

FROM THE SOURCE

Repository README

Build-time snapshot · Retrieved 2026-10-05

View original

Kaggle MCP Server

Kaggle MCP Server

A Model Context Protocol (MCP) server that exposes Kaggle dataset search, download, and EDA prompt generation to MCP clients such as Claude Desktop.

Features

  • 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.json file.
  • Runs locally, in Docker, or through Smithery.

Available MCP Capabilities

Tools

search_kaggle_datasets(query: str)

Searches Kaggle for datasets matching query and returns up to 10 results as JSON.

Returned fields include:

  • ref
  • title
  • subtitle
  • download_count
  • last_updated
  • usability_rating
download_kaggle_dataset(dataset_ref: str, download_path: str | None = None)

Downloads and unzips a Kaggle dataset.

  • 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>/.

Prompts

generate_eda_notebook(dataset_ref: str)

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.

Requirements

  • Python 3.10+
  • Kaggle account and API token
  • An MCP-compatible client

Kaggle Credentials

Create a Kaggle API token from your Kaggle account settings:

  1. Go to https://www.kaggle.com/settings.
  2. Select Create New API Token.
  3. Download kaggle.json.

Use either environment variables or the standard Kaggle config file.

Option 1: Environment variables

Create a .env file in the project root:

KAGGLE_USERNAME=your_kaggle_username
KAGGLE_KEY=your_kaggle_api_key

Option 2: kaggle.json

Place 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.json

Installation

git clone <repository-url>
cd kaggle-mcp

Create and activate a virtual environment:

python -m venv .venv
source .venv/bin/activate  # Windows: .venv\Scripts\activate

Install dependencies with one of the following methods.

Using uv

uv sync

Using pip

pip install -r requirements.txt

Running Locally

With uv:

uv run kaggle-mcp

Or run the server module directly:

python src/server.py

The server communicates over MCP stdio and is intended to be launched by an MCP client.

Claude Desktop Configuration

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.

Docker

Build the image:

docker build -t kaggle-mcp .

Run with credentials from .env:

docker run --rm -i --env-file .env kaggle-mcp

Smithery

This repository includes smithery.yaml. Smithery starts the server over stdio and passes these configuration values as environment variables:

  • kaggleUsername -> KAGGLE_USERNAME
  • kaggleKey -> KAGGLE_KEY

Example Workflow

  1. Ask your MCP client: "Search Kaggle for heart disease datasets."
  2. The client calls search_kaggle_datasets.
  3. Choose a dataset reference from the results, for example user/heart-disease-dataset.
  4. Ask: "Download user/heart-disease-dataset."
  5. Ask: "Generate an EDA notebook prompt for user/heart-disease-dataset."

Project Structure

.
├── 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.