关于 Kaggle MCP (Model Context Protocol) Server
Kaggle MCP Server 是一个 MCP 服务,向 Claude Desktop 等 MCP 客户端提供 Kaggle 数据集的搜索、下载以及 EDA 提示词生成能力。适合需要快速获取数据集并开始探索性分析的用户。
主要功能
- 01按关键词搜索 Kaggle 数据集
- 02下载并解压数据集到本地
- 03生成基础 EDA 提示词
- 04支持环境变量或 kaggle.json 配置凭据
- 05可本地运行、Docker 运行或通过 Smithery 运行
适用场景
- 01查找并下载用于建模的 Kaggle 数据集
- 02让 AI 助手为指定数据集生成 EDA 代码思路
MCP 相关
该项目是 MCP 服务,暴露 search_kaggle_datasets 和 download_kaggle_dataset 两个工具,以及 generate_eda_notebook 提示词,通过 stdio 与 MCP 客户端通信。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
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 条结果。
返回字段包括:
reftitlesubtitledownload_countlast_updatedusability_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 令牌:
- 前往 https://www.kaggle.com/settings。
- 选择 Create New API Token。
- 下载
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_USERNAMEkaggleKey->KAGGLE_KEY
示例工作流
- 向 MCP 客户端提问:“搜索 Kaggle 上的心脏病数据集。”
- 客户端调用
search_kaggle_datasets。 - 从结果中选择一个数据集引用,例如
user/heart-disease-dataset。 - 提问:“下载
user/heart-disease-dataset。” - 提问:“为
user/heart-disease-dataset生成 EDA Notebook 提示词。”
项目结构
.
├── Dockerfile
├── README.md
├── pyproject.toml
├── requirements.txt
├── smithery.yaml
├── src/
│ ├── __init__.py
│ └── server.py
└── uv.lock
下载的数据集默认保存在 datasets/ 下。请求下载时会在运行时创建此目录。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。