关于 OpenMM MCP Server
OpenMM MCP Server 是一个面向分子动力学模拟的 MCP 服务,基于 OpenMM,并集成 Abacus DFT 计算。它通过自然语言接口提交、管理和执行模拟任务,适合计算化学与生物物理领域的研究人员。
主要功能
- 01OpenMM 模拟的创建与控制
- 02Abacus DFT 量子力学计算集成
- 03预设蛋白质与膜体系模拟模板
- 04支持 CUDA、OpenCL 与 CPU 平台
- 05异步任务执行与状态查询
适用场景
- 01创建水分子或蛋白质的分子动力学模拟
- 02设置膜蛋白模拟并调整压力控制参数
- 03通过命令查询与分析已完成的模拟任务
MCP 相关
该服务向 MCP 客户端暴露模拟创建、任务控制与结果分析等工具,使 LLM 能够通过自然语言调用 OpenMM 与 Abacus。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
OpenMM MCP 服务
🧬 OpenMM 与 Abacus MCP 服务
一个全面的模型上下文协议(MCP)服务,使用 OpenMM 进行分子动力学模拟,并使用 Abacus 进行 DFT 计算。此服务通过大模型集成,为复杂的分子模拟提供自然语言界面。
✨ 功能
- 完整的 OpenMM 集成:支持所有 OpenMM 功能,包括高级积分器、压强耦合器和约束
- DFT 计算:集成 Abacus DFT 引擎,用于量子力学计算
- 预配置模板:提供可直接使用的蛋白质模拟、膜系统等配置
- 高级采样:元动力学、自由能计算和增强采样方法
- GPU 加速:支持 CUDA 和 OpenCL 平台,实现高性能计算
- 任务管理:异步执行任务,并支持持久化和监控
- 自然语言界面:使用简单的英文命令与复杂的模拟进行交互
🚀 快速开始
安装
# Clone the repository
git clone <repository_url>
cd openmm-mcp-server
# Install dependencies
pip install -r requirements.txt
# Optional: Install OpenMM for actual simulations
conda install -c conda-forge openmm
# Test installation
python test_mcp_server.py
Roo Code 集成
将以下内容添加到 Code/Cline/Claude MCP 设置中:
{
"mcpServers": {
"openmm-server": {
"command": "python",
"args": ["run_openmm_server.py"],
"cwd": "path-to\\openmm-mcp-server",
"alwaysAllow": [
"create_md_simulation",
"create_advanced_md_simulation",
"setup_protein_simulation",
"setup_membrane_simulation",
"create_dft_calculation",
"control_simulation",
"get_task_status",
"list_all_tasks",
"analyze_results"
]
}
}
}
重要:将路径替换为你的实际项目路径!
🛠️ 可用工具
基本工具
create_md_simulation- 创建简单的 MD 模拟create_dft_calculation- 创建 DFT 计算control_simulation- 控制模拟执行(开始/停止/暂停)get_task_status- 检查任务状态list_all_tasks- 列出所有任务analyze_results- 分析模拟结果
高级工具
create_advanced_md_simulation- 支持完整的 OpenMM 功能(50 多个参数)setup_protein_simulation- 使用预配置模板设置蛋白质模拟setup_membrane_simulation- 设置膜蛋白模拟
💬 使用示例
简单水模拟
"Run a molecular dynamics simulation of a water molecule at 300K for 10000 steps"
高级蛋白质模拟
"Set up a protein production simulation for 100 nanoseconds at physiological temperature 310K, using Amber19 force field with TIP3P-FB water model, 0.15M salt concentration, and GPU acceleration"
膜蛋白模拟
"Create a POPC membrane protein simulation for 50 nanoseconds with surface tension control"
📊 OpenMM 参数参考
积分器
LangevinMiddle- Langevin 中间积分器(推荐)Verlet- Verlet 积分器(NVE 系综)Brownian- 布朗动力学VariableLangevin- 可变步长 LangevinVariableVerlet- 可变步长 VerletNoseHoover- Nose-Hoover 恒温器
力场
- Amber14:
["amber14-all.xml", "amber14/tip3pfb.xml"] - Amber19:
["amber19-all.xml", "amber19/tip3pfb.xml"] - CHARMM36:
["charmm36_2024.xml", "charmm36/water.xml"]
水模型
tip3p- TIP3P 水模型tip3pfb- TIP3P-FB 水模型(推荐)tip4pew- TIP4P-Ew 水模型spce- SPC/E 水模型
平台
CUDA- NVIDIA GPU(速度最快)OpenCL- 通用 GPUCPU- CPU 计算Reference- 参考实现
非键合方法
PME- 粒子网格 Ewald(推荐用于周期性系统)NoCutoff- 无截断(小型系统)CutoffNonPeriodic- 非周期性截断CutoffPeriodic- 周期性截断Ewald- 传统 Ewald 求和
约束
None- 无约束HBonds- 氢键约束(推荐)AllBonds- 所有键约束HAngles- 氢键角约束
压强耦合器
MonteCarloBarostat- 各向同性压强控制MonteCarloAnisotropicBarostat- 各向异性压强控制MonteCarloMembraneBarostat- 膜系统压强控制
精度
mixed- 混合精度(推荐)single- 单精度double- 双精度
🔧 配置
环境变量:
export TASK_DATA_DIR="./simulation_data"
export MAX_CONCURRENT_TASKS=4
export DEFAULT_OPENMM_PLATFORM="CUDA"
export LOG_LEVEL="INFO"
export LOG_FILE="./mcp_server.log"
📁 项目结构
openmm-mcp-server/
├── run_openmm_server.py # Startup script
├── test_mcp_server.py # Test script
├── requirements.txt # Dependencies
├── README.md # English documentation
├── README_CN.md # Chinese documentation
├── src/
│ ├── server_new.py # Main server
│ ├── advanced_md_tools.py # Advanced MD tools
│ ├── task_manager.py # Task management
│ ├── openmm_engine.py # OpenMM engine
│ ├── abacus_engine.py # Abacus DFT engine
│ ├── config.py # Configuration management
│ ├── tools/ # MCP tool implementations
│ ├── resources/ # MCP resource implementations
│ └── utils/ # Utility functions
├── tests/ # Test files
├── examples/ # Example code
├── docs/ # Documentation
└── task_data/ # Task data directory (auto-created)
📚 补充文档
- 安装指南 - 详细的安装说明
- 使用指南 - 全面的使用示例
- Roo Code 集成 - 详细的集成指南
- OpenMM 参数 - 完整的参数参考
- 项目分析 - 技术分析与改进建议
🔍 故障排除
常见问题
-
“未找到 OpenMM”警告
- 这是正常现象,服务会以模拟模式运行
- 如需执行实际模拟,请安装 OpenMM:
conda install -c conda-forge openmm
-
“找不到命令”错误
- 检查 Python 是否在 PATH 中
- 确认项目路径是否正确
- 尝试使用绝对路径
-
权限错误
- 确保项目目录具有读写权限
- 检查 task_data 目录是否可写
验证配置
# Test server startup
python run_openmm_server.py
# Test MCP functionality
python test_mcp_server.py
🤝 贡献
- Fork 此仓库
- 创建功能分支
- 进行更改
- 添加测试
- 提交拉取请求
🆘 支持
如果遇到任何问题:
- 运行测试脚本:
python test_mcp_server.py - 查看文档
- 检查日志文件(如果已配置)
- 在 GitHub 上提交问题
📄 许可证
本项目采用 GNU General Public License v3.0 许可。
祝模拟愉快!🎉
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。