机器学习工作流代理

一个基于模型上下文协议(MCP)的自主AI代理,用于端到端的机器学习工作流,包括数据读取、EDA、模型训练和特征工程等。

  • by ElFariss
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 ElFariss/data-science-mcp

使用说明

AI数据科学代理MCP服务器

一个用于端到端机器学习工作流程的自主AI代理,使用模型上下文协议(MCP)构建。

概述

此MCP服务器使AI助手(GitHub Copilot、Antigravity、Claude)能够执行全面的数据科学任务:

  • CSV数据集读取和分析 -自动加载和分析数据集
  • 自动化EDA -使用Markdown报告进行探索性数据分析
  • 模型训练 -4个领域的100多种模型架构
  • 特征工程 -比较不同的策略
  • 时间预算限制 -可配置的培训时间限制(默认3小时)
  • 多模型和混合支持 -集成和堆叠方法
  • 基本ML模式 -根据要求,仅限于更简单的型号

支持的域名

领域 模型
表格 线性、SVM、树、XGBoost、LightGBM、CatBoost、TabNet等。
时间序列 ARIMA、Prophet、LSTM、Transformer、混合动力车型
计算机视觉 ResNet、EfficientNet、ViT、YOLO、U-Net
自然语言处理 TF-IDF、BERT、RoBERTa、GPT、T5

安装

# Using uv (recommended)
cd data-science-mcp
uv pip install -e .

# Or with optional deep learning support
uv pip install -e ".[deep-learning]"

用法

运行服务器

# Stdio transport (for Copilot/Antigravity)
python -m src.server

# Or with uv
uv run ds-mcp

MCP工具可用

工具 说明
system_inspect 检查硬件(CPU、RAM、GPU)
ping 服务器健康检查
plan_strategy 分析数据集并提出策略
run_eda 生成全面的EDA报告
train_automatic 具有时间预算的全自动训练
train_with_eda 使用EDA报告指南进行培训
train_test_mode 快速模型基准测试
create_features 运行功能工程
evaluate_model 深度误差分析
create_ensemble 组合多个模型
generate_submission 创建提交文件

示例工作流程

# The AI agent should always pass 'output_dir' for absolute path resolution:

# 1. Check system capabilities
await system_inspect()

# 2. Analyze dataset and plan strategy
await plan_strategy(
    data_path="data/train.csv",
    output_dir="/abs/path/to/project"
)

# 3. Run EDA
await run_eda(
    data_path="data/train.csv",
    output_dir="/abs/path/to/project"
)

# 4. Train automatically (explicit 30 min timeout)
await train_automatic(
    data_path="data/train.csv",
    output_dir="/abs/path/to/project",
    timeout_minutes=30
)

# 5. Evaluate results
await evaluate_model(
    version="v0.1",
    output_dir="/abs/path/to/project"
)

# 6. Generate submission
await generate_submission(
    version="v0.1",
    output_dir="/abs/path/to/project"
)

时间预算配置

通话时 train_automatic,服务器使用MCP启发来询问:

  • 时间预算:培训时间(默认值:3)
  • 允许深度学习:启用基于GPU的模型
  • 仅限基本ML:仅限于更简单的型号

或者,代理人可以通过 timeout_minutes 直接跳过启发。

路径解析

为确保可靠性,所有工具都接受 output_dir 参数。这将指导服务器在哪里编写工件(报告、模型、提交)。服务器保证所有返回的路径 绝对的,相对于提供的解决方案 output_dir (或服务器的CWD(如果没有提供)。

项目结构

data-science-mcp/
├── src/
│   ├── server.py           # Main MCP server
│   ├── core/               # Version, Constraint, Dataset managers
│   │   ├── path_utils.py   # Path resolution utilities
│   │   └── ...
│   ├── eda/                # EDA modules (tabular, timeseries, vision, nlp)
│   ├── features/           # Feature engineering
│   ├── models/             # Model registry, selector, multi-model runner
│   ├── training/           # Training pipeline
│   ├── evaluation/         # Error analysis
│   ├── ensemble/           # Ensemble methods
│   └── submission/         # Submission generator
├── experiments/            # Experiment tracking
├── reports/                # EDA reports
└── pyproject.toml

许可证

麻省理工学院