kaggle-mcp 是一个 Model Context Protocol(MCP)服务器,将 Kaggle 数据集相关操作暴露给 Claude Desktop 等兼容 MCP 的客户端。它由 arrismo 开发并在 GitHub 上开源。以下内容依据项目资料整理。
用途 该服务器主要用于在 MCP 客户端中连接 Kaggle,实现数据集搜索、下载以及 EDA 提示生成。它适合需要在对话式客户端内快速查找和获取 Kaggle 数据集,并生成初步分析代码提示的场景。
主要能力
- 按关键词搜索 Kaggle 数据集,返回最多 10 条 JSON 格式结果,返回字段包括 usability_rating 等。
- 下载并解压 Kaggle 数据集。接受 dataset_ref 参数,格式为 owner/dataset-slug,例如 kaggle/titanic。download_path 为可选本地输出路径;若省略,文件保存到 ./datasets/<dataset_slug>/。
- 为指定 Kaggle 数据集引用生成基础 Python EDA 代码提示,提示内容涵盖数据加载、缺失值检查、可视化和汇总统计。
- 支持通过环境变量或标准 kaggle.json 文件提供 Kaggle 凭据。
- 可在本地、Docker 或通过 Smithery 运行。
使用方式 前置条件:需要一个 Kaggle 账号和 API token,以及一个兼容 MCP 的客户端。
获取 Kaggle 凭据:
- 访问 https://www.kaggle.com/settings。
- 选择 Create New API Token。
- 下载 kaggle.json。
凭据配置方式二选一:
- 方式一:环境变量。在项目根目录创建 .env 文件。
- 方式二:kaggle.json。将文件放到标准 Kaggle 位置:macOS/Linux 为 ~/.kaggle/kaggle.json,Windows 为 C:\Users<Your User Name>.kaggle\kaggle.json。在 macOS/Linux 上需确保文件不是全局可读。
安装与运行:
- 创建并激活虚拟环境。
- 安装依赖(项目资料列出多种方式,未提供具体命令内容)。
- 本地运行:可运行服务器模块直接启动。服务器通过 MCP stdio 通信,设计为由 MCP 客户端启动。
- Docker:构建镜像;使用 .env 中的凭据运行。
- Smithery:仓库包含 smithery.yaml,Smithery 通过 stdio 启动服务器并将配置值作为环境变量传入:kaggleUsername -> KAGGLE_USERNAME,kaggleKey -> KAGGLE_KEY。
Claude Desktop 配置: 打开 Claude Desktop 设置,进入 Developer > Edit Config,将服务器添加到 claude_desktop_config.json。若安装在项目环境中,按对应方式配置;若使用 kaggle.json,可省略 env 块。
示例工作流:
- 向 MCP 客户端提问:“Search Kaggle for heart disease datasets.”
- 客户端调用 search_kaggle_datasets。
- 从结果中选择数据集引用,例如 user/heart-disease-dataset。
- 提问:“Download user/heart-disease-dataset.”
- 提问:“Generate an EDA notebook prompt for user/heart-disease-dataset.”
项目结构:下载的数据集默认保存在 datasets/ 下,该目录在请求下载时于运行时创建。
适用场景与限制 适用于在 MCP 客户端内进行 Kaggle 数据集检索、下载和初步 EDA 提示生成的流程。限制方面,项目资料未提供具体限制说明;使用需自备 Kaggle 账号与 API token,并需要兼容 MCP 的客户端。