Kaggle MCP服务器

一个与Kaggle API无缝集成的模型上下文协议(MCP)服务器,通过MCP兼容客户端(如Claude Desktop)与Kaggle竞赛、数据集、内核和模型进行交互。

  • by Seif-Sameh
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Seif-Sameh/Kaggle-mcp

使用说明

Kaggle MCP服务器

模型上下文协议(MCP)服务器,提供与Kaggle API的无缝集成。通过兼容MCP的客户端(如Claude Desktop)与Kaggle竞赛、数据集、内核和模型进行交互。

特性

  • 竞赛:列出、下载文件、提交、查看排行榜和提交
  • 数据集:使用版本控制搜索、下载、创建和管理数据集
  • 内核:列出、推送、拉取和管理Kaggle笔记本和脚本
  • 模型:使用完整版本控制创建、更新和管理ML模型和实例

安装

先决条件

  • Python 3.10或更高版本
  • 具有API证书的Kaggle帐户

从PyPI安装

建议使用以下方式运行服务器 uvx,它为您处理安装:

uvx mcp-server-kaggle

或者显式安装它:

pip install mcp-server-kaggle
# or
uv tool install mcp-server-kaggle

从源代码安装

对于开发或局部修改:

git clone https://github.com/Seif-Sameh/Kaggle-mcp.git
cd Kaggle-mcp
uv sync

设置

1.获取您的Kaggle API证书

  1. 首选 https://www.kaggle.com/account
  2. 滚动至“API”部分
  3. 点击“创建新令牌”
  4. 此下载 kaggle.json 使用您的凭据

2.配置凭据

选项A:环境变量(推荐)

export KAGGLE_USERNAME=your_username
export KAGGLE_API_KEY=your_api_key

或添加到您的 ~/.zshrc 或 ~/.bashrc:

echo 'export KAGGLE_USERNAME=your_username' >> ~/.zshrc
echo 'export KAGGLE_API_KEY=your_api_key' >> ~/.zshrc
source ~/.zshrc

选项B:使用.env文件

创建 .env 项目目录中的文件:

KAGGLE_USERNAME=your_username
KAGGLE_API_KEY=your_api_key

用法

使用克劳德桌面

推荐使用Kaggle MCP的方式是使用Claude Desktop。

  1. 找到您的Claude Desktop配置文件:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • 窗户: %APPDATA%\Claude\claude_desktop_config.json
    • Linux: ~/.config/Claude/claude_desktop_config.json
  2. 添加Kaggle MCP服务器配置:

{
  "mcpServers": {
    "kaggle": {
      "command": "uvx",
      "args": ["mcp-server-kaggle"],
      "env": {
        "KAGGLE_USERNAME": "YOUR_KAGGLE_USERNAME",
        "KAGGLE_API_KEY": "YOUR_KAGGLE_API_KEY"
      }
    }
  }
}
Running from a local source clone (alternative)
{
  "mcpServers": {
    "kaggle": {
      "command": "uv",
      "args": [
        "--directory",
        "/ABSOLUTE/PATH/TO/Kaggle-mcp",
        "run",
        "mcp-server-kaggle"
      ],
      "env": {
        "KAGGLE_USERNAME": "YOUR_KAGGLE_USERNAME",
        "KAGGLE_API_KEY": "YOUR_KAGGLE_API_KEY"
      }
    }
  }
}
  1. 重新启动克劳德桌面

  2. 通过Claude开始使用Kaggle!

试着问克劳德:

  • “列出Kaggle的最新比赛”
  • “下载泰坦尼克号数据集”
  • “显示我最近提交的参赛作品”
  • “搜索NLP数据集”

独立使用

直接运行MCP服务器:

mcp-server-kaggle

或者作为Python模块:

python -m kaggle_mcp

可用工具

竞赛(8种工具)

工具 说明
competitions_list 列出并搜索可用的比赛
competition_list_files 列出比赛中的所有文件
competition_download_file 下载特定的竞赛文件
competition_download_files 下载所有竞赛文件
competition_submit 向竞赛提交预测
competition_submissions 查看您的提交历史记录
competition_leaderboard_view 查看比赛排行榜
competition_leaderboard_download 下载排行榜数据

数据集(10个工具)

工具 说明
datasets_list 搜索和过滤数据集
dataset_metadata 获取数据集元数据
dataset_list_files 列出数据集中的文件
dataset_status 检查数据集处理状态
dataset_download_file 下载特定的数据集文件
dataset_download_files 下载所有数据集文件
dataset_create 创建新数据集
dataset_initialize 初始化数据集元数据
dataset_create_version 创建新的数据集版本

内核(7个工具)

工具 说明
kernels_list 搜索和过滤内核
kernel_list_files 列出内核中的文件
kernel_initialize 初始化内核元数据
kernel_push 将内核推送到Kaggle
kernel_pull 下载内核
kernel_output 下载内核输出文件
kernel_status 检查内核执行状态

模型(14工具)

工具 说明
models_list 搜索和筛选模型
model_get 获取模型详细信息和元数据
model_initialize 初始化模型元数据
model_create 创建新模型
model_update 更新型号信息
model_delete 删除模型
model_instance_get 获取模型实例详细信息
model_instance_initialize 初始化模型实例元数据
model_instance_create 创建新模型实例
model_instance_update 更新模型实例
model_instance_delete 删除模型实例
model_instance_version_create 创建新模型版本
model_instance_version_download 下载模型版本
model_instance_version_delete 删除模型版本

例子

示例1:与竞争对手合作

问克劳德:

"List active Kaggle competitions about computer vision"

克劳德将使用 competitions_list 搜索和显示相关比赛的工具。

示例2:下载数据集

问克劳德:

"Download the Titanic dataset to my Downloads folder"

克劳德将使用 dataset_download_files 以获取所有数据集文件。

示例3:参加比赛

问克劳德:

"Submit my predictions.csv to the Titanic competition with the message 'Initial baseline model'"

克劳德将使用 competition_submit 上传您的提交。

许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。