mcpField
O
OpenMM MCP Server

OpenMM MCP Server

本地服务
github.com/PhelanShao科研与教育3674 周前更新

关于 OpenMM MCP Server

OpenMM MCP Server 是一个面向分子动力学模拟的 MCP 服务,基于 OpenMM,并集成 Abacus DFT 计算。它通过自然语言接口提交、管理和执行模拟任务,适合计算化学与生物物理领域的研究人员。

主要功能

  1. 01OpenMM 模拟的创建与控制
  2. 02Abacus DFT 量子力学计算集成
  3. 03预设蛋白质与膜体系模拟模板
  4. 04支持 CUDA、OpenCL 与 CPU 平台
  5. 05异步任务执行与状态查询

适用场景

  1. 01创建水分子或蛋白质的分子动力学模拟
  2. 02设置膜蛋白模拟并调整压力控制参数
  3. 03通过命令查询与分析已完成的模拟任务

MCP 相关

该服务向 MCP 客户端暴露模拟创建、任务控制与结果分析等工具,使 LLM 能够通过自然语言调用 OpenMM 与 Abacus。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

OpenMM MCP 服务

English | 中文


🧬 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 - 可变步长 Langevin
  • VariableVerlet - 可变步长 Verlet
  • NoseHoover - 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 - 通用 GPU
  • CPU - 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)
📚 补充文档
🔍 故障排除
常见问题
  1. “未找到 OpenMM”警告

    • 这是正常现象,服务会以模拟模式运行
    • 如需执行实际模拟,请安装 OpenMM:conda install -c conda-forge openmm
  2. “找不到命令”错误

    • 检查 Python 是否在 PATH 中
    • 确认项目路径是否正确
    • 尝试使用绝对路径
  3. 权限错误

    • 确保项目目录具有读写权限
    • 检查 task_data 目录是否可写
验证配置
# Test server startup
python run_openmm_server.py

# Test MCP functionality
python test_mcp_server.py
🤝 贡献
  1. Fork 此仓库
  2. 创建功能分支
  3. 进行更改
  4. 添加测试
  5. 提交拉取请求
🆘 支持

如果遇到任何问题:

  1. 运行测试脚本:python test_mcp_server.py
  2. 查看文档
  3. 检查日志文件(如果已配置)
  4. 在 GitHub 上提交问题
📄 许可证

本项目采用 GNU General Public License v3.0 许可。


祝模拟愉快!🎉

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。