Kaggle自动化竞赛服务器

一个用于自动化参与Kaggle竞赛的MCP服务器,内置安全防护机制,提供竞赛管理、数据分析、模型训练和提交管理功能。

  • by prathpatel
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 ThePrathPatel/kaggle-mcp

使用说明

Kaggle MCP服务器

用于自主参与Kaggle竞赛的MCP(模型上下文协议)服务器,内置安全护栏。

特性

  • 竞争管理:列出、搜索和设置Kaggle竞赛
  • 数据分析:具有统计和列分析功能的自动EDA
  • 模型训练:使用多种模型类型进行交叉验证培训
  • 超参数调整:基于Optuna的自动超参数优化
  • 预测生成:生成并格式化提交文件
  • 提交管理:提交给Kaggle进行安全控制
  • 实验跟踪:基于SQLite的实验和运行跟踪

安全护栏

  • 每日提交限制(可配置)
  • 提交的批准要求
  • 测试的干运行模式
  • 培训时间限制
  • 计算资源的成本控制

安装

# Clone the repository
git clone <repo-url>
cd kaggle-mcp

# Create virtual environment
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

# Install dependencies
pip install -e .

配置

Kaggle API证书

设置您的Kaggle API证书:

  1. 首选https://www.kaggle.com/account
  2. 点击“新建API代币”
  3. 地方 kaggle.json 在 ~/.kaggle/

或设置环境变量:

export KAGGLE_USERNAME=your_username
export KAGGLE_KEY=your_api_key

MCP客户端配置

添加到您的MCP客户端配置中(例如,Claude Desktop):

{
  "mcpServers": {
    "kaggle": {
      "command": "python",
      "args": ["-m", "kaggle_mcp.server"],
      "cwd": "/path/to/kaggle-mcp"
    }
  }
}

可用工具

竞争工具

工具 说明
list_competitions 列出可用的Kaggle竞赛
setup_competition 为比赛设置工作区
get_leaderboard 查看比赛排行榜
get_my_submissions 查看您的提交历史记录

数据和培训工具

工具 说明
analyze_data 分析竞争数据
train_model 使用交叉验证训练模型
tune_hyperparameters 自动调整超参数
generate_predictions 生成测试预测

提交工具

工具 说明
submit_to_kaggle 提交预测(有保护)
get_status 查看当前状态和限制
configure_guardrails 调整安全设置

支持的模型

  • 逻辑回归
  • 随机森林
  • 梯度提升
  • Xgbooth
  • LightGBM
  • 线性/岭/拉索回归
  • 支持向量机
  • KNN

示例工作流程

1. list_competitions(search="titanic")
2. setup_competition(competition="titanic")
3. analyze_data(file_name="train.csv")
4. train_model(model_type="xgboost", target_column="Survived")
5. tune_hyperparameters(model_type="xgboost", target_column="Survived", n_trials=30)
6. train_model(model_type="xgboost", target_column="Survived", hyperparameters={...})
7. generate_predictions(run_id="abc123", id_column="PassengerId", prediction_column="Survived")
8. submit_to_kaggle(submission_file="path/to/submission.csv", message="XGBoost tuned")

项目结构

kaggle-mcp/
├── kaggle_mcp/
│   ├── __init__.py
│   ├── server.py          # MCP server and tools
│   ├── kaggle_api/        # Kaggle API wrapper
│   │   ├── client.py
│   │   └── models.py
│   ├── ml_runtime/        # ML training
│   │   ├── trainer.py
│   │   ├── models.py
│   │   └── features.py
│   ├── experiment/        # Experiment tracking
│   │   └── manager.py
│   └── guardrails/        # Safety controls
│       ├── submission.py
│       └── cost.py
├── main.py
├── pyproject.toml
└── README.md

许可证

麻省理工学院