mcpField
K
Kaggle MCP (Model Context Protocol) Server

Kaggle MCP (Model Context Protocol) Server

本地服务
github.com/arrismo数据与分析3923 周前更新

关于 Kaggle MCP (Model Context Protocol) Server

Kaggle MCP Server 是一个 MCP 服务,向 Claude Desktop 等 MCP 客户端提供 Kaggle 数据集的搜索、下载以及 EDA 提示词生成能力。适合需要快速获取数据集并开始探索性分析的用户。

主要功能

  1. 01按关键词搜索 Kaggle 数据集
  2. 02下载并解压数据集到本地
  3. 03生成基础 EDA 提示词
  4. 04支持环境变量或 kaggle.json 配置凭据
  5. 05可本地运行、Docker 运行或通过 Smithery 运行

适用场景

  1. 01查找并下载用于建模的 Kaggle 数据集
  2. 02让 AI 助手为指定数据集生成 EDA 代码思路

MCP 相关

该项目是 MCP 服务,暴露 search_kaggle_datasets 和 download_kaggle_dataset 两个工具,以及 generate_eda_notebook 提示词,通过 stdio 与 MCP 客户端通信。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Kaggle MCP 服务

Kaggle MCP 服务

一个 Model Context Protocol (MCP) 服务,可向 Claude Desktop 等 MCP 客户端提供 Kaggle 数据集搜索、下载和 EDA 提示词生成功能。

功能

  • 按关键词搜索 Kaggle 数据集。
  • 在本地下载并解压 Kaggle 数据集。
  • 为 Kaggle 数据集生成入门级探索性数据分析(EDA)提示词。
  • 支持通过环境变量或标准的 kaggle.json 文件提供 Kaggle 凭据。
  • 可在本地、Docker 或 Smithery 中运行。

可用的 MCP 能力

工具
search_kaggle_datasets(query: str)

在 Kaggle 中搜索与 query 匹配的数据集,并以 JSON 格式返回最多 10 条结果。

返回字段包括:

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

下载并解压 Kaggle 数据集。

  • dataset_ref:owner/dataset-slug 格式的 Kaggle 数据集引用,例如 kaggle/titanic。
  • download_path:可选的本地输出路径。若未指定,文件将保存到 ./datasets/<dataset_slug>/。
提示词
generate_eda_notebook(dataset_ref: str)

为提供的 Kaggle 数据集引用创建提示词,用于生成基础 Python EDA 代码。该提示词要求进行数据加载、缺失值检查、可视化和汇总统计。

要求

  • Python 3.10+
  • Kaggle 账户和 API 令牌
  • 兼容 MCP 的客户端

Kaggle 凭据

在 Kaggle 账户设置中创建 Kaggle API 令牌:

  1. 前往 https://www.kaggle.com/settings。
  2. 选择 Create New API Token。
  3. 下载 kaggle.json。

使用环境变量或标准的 Kaggle 配置文件。

选项 1:环境变量

在项目根目录中创建 .env 文件:

KAGGLE_USERNAME=your_kaggle_username
KAGGLE_KEY=your_kaggle_api_key
选项 2:kaggle.json

将 kaggle.json 放在 Kaggle 的标准位置:

  • macOS/Linux:~/.kaggle/kaggle.json
  • Windows:C:\Users\<Your User Name>\.kaggle\kaggle.json

在 macOS/Linux 上,请确保该文件不允许所有用户读取:

chmod 600 ~/.kaggle/kaggle.json

安装

git clone <repository-url>
cd kaggle-mcp

创建并激活虚拟环境:

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

使用以下任一方法安装依赖项。

使用 uv
uv sync
使用 pip
pip install -r requirements.txt

在本地运行

使用 uv:

uv run kaggle-mcp

或者直接运行服务模块:

python src/server.py

该服务通过 MCP stdio 通信,旨在由 MCP 客户端启动。

Claude Desktop 配置

打开 Claude Desktop 设置,然后前往 Developer > Edit Config,将此服务添加到 claude_desktop_config.json。

如果已安装在项目环境中:

{
  "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"
      }
    }
  }
}

如果使用 kaggle.json,可以省略 env 块。

Docker

构建镜像:

docker build -t kaggle-mcp .

使用 .env 中的凭据运行:

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

Smithery

此仓库包含 smithery.yaml。Smithery 会通过 stdio 启动服务,并将以下配置值作为环境变量传递:

  • kaggleUsername -> KAGGLE_USERNAME
  • kaggleKey -> KAGGLE_KEY

示例工作流

  1. 向 MCP 客户端提问:“搜索 Kaggle 上的心脏病数据集。”
  2. 客户端调用 search_kaggle_datasets。
  3. 从结果中选择一个数据集引用,例如 user/heart-disease-dataset。
  4. 提问:“下载 user/heart-disease-dataset。”
  5. 提问:“为 user/heart-disease-dataset 生成 EDA Notebook 提示词。”

项目结构

.
├── Dockerfile
├── README.md
├── pyproject.toml
├── requirements.txt
├── smithery.yaml
├── src/
│   ├── __init__.py
│   └── server.py
└── uv.lock

下载的数据集默认保存在 datasets/ 下。请求下载时会在运行时创建此目录。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。