使用说明
Kaggle MCP服务器
一个模型上下文协议(MCP)服务器,向MCP客户端(如Claude Desktop)公开Kaggle数据集搜索、下载和EDA提示生成。
特性
- 按关键字搜索Kaggle数据集。
- 在本地下载并解压缩Kaggle数据集。
- 为Kaggle数据集生成一个初步的探索性数据分析(EDA)提示。
- 通过环境变量或标准支持Kaggle凭据
kaggle.json文件。 - 在本地、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:Kaggle数据集参考owner/dataset-slug格式,例如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.
- 选择 创建新的API令牌.
- 下载
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 - 窗户:
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 sync
使用pip
pip install -r requirements.txt
本地运行
随着 uv:
uv run kaggle-mcp
或者直接运行服务器模块:
python src/server.py
服务器通过MCP stdio进行通信,旨在由MCP客户端启动。
Claude桌面配置
打开克劳德桌面设置,然后转到 开发者 > 编辑配置 并将此服务器添加到 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 build -t kaggle-mcp .
使用来自的凭据运行 .env:
docker run --rm -i --env-file .env kaggle-mcp
史密瑟里
此存储库包括 smithery.yaml.Smithery通过stdio启动服务器,并将这些配置值作为环境变量传递:
kaggleUsername->KAGGLE_USERNAMEkaggleKey->KAGGLE_KEY
工作流示例
- 询问您的MCP客户:“在Kaggle中搜索心脏病数据集。”
- 客户来电
search_kaggle_datasets. - 从结果中选择一个数据集引用,例如
user/heart-disease-dataset. - 询问:“下载
user/heart-disease-dataset." - 询问:“生成EDA笔记本提示
user/heart-disease-dataset."
项目结构
.
├── Dockerfile
├── README.md
├── pyproject.toml
├── requirements.txt
├── smithery.yaml
├── src/
│ ├── __init__.py
│ └── server.py
└── uv.lock
下载的数据集保存在 datasets/ 默认情况下。此目录是在运行时请求下载时创建的。