使用说明
项目简介
本项目是一个基于 Model Context Protocol (MCP) 的服务器实现,专注于为大型语言模型(LLM)应用提供访问 Kaggle 数据集的能力。它通过 MCP 协议标准化的工具 (Tools) 和 Prompt 模板 (Prompts),使得 LLM 客户端可以方便地搜索、下载 Kaggle 数据集,并生成用于探索性数据分析(EDA)的 Prompt,从而简化了 LLM 应用与 Kaggle 数据集的集成和交互过程。
主要功能点
- 数据集搜索工具 (search_kaggle_datasets): 允许用户通过关键词在 Kaggle 上搜索数据集,并返回包含数据集标题、描述、下载量等信息的 JSON 列表。
- 数据集下载工具 (download_kaggle_dataset): 根据数据集引用 (dataset_ref) 下载指定的 Kaggle 数据集到服务器本地,并自动解压。
- EDA Prompt 生成 (generate_eda_notebook): 为指定 Kaggle 数据集生成一个用于创建 EDA Notebook 的 Prompt,指导 LLM 生成 Python 代码,进行数据加载、缺失值检查、可视化和基本统计分析。
安装步骤
-
克隆仓库:
git clone https://github.com/arrismo/kaggle-mcp cd kaggle-mcp -
创建并激活虚拟环境 (推荐):
python -m venv venv source venv/bin/activate # Linux/macOS # venv\Scripts\activate # Windows -
安装依赖:
pip install -r requirements.txt -
配置 Kaggle API 凭证:
- 方法 1 (推荐): 环境变量
- 复制 '.env.example' 文件并重命名为 '.env'。
- 打开 '.env' 文件,填入你的 Kaggle 用户名和 API 密钥。API 密钥可以在 Kaggle 个人账户页面的 "Account" -> "API" -> "Create New API Token" 中生成。
KAGGLE_USERNAME=your_kaggle_username KAGGLE_KEY=your_kaggle_api_key - 方法 2: 'kaggle.json' 文件
- 从 Kaggle 账户下载 'kaggle.json' 文件。
- 将 'kaggle.json' 文件放置在指定路径,通常为 '~/.kaggle/kaggle.json' (Linux/macOS) 或 'C:\Users<Your User Name>.kaggle\kaggle.json' (Windows)。
- 方法 1 (推荐): 环境变量
服务器配置
以下 JSON 配置信息用于 MCP 客户端 (如 Claude Desktop) 连接到 Kaggle MCP Server。您需要根据实际情况修改 '<path to kaggle-mcp/server.py>' 和 '<path to dataset folder in repository>' 为服务器脚本 'server.py' 的绝对路径和数据集存储目录的绝对路径。
{ "mcpServers": { "kaggle-mcp": { "command": "uv", "args": [ "run", "<path to kaggle-mcp/server.py>" // 修改为 server.py 脚本的绝对路径 ], "cwd": "<path to dataset folder in repository>" // 修改为数据集存储目录的绝对路径 (例如,仓库目录下的 datasets 文件夹) } } }
基本使用方法
-
启动服务器: 在虚拟环境激活状态下,运行以下命令启动 MCP 服务器:
mcp run server.py服务器启动后,将注册资源、工具和 Prompt,并等待 MCP 客户端连接。
-
客户端交互: 使用 MCP 客户端 (例如配置 Claude Desktop 后),即可通过自然语言指令或客户端界面调用服务器提供的工具和 Prompt。例如:
-
客户端指令: "Search Kaggle for datasets about 'heart disease'"
- 服务器执行: 'search_kaggle_datasets(query='heart disease')',返回 Kaggle 上关于心脏病数据集的搜索结果。
-
客户端指令: "Download the dataset 'user/heart-disease-dataset'"
- 服务器执行: 'download_kaggle_dataset(dataset_ref='user/heart-disease-dataset')',下载并解压该数据集到服务器本地目录。
-
客户端指令: "Generate an EDA notebook prompt for 'user/heart-disease-dataset'"
- 服务器执行: 'generate_eda_notebook(dataset_ref='user/heart-disease-dataset')',返回一个用于生成 EDA Notebook 的 Prompt 消息。
-
客户端获取 Prompt 后,可以将其发送给代码生成模型,生成相应的 EDA Python 代码。
-
信息
分类
AI与计算