RELION MCP服务器v3
允许AI代理驱动的MCP(模型上下文协议)服务器 RELION 5.x 低温电磁结构测定的金标准软件。
经过测试和验证 与Ubuntu 24.04(WSL2)上的RELION 5.0.1相反。所有CLI标志均已根据实际情况进行验证 --help 输出。它的作用
AI代理(Claude Code、OpenClaw、NemoClaw等)可以通过自然语言处理低温EM数据:
You: "Import the movies from Movies/*.tiff, 200 kV, pixel size 0.885 Å, then run motion correction"
Agent: → relion_import(..., confirm=False) → shows parameter preview
You: "Looks good, launch it"
Agent: → relion_import(..., confirm=True) → job runs (instant)
→ relion_motioncorr(..., confirm=False) → preview
You: "Ok go"
Agent: → relion_motioncorr(..., confirm=True) → 🚀 Launched (PID 12345)
→ relion_job_status("MotionCorr/job001") → 🔄 RUNNING
→ relion_job_status("MotionCorr/job001") → ✅ COMPLETED服务器暴露 23工具 覆盖完整的单颗粒分析管道。
主要特点
1.发布前预览
每个管道工具: confirm=False 显示所有参数(✏️ 用户/📋 教程默认值/❌ 失踪/⬜ 可选), confirm=True 启动作业。
2.无阻塞后台执行
所有长时间运行的作业都通过分离启动 Popen 并立即返回PID。监视器 relion_job_status 和 relion_job_logs.
3.GPU支持
Class2D、InitialModel、Class3D和Refine3D都公开了 --gpu 用于GPU加速。
4.脸红规律化
RELION 5的神经网络先验可在Class3D和Refine3D上通过 use_blush=True.
5.VDAM算法
Class2D和InitialModel通过以下方式支持VDAM梯度算法 use_vdam=True,MPI=1验证。
6.现场旗帜发现
relion_help 跑 relion_* --help 实时进行关键字过滤。
建筑
AI Agent (Claude Code / OpenClaw / NemoClaw)
│
│ stdio or HTTP
▼
RELION MCP Server v2.1 (Python)
│
│ Popen (detached) subprocess.run (short jobs)
▼ ▼
RELION 5.x binaries relion_import, relion_help
(background, non-blocking) (synchronous, fast)工具
管道工具(16个工具-全部带预览/确认)
| 工具 | 二进制 |
|---|---|
relion_import | relion_import |
relion_motioncorr | relion_run_motioncorr |
relion_ctffind | relion_run_ctffind |
relion_autopick | relion_autopick |
relion_extract | relion_preprocess |
relion_class2d | relion_refine |
relion_initial_model | relion_refine --denovo_3dref |
relion_class3d | relion_refine |
relion_refine3d | relion_refine |
relion_mask_create | relion_mask_create |
relion_postprocess | relion_postprocess |
relion_ctf_refine | relion_ctf_refine |
relion_bayesian_polishing | relion_motion_refine |
relion_blush | relion_python_blush |
relion_local_resolution | relion_postprocess --locres |
relion_modelangelo | relion_python_modelangelo |
只读工具(7个工具)
| 工具 | 说明 |
|---|---|
relion_project_info | 项目概况 |
relion_read_star | 解析STAR文件 |
relion_job_status | 作业状态+PID检测+stderr尾部 |
relion_job_logs | 从后台作业读取stdout/stderr |
relion_suggest_next_step | 推荐下一步(14步流程) |
relion_run_command | 运行任何 relion_* 二进制(逃生舱) |
relion_help | 解析 --help 任何RELION二进制文件的输出 |
教程默认值(EMPIAR-10204)
所有默认值都与RELION 5β-半乳糖苷酶教程相匹配:
| 步骤 | 关键默认值 |
|---|---|
| 进口 | 200 kV,0.885Å,Cs 1.4,Q0 0.1 |
| MotionCorr | 剂量1.277,贴片5×5,bfactor 150,float16,save_ps |
| CTF.512号信箱,30-5号哦,dF 5000-50000,dAst 100, use_given_ps=真 | |
| 自动选择。LoG,150-180哦, 上限阈值=5,最大值=20 | |
| 提取 | 框256→ 64,反向,bg_radius 200 |
| 2D类 | K=50,T=2,掩模200,CTF,中心 |
| 初始型号 | VDAM 100小批量,T=4,C1+应用_符号_水 |
| Class3D | K=4,T=4,C1,最小高度50,healpix 2 |
| Refine3D | D2,最大值50,MPI=3(奇数≥3),池30 |
| 掩模 | 低通15, 阈值0.01,扩展3,软边8 |
| 后处理 | 自动B因子,auto_lowres 10 |
| CTF优化 | 默认情况下关闭所有标志(多通道工作流) |
| 抛光 | 训练/抛光模式,西格玛级别/div/acc,浮动16 |
先决条件
- RELION 5.x 编译和in
PATH - Python≥3.10
- MCP Python SDK:
pip install mcp pydantic- mcp>=1.0.0 - 媒染剂>=2.0.0 - uvicorn>=0.30.0(适用于HTTP模式)
安装
git clone https://github.com/kdursunnizam-art/relion-mcp-server.git
cd ~/relion-mcp-server用法
使用Claude Code(使用Claude-mcp命令,无需手动配置Claude.json)
用于stdio(本地使用)
从终端运行以下命令:
claude mcp add-json relion '{"command":"python3","args":["/path/to/relion-mcp-server/relion_mcp.py"],"env":{"RELION_PROJECT_DIR":"/path/to/data/relion_tutorial"}}' --scope user验证它是否已注册:
claude mcp list要删除和重新配置:
claude mcp remove relion注意:--scope user使服务器在所有项目中都可用。
对于http使用(远程)实验
- 在终端中手动启动服务器
cd /path/to/relion-mcp-server
source venv/bin/activate
export RELION_PROJECT_DIR=/path/to/data/relion_tutorial
python relion_mcp.py --transport streamable-http --port 8000 --host 0.0.0.0保持这个终端打开。
- 将服务器添加到Claude Desktop
claude mcp add --transport http relion http://YOUR.IP.ADRESS:8000/mcp --scope user- 验证
claude mcp list应显示带有可传输的http和URL的relionhttp://127.0.0.1:8000/mcp.
- 重新启动Claude Desktop并进行测试。
然后在克劳德代码中:
> Use relion_project_info to show the project status
> Import movies from Movies/*.tiff with pixel size 0.885, 200 kV, Cs 1.4
> Run motion correction with dose 1.277 e-/Ų/frame and gain ref Movies/gain.mrc
> Show me the Class2D parameters before running (agent calls with confirm=False)
> Change threads to 8 and launch (agent calls with confirm=True)使用OpenClaw和Claude Desktop
用于stdio(本地使用)
从终端运行以下命令:
openclaw mcp add --transport stdio --scope user relion --cmd python3 --args "/path/to/relion-mcp-server/relion_mcp.py" --env RELION_PROJECT_DIR="/path/to/data/relion_tutorial"验证它是否已注册:
openclaw mcp list或手动编辑claude_desktop_config.json(claude Dektop必须使用,仅在stdio中使用)
claude_desktop_config json Windows:%APPDATA%\\Claude\\Claude_desktop_config.json macOS:~/库/应用程序支持/Claude/Claude_desktop_config json
{
"mcpServers": {
"relion": {
"command": "python3",
"args": ["/path/to/relion-mcp-server/relion_mcp.py"],
"env": {
"RELION_PROJECT_DIR": "/path/to/data/projet_relion",
"RELION_THREADS": "4",
"RELION_MPI": "1"
}
}
}
}用于http(远程使用)
以HTTP模式启动服务器:
cd /path/to/relion_mcp.py/
source venv/bin/activate
export RELION_PROJECT_DIR=/data/my_project
python relion_mcp.py --transport streamable-http --port 8000 --host 0.0.0.0使用openclaw mcp命令进行配置
openclaw mcp add --transport http --scope user relion http://YOUR.IP.ADRESS:8000/mcp或者手动配置openclaw.json,包括stdio和http:
opencalw.json
"skills": {
"install": {
"nodeManager": "npm"
},
"entries": {
"mcp-integration": {
"enabled": true,
"config": {
"servers": [
{
"name": "relion-stdio",
"transport": "stdio",
"command": "python3",
"args": ["/path/to/relion-mcp-server/relion_mcp.py"],
"env": {
"RELION_PROJECT_DIR": "/path/to/data/projet_relion"
}
},
{
"name": "relion-http",
"transport": "streamable-http",
"url": "http://YOUR.IP.ADRESS:8000"
}
],
"toolPrefix": true
}
}
}
}配置
| 环境变量 | 描述 | 默认值 |
|---|---|---|
RELION_PROJECT_DIR | RELION项目目录 | 当前目录 |
RELION_BIN | RELION二进制文件的路径前缀 | (使用Path) |
RELION_THREADS | 默认线程数 | 4 |
RELION_MPI | 默认MPI进程 | 1 |
安全
- 仅
relion_*可执行文件可以运行(验证) - 无外壳注射:用途
subprocess.run没有shell=True - 相对于项目目录解析的文件路径
- 在HTTP模式下,服务器默认绑定到127.0.0.1。最好将--host 0.0.0.0更改为您自己的IP地址
- 预览/确认可防止意外启动作业
MCP SDK兼容性
此服务器设计用于 MCP SDK 1.26+ 具有以下约束:
- 不
lifespan(导致MCP SDK 1.26崩溃) - 不
ctx.report_progress(导致MCP SDK 1.26崩溃) - 所有工具功能
async没有Context参数 - 通过
python3 -m py_compile干净地
更新日志
v3.0(当前)
- 添加了68个缺失的参数,修复了11个默认值,3个MPI验证
- GPU支持 (
--gpu)关于Class2D、InitialModel、Class3D、Refine3D - 脸红 关于Class3D,Refine3D
- 虚拟数据存取法 在Class2D上,初始化模型(MPI=1验证)
- 抛光完全重写:训练/抛光模式、西格玛参数、opt_params
- 计算参数 因素:
--pool,--preread_images,--scratch_dir,--skip_padding - 2个新工具:
relion_local_resolution,relion_modelangelo - CTF精炼 固定:+波束倾斜,+fit_phase,+minres,默认全部为False
- 面具创建 已修复默认值以匹配教程
- 共23个工具
v2.1
- 后台执行:所有长时间运行的作业现在都通过以下方式启动
Popen(start_new_session=True)并立即返回PID。不再有代理阻塞。 relion_job_logs:实时从后台作业读取stdout/stderr的新工具relion_job_status增强的:检测PID是否处于活动状态,在故障时显示stderr尾部,区分RUNNING和IDLE(崩溃)relion_help:要运行的新工具relion_* --help并通过关键字过滤实时解析所有标志- 包装脚本(
run.sh)在每个job_dir中自动创建SUCCESS/FAILURE标记 - 共21个工具(7个只读+14个管道)
v2.0
- 预览/确认系统 在所有14个管道工具上
- 5个新工具:
relion_initial_model,relion_mask_create,relion_ctf_refine,relion_bayesian_polishing,relion_help - 已添加参数:bfactor、gain_rot/cflip、float16、save_ps、d_ast、相移、反转对比、白色/黑色灰尘、--ctf标志、center_classes、healpix_order、skip_griding、ref_correct_greyscale、MPI验证、auto_lowres/highres、mtf_angpix、skip_fsc_weighting
- 教程默认值 来自EMPIAR-10204(β-半乳糖苷酶)烘烤
- 共20个工具
v1.0
- 初始版本包含15个工具
- 根据RELION 5.0.1进行验证
经过测试
- RELION 5.0.1(提交cad71bf)
- Ubuntu 24.04 LTS(WSL2)
- Python 3.12,MCP SDK 1.26.0
- 克劳德代码2.1.89
- Openclaw 2026.4.2(提交d74a122)
- 教程数据集:β-半乳糖苷酶(EMPIAR-10204)
许可证
麻省理工学院-RELION本身就是GPLv2。此服务器仅通过其CLI与RELION交互。
