raspa mcp
       
一夜之间,将任何人工智能代理变成分子模拟专家。
______________________________________________________________________
为什么是raspa mcp?
正确运行RASPA2需要深厚的专业知识:选择正确的集成、设置晶胞复制、选择力场、验证埃瓦尔德求和参数以及解析Fortran风格的输出文件。从历史上看,这种知识只存在于计算化学家的头脑中,而不存在于其他任何地方。
raspa-mcp 将该专业知识编码为 20个结构化MCP工具 --涵盖RASPA2支持的每种主要仿真类型,以便LLM代理 羽状流 可以在没有人为干预的情况下自主设计、验证、执行和解释分子模拟。
______________________________________________________________________
功能概览
模拟模板(12种类型)
| 模板 | 目的 |
|---|---|
GCMC | 大正则蒙特卡罗吸附等温线 |
Widom | Widom试验粒子插入——无限稀释下的亨利系数 |
VoidFraction | 氦气空隙率(GCMC的先决条件) |
NVT-MC | 固定N蒙特卡罗——组态采样,RDF |
NPT-MC | 可变体积MC——平衡密度,柔性电池 |
MD | NVT分子动力学——扩散、传输 |
NPT-MD | 恒压MD——热膨胀 |
NVE-MD | 微正则MD——节能标杆 |
GCMCMixture | 二元混合物GCMC——共吸附、选择性 |
CBMC | 构型偏差MC——链/柔性分子(C4+) |
TI | 热力学积分——自由能ΔA |
FlexibleMD | 柔性框架MD--呼吸、开门 |
输出解析(7个解析器)
- 吸附负荷 --mol/kg,mg/g,cm³(STP)/g,分子/uc,±误差
- 等位热Qst --能量波动\[kJ/mol\]
- 亨利系数&μ_ex --从Widom插入,−RT ln(W)
- 氦空隙率 --直接提取
- 径向分布函数g(r) --全r/g(r)阵列峰值检测
- MSD → 扩散系数 --通过爱因斯坦关系(NumPy线性拟合,后50%的轨迹)计算自D_s和集体D_c
- 三维密度网格 --从中提取二维切片
.grid文件 - 热力学积分 --梯形∫⟨∂U/∃λ⟩dλ→ ΔA\[kJ/mol\]
- 多组分混合物 --具有向后兼容性的每个组件加载
分析工具
- 选择性S_AB —
(x_A/x_B) / (y_A/y_B)来自混合物载荷 - 等温绘图 --单和多MOF比较PNG(matplotlib)
- 密度切片绘图 --基于3D网格数据的热图PNG
内置知识库
- 6个分子:CO2、N2、CH4、H2O、氦气、正丁烷(TraPPE/SPC-E)
- 5个力场:TraPPE-CO2/N2/CH4/H2O、UFF——具有混合规则、伪原子定义
- 输入验证器 --RASPA2运行前捕获20多个常见错误
- 环境检查器 --在服务器启动时报告RASPA2准备就绪
______________________________________________________________________
安装
0.安装uv(如果还没有)
# Linux / macOS
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows (PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"紫外线 是一个快速的Python包管理器。它取代了pip+venv使用单个工具自动处理Python版本。
1.克隆并安装Python包
git clone https://github.com/lichman0405/raspa-mcp
cd raspa-mcp
uv syncuv sync 在下面创建虚拟环境 .venv/,固定Python版本(3.11+),并安装所有依赖项——无需手动 venv 或 pip 需要。
2.编译和配置RASPA2(一次性设置)
uv run python -m raspa_mcp.installer这个命令:
- 检查生成工具(
git,gcc,make,autoconf,automake,libtool)以及 自动安装任何缺失的内容 通过apt-get/dnf/yum/brew等等 - 克隆 并从源代码编译
- 安装到
~/.local/raspa2默认情况下(用覆盖--prefix) - 写入
RASPA_DIR和PATH自动导出到shell RC文件
# custom install prefix:
uv run python -m raspa_mcp.installer --prefix /opt/raspa2
# force reinstall even if already present:
uv run python -m raspa_mcp.installer --force命令执行完毕后,重新加载shell:
source ~/.bashrc # or ~/.zshrc, ~/.profile, etc.兼容性:在Ubuntu 24.04(GCC 14)上测试。安装程序会自动应用 -std=gnu11 以及其他编译器标志,以解决现代GCC版本上RASPA2源代码树中的已知问题。RASPA2来源: \ 参考文献:D.Dubbeldam、S.Calero、D.E.Ellis、R.Q.Snurr, *西蒙分子。* 42, 81–101 (2016)
______________________________________________________________________
快速入门——羽毛流
使用一个命令注册raspa-mcp(在featherflow项目目录中运行):
featherflow config mcp add raspa2 \
--command uv \
--arg run \
--arg --directory \
--arg /path/to/raspa-mcp \
--arg raspa-mcp \
--lazy \
--description "RASPA2 molecular simulation: GCMC, MD, adsorption isotherms, force fields, output parsing" \
--timeout 600--lazy:raspa-mcp公开了20个工具——懒惰模式注册了一个网关入口点,而不是预先注册所有工具,从而降低了每次调用LLM令牌的成本。\--timeout 600RASPA2模拟可能需要几分钟;featherflow建议科学计算MCP服务器使用300-600秒。
验证:
featherflow config mcp list您的代理现在可以自主地:
User: Study CO2 adsorption in ZIF-8 at 298 K from 0.1 to 50 bar.
Agent:
1. raspa-mcp.get_simulation_template("VoidFraction") → run RASPA2
2. raspa-mcp.parse_raspa_output(...) → void fraction = 0.47
3. raspa-mcp.get_simulation_template("GCMC") → fill placeholders × 7 pressures
4. raspa-mcp.validate_simulation_input(...) → clean
5. shell_exec → RASPA2 × 7
6. raspa-mcp.parse_raspa_output(...) → isotherm data
7. raspa-mcp.plot_isotherm(...) → ZIF-8_CO2.png
8. feishu-mcp.upload_file_and_share(...) → report delivered不需要人为干预。
______________________________________________________________________
MCP工具参考
| 工具 | 类别 |
|---|---|
list_simulation_types | 发现 |
get_simulation_template | 输入生成 |
get_parameter_docs | 输入生成 |
list_available_forcefields | 力场 |
get_forcefield_files | 力场 |
recommend_forcefield | 力场 |
list_available_molecules | 分子 |
get_molecule_definition | 分子 |
create_workspace | 工作区 |
validate_simulation_input | 验证 |
parse_raspa_output | 输出解析 |
parse_rdf_output | 输出解析 |
parse_msd_output | 输出解析 |
parse_ti_output | 输出解析 |
parse_density_grid | 输出解析 |
calculate_selectivity | 分析 |
plot_isotherm | 可视化 |
plot_isotherm_comparison | 可视化 |
plot_density_slice | 可视化 |
check_raspa2_environment | 环境 |
generate_force_field_def | 自定义工作流 |
generate_force_field_mixing_rules_def | 自定义工作流 |
generate_pseudo_atoms_def | 自定义工作流 |
generate_molecule_def | 自定义工作流 |
inspect_cif | 自定义工作流 |
recommend_supercell | 自定义工作流 |
preflight_workspace | 自定义工作流 |
get_workflow_recipe | 自定义工作流 |
______________________________________________________________________
自定义所有工作流程
当你携带自己的CIF、力场和分子时 定义,上面的工具为每个RASPA2文件提供了安全的构建器 预期:
inspect_cif(cif) → formula, cell, charges, overlap warnings
recommend_supercell(cif, 12) → UnitCells line + ChargeMethod hint
create_workspace(work, name, cif)
generate_force_field_def(work) # safe "3 zeros" overwrite file
generate_force_field_mixing_rules_def(work, atom_types=[...]) # LJ ε/σ
generate_pseudo_atoms_def(work, atoms=[...]) # atom registry
generate_molecule_def(work, "MyAdsorbate", ...) # per-molecule .def
preflight_workspace(work) # cross-file sanityforce_field.def≠force_field_mixing_rules.def. 第一个文件是 *覆盖规则* (几乎使用“3个零”的最小值 每一份工作)。第二个文件是Lennard Jonesε/σ所在的位置。把它们混合起来 是导致神秘感的最常见原因:#解析RASPA2中的错误。 生成器为两者发出正确的格式。
进行端到端的配方调用 get_workflow_recipe("custom_mof_gcmc").
所有写入操作都在沙盒中 RASPA_MCP_WORKSPACE_BASE (默认值 ~/raspa_workspaces)--拒绝该根以外的路径。
______________________________________________________________________
测试
uv run pytest tests/ -q # 41 tests, ~1.5 s
uv run ruff check raspa_mcp/ tests/______________________________________________________________________
建筑
raspa-mcp/
├── raspa_mcp/
│ ├── server.py # 20 MCP tools (FastMCP, stdio transport)
│ ├── parser.py # Output parsers (loading, RDF, MSD, TI, density)
│ ├── validator.py # Input validator (20+ rule checks)
│ ├── installer.py # RASPA2 env detection + source build + raspa-mcp-setup CLI
│ └── data/
│ ├── templates.py # 12 simulation.input templates
│ ├── molecules.py # 6 molecule definitions + metadata
│ └── forcefields.py # 5 force field file sets
├── tests/
│ └── test_server.py # 41 unit tests
└── docs/
└── workflow.md # Full autonomous research workflow walkthrough______________________________________________________________________
完整的业务工作流程
看 docs/workflow.md 使用featherflow+raspa mcp+RASPA2+feishu mcp对自主MOF筛查研究进行完整的端到端演练,从单个聊天消息到交付给feishu的排名报告——大约120-140次工具调用,零人工步骤。
______________________________________________________________________
许可证
麻省理工学院
______________________________________________________________________
