ML研究MCP
一个全面的模型上下文协议(MCP)服务器,为机器学习研究人员和开发人员提供研究生产力工具。
概述
ML Research MCP是一个可扩展的平台,为AI助手提供强大的科研工作流程工具。基于模型上下文协议,它能够与Claude Desktop等人工智能应用程序无缝集成,以自动化和增强各种研究任务。
当前状态:第1阶段-数据可视化 路线图:图像生成、演示工具、文献管理等
愿景与路线图
该项目旨在成为一个全面的研究助理,涵盖整个机器学习研究生命周期:
✅ 第一阶段:数据可视化(当前)
- 科学绘图 具有出版物质量输出
- 统计分析 可视化
- 二维数据表示 (热图、等高线图)
- 多种导出格式(PNG、PDF、SVG)
🚧 第2阶段:图像和图形生成(计划中)
- 人工智能驱动的数字生成 使用扩散模型
- 图表创建 用于建筑插图
- 图表增强 具有智能造型
- 多面板图形组成
🚧 第3阶段:演示工具(计划中)
- 幻灯片生成 从研究内容
- 海报创作 用于会议
- 自动化布局 优化
- 模板管理 机构品牌
🚧 第四阶段:研究管理(未来)
- 文献检索 和总结
- 引文管理 和格式化
- 实验跟踪 以及版本控制
- 协作工具 对于团队项目
当前功能(第1阶段)
数据可视化工具
基本绘图
plot_line-时间序列和连续数据可视化plot_scatter-具有尺寸/颜色映射的多维散点图plot_bar-分类比较(垂直/水平)
统计可视化
plot_histogram-密度估计的分布分析plot_box-统计汇总和异常检测plot_violin-KDE的详细分布形状
2D表示
plot_heatmap-带注释的矩阵可视化plot_contour-带有轮廓线的2D 3D数据plot_pcolormesh-大型数据集的快速伪彩色图
技术亮点
- 出版物质量输出 通过 UltraPlot
- 高性能数据处理 随着 波拉斯
- 灵活的输入 从CSV、JSON文件或直接数据
- 矢量和光栅格式 (PDF、SVG、PNG)
- 类型安全 经过全面验证
- 经过充分测试 通过48项测试
需求
- Python 3.12+
- 紫外线 包管理器
- MCP兼容客户端(克劳德桌面、VSCode等)
安装
Claude Code快速入门
使用一个命令将服务器添加到Claude Code中:
claude mcp add-json "ml-research" \
'{"command":"uvx","args":["--from","git+https://github.com/nishide-dev/ml-research-mcp","ml-research-mcp"]}'验证安装:
claude mcp listMCP客户端的手动安装
添加到您的MCP客户端配置中(例如。, ~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"ml-research": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/nishide-dev/ml-research-mcp",
"ml-research-mcp"
]
}
}
}使用uvx直接执行
无需安装即可直接运行服务器:
# From GitHub (recommended)
uvx --from "git+https://github.com/nishide-dev/ml-research-mcp" ml-research-mcp
# From local directory (for development)
cd /path/to/ml-research-mcp
uvx --from . ml-research-mcp面向开发者
克隆并设置开发环境:
git clone https://github.com/nishide-dev/ml-research-mcp.git
cd ml-research-mcp
uv sync
# Run in development mode
uv run ml-research-mcp快速开始
与Claude Desktop一起使用
安装后,您可以问Claude:
“根据experiment.csv创建显示温度随时间变化的折线图”
“生成相关矩阵的热图并另存为PDF”
绘制一个散点图,其中x=\[1,2,3,4\],y=\[2,4,6,8\],大小按\[10,20,30,40\]确定
用作图书馆
from ml_research_mcp.tools.plot_basic import plot_line
# Generate publication-quality plot
image = plot_line(
x=[1, 2, 3, 4, 5],
y=[1, 4, 9, 16, 25],
style={"title": "Quadratic Function", "xlabel": "X", "ylabel": "Y²"},
output={"format": "pdf", "width": 20, "height": 15, "dpi": 300}
)
# Save to file
with open("plot.pdf", "wb") as f:
f.write(image)示例图库
使用ML Research MCP生成的真实示例:
| 查询 | 结果 |
|---|---|
| 折线图 | |
| 创建一个折线图,显示温度随时间的变化,其中x=\[1,2,3,4,5,6\],y=\[2,4,3,5,6,7\] | |
| 散点图 | |
| “使用等离子颜色图绘制带有颜色和尺寸映射的散点图” | |
| 柱状图 | |
| “生成一个柱状图,比较a类到E类的绩效” | |
| 直方图 | |
| “创建具有密度归一化的直方图以进行分布分析” | |
| 小提琴图表 | |
| “制作一个小提琴图,比较对照组和治疗组” | |
| 热力图 | |
| “使用RdBu颜色图生成带注释的相关矩阵热图” |
所有绘图均使用出版物质量设置(150 DPI,可自定义尺寸)生成。
文档
可视化工具(第一阶段)
Basic Plotting Tools
绘图线
plot_line(
x: str | list[float],
y: str | list[float],
data_input: dict | None = None,
style: dict | None = None,
output: dict | None = None
) -> Image | bytes参数:
x,y:列名(如果使用文件)或数据数组data_input:{"file_path": "data.csv"}或{"data": {...}}style:{"title": "...", "xlabel": "...", "ylabel": "...", "grid": true}output:{"format": "png/pdf/svg", "width": 15, "height": 10, "dpi": 300}
plot_scatter
附加参数:
size:点大小(列名、数组或常量)color:点颜色(列名或数组)
plot_bar
附加参数:
orientation:"vertical"或"horizontal"
Statistical Tools
plot_直方图
plot_histogram(
data: str | list[float],
bins: int = 30,
density: bool = False,
...
)绘图框
plot_box(
data: str | list[list[float]],
labels: list[str] | None = None,
...
)plot_小提琴
类似于 plot_box 通过核密度估计。
2D Visualization Tools
plot_heatmap
plot_heatmap(
data: str | list[list[float]],
x_labels: list[str] | None = None,
y_labels: list[str] | None = None,
annotate: bool = False,
...
)plot_contour
plot_contour(
x: str | list[float],
y: str | list[float],
z: str | list[list[float]],
levels: int = 10,
filled: bool = True,
...
)plot_pcolormesh
具有着色选项的轮廓图的快速替代方案。
未来工具(计划中)
随着功能的实现,将添加文档。
发展
项目结构
ml-research-mcp/
├── src/ml_research_mcp/
│ ├── server.py # MCP server entry point
│ ├── data/ # Data I/O modules
│ ├── plotting/ # Phase 1: Visualization
│ ├── tools/ # MCP tool definitions
│ │ ├── plot_basic.py
│ │ ├── plot_statistical.py
│ │ └── plot_2d.py
│ ├── generation/ # Phase 2: Image generation (planned)
│ ├── presentation/ # Phase 3: Slides/posters (planned)
│ └── research/ # Phase 4: Research tools (planned)
├── tests/ # Comprehensive test suite
└── docs/ # Extended documentation (planned)运行服务器
# Development mode
uv run ml-research-mcp
# Or as module
uv run python -m ml_research_mcp.server测试
# All tests (48 tests, 100% pass rate)
uv run pytest
# With coverage report
uv run pytest --cov=src --cov-report=html
# Specific test suite
uv run pytest tests/test_plot_basic.py -v代码质量
# Format code
uv run ruff format .
# Lint and type check
uv run ruff check .
uv run ty check添加依赖关系
uv add
# Runtime dependency
uv add --dev
# Development dependency
uv lock --upgrade # Update lockfile建筑
当前设计(第一阶段)
Input Data (CSV/JSON/Array)
↓
Polars DataFrame Processing
↓
UltraPlot Rendering
↓
Output (PIL Image / bytes)未来建筑
该平台设计为模块化,每个研究工具类别都是一个单独的模块:
- 数据模块:统一数据加载(基于Polars)
- 可视化模块:当前绘图工具
- 发电模块:人工智能驱动的内容创作
- 表示模块:幻灯片和海报生成
- 研究模块:文献与实验管理
每个模块都公开了可以独立使用或组合在一起的MCP工具。
技术栈
电流(第1阶段)
计划的
- 用于图像生成的扩散模型(稳定扩散,DALL-E)
- LaTeX/Typst用于演示渲染
- 文献检索矢量数据库
- 更多取决于研究需要
贡献
我们欢迎在项目的各个阶段做出贡献!
当前优先事项
- ✅ 第一阶段可视化工具(完整)
- 🔨 其他绘图类型(3D、网络图等)
- 🚧 第二阶段规划和设计
如何做出贡献
- 克隆该仓库
- 创建要素分支
- 通过测试实施(保持100%的通过率)
- 确保质量检查通过:
uv run ruff format .
uv run ruff check .
uv run ty check
uv run pytest- 提交拉取请求
看 贡献.md (即将发布)以获取详细指南。
项目目标
- 全面的:涵盖从数据分析到发表的整个研究生命周期
- 高质量:符合专业标准的出版物输出
- 高效:利用现代Python工具快速执行
- 可扩展:易于添加新工具和集成
- AI友好:设计用于通过MCP无缝集成AI助手
测试与质量
- 48测试 涵盖所有第1阶段功能
- 100%通过率 全面覆盖
- 类型安全 带有完整的类型注释
- 粘有棉绒的 Ruff(零误差)
- 已记录 带有详细的文档字符串
许可证
MIT许可证-请参阅 许可证 文件以获取详细信息。
致谢
电流相位
灵感
- 基于Anthropic的模型上下文协议
- 现代科学Python生态系统
资源
______________________________________________________________________
状态:第1阶段(可视化)完成✅ | 规划阶段2(图像生成)🚧
对于功能请求或问题,请在GitHub上打开问题。
