关于 mcp-ml-lab
mcp-ml-lab 是一个 MCP 服务,让 AI Agent 对 CSV 数据执行端到端分类实验,使用 XGBoost、LightGBM,并可通过 Optuna 调参。它还会保存实验记录并生成比较报告。
主要功能
- 01分析 CSV 数据
- 02定义分类任务
- 03训练 XGBoost 和 LightGBM 模型
- 04使用 Optuna 调参
- 05生成报告并比较实验
- 06在 SQLite 中保存实验
适用场景
- 01检查 CSV 的空值和类别不平衡
- 02比较数据集上的调参模型
- 03查看特征重要性和实验指标
MCP 相关
它向 MCP 客户端提供五种工具,用于检查数据、定义任务、运行实验、获取结果和比较实验。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
mcp-ml-lab
让 AI Agent 端到端运行真实的机器学习实验。
一个 MCP 服务,赋予 Claude(或任何支持 MCP 的 AI Agent)以下能力:分析 CSV、定义机器学习任务、使用 Optuna 调优 XGBoost 和 LightGBM,并生成包含特征重要性的 Markdown 报告——所有操作均可通过自然语言完成。
为什么要做这个项目
现有与机器学习相关的 MCP 服务都只是封装 MLflow、ZenML 或 Weights & Biases,并以只读方式提供功能——Agent 可以浏览实验历史,却无法真正运行任何内容。mcp-ml-lab 填补了这一空白:它让 Agent 能够根据用户的自然语言请求,执行完整的实验流程。
用户输入“在 titanic.csv 上训练一个模型来预测生存情况”时,不应该需要了解 XGBoost 是什么、什么是交叉验证,或如何编写超参数搜索。Agent 会处理所有这些事情——mcp-ml-lab 是实现这一目标的工具层。
快速开始
pip install mcp-ml-lab
添加到你的 Claude Desktop 配置中(macOS 上为 ~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"ml-lab": {
"command": "mcp-ml-lab"
}
}
}
重启 Claude Desktop。现在即可使用以下五个工具。
示例查询
在已连接 mcp-ml-lab 的 Claude Desktop 中试试这些问题:
- “分析这个 CSV,并告诉我是否存在类别不平衡”
- “用 60 秒调优时间,比较 XGBoost 和 LightGBM 在 titanic.csv 上的表现”
- “告诉我获胜模型使用的排名前 10 的特征”
- “我的最近三次 wine 数据集实验结果如何?”
工具
| 工具 | 功能 |
|---|---|
inspect_data | 分析 CSV——形状、数据类型、空值、汇总统计、类别平衡情况 |
define_task | 注册机器学习任务(CSV + 目标列 + 分类/回归) |
run_experiment | 训练一个或多个模型,可选使用 Optuna 调优 |
get_results | 生成包含指标、超参数和特征重要性的 Markdown 报告 |
compare_runs | 并排比较多个实验 |
每个工具的完整签名都写在其文档字符串中,并会自动向大模型说明自身功能。
工作原理
Claude Desktop ───MCP/stdio─── mcp-ml-lab server
│
├── data.py CSV loading, schema inference, preprocessor
├── trainers/ Pluggable XGBoost + LightGBM adapters
├── search.py Stratified CV + Optuna TPE tuning
├── metrics.py Accuracy, F1, AUC, log loss
├── storage.py SQLite via SQLAlchemy 2.0
└── reporting.py Markdown report generation
所有实验和试验都会保存到 ~/.mcp-ml-lab/store.db,以便 Agent 在不同会话中引用之前的运行记录。
完整的设计说明请参阅 ARCHITECTURE.md。
路线图
v0.1.0 支持使用 XGBoost 和 LightGBM 进行分类。计划在 v0.2.0 及更高版本中推出:
- 回归任务
- 时间序列预测(集成 sktime / darts)
- 深度学习基线(pytorch-tabular)
- Optuna 多目标搜索(准确率 × 延迟 × 模型大小)
- 持久化模型产物,并支持通过 Docker 复现
- 排列特征重要性(相比增益重要性,不存在偏差)
- 导出 Notebook——生成可复现获胜运行的 Jupyter Notebook
欢迎提交问题和 PR。
开发
git clone https://github.com/rohithraju-ops/mcp-ml-lab.git
cd mcp-ml-lab
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
pytest -v
使用 MCP Inspector 进行本地调试最为方便:
npx @modelcontextprotocol/inspector mcp-ml-lab
许可证
MIT。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。