使用说明

项目简介

MCP-GMX-VMD 服务是一个基于 Model Context Protocol (MCP) 构建的应用后端,旨在简化和集成分子动力学模拟与可视化工作流程。它利用 GROMACS 进行分子动力学模拟,并结合 VMD 进行可视化分析,通过微服务架构提供灵活和易用的分子模拟工具。用户可以通过 MCP 客户端与该服务进行交互,执行模拟设置、运行、分析和可视化等任务。

主要功能点

  • 分子动力学模拟: 支持 GROMACS 分子动力学模拟的设置和运行。
  • 轨迹分析: 提供轨迹分析功能,例如 RMSD (均方根偏差)、RMSF (均方根涨落) 等。
  • 3D 可视化: 集成 VMD 可视化工具,用于分子结构和模拟轨迹的三维可视化。
  • 自定义工作流程: 支持在用户指定目录下创建和管理模拟工作流程。
  • 模块化架构: 基于 MCP (微服务通信协议) 构建,易于与其他工具灵活集成。
  • 工作流程管理: 提供创建、列出、获取、更新、删除、导出和导入工作流程的功能。
  • 参数管理: 支持模拟参数的验证和优化。
  • VMD 模板: 内置多种 VMD 可视化模板,方便用户快速应用。
  • GROMACS 命令执行: 允许用户直接执行 GROMACS 命令。
  • 结构文件搜索: 提供结构文件搜索功能,方便用户查找分子结构文件。
  • 参数修改: 支持通过自然语言指令修改模拟参数。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/egtai/gmx-vmd-mcp.git
    cd gmx-vmd-mcp
  2. 创建并激活虚拟环境:

    python -m venv venv
    source venv/bin/activate   # Linux/macOS
    venv\Scripts\activate   # Windows
  3. 安装依赖:

    pip install -r requirements.txt
  4. 安装 MCP-GMX-VMD 服务:

    pip install -e .

服务器配置

MCP 客户端需要配置以下信息以连接到 MCP-GMX-VMD 服务器:

{
  "serverName": "GROMACS-VMD Service",
  "command": "python",
  "args": [
    "mcp_server.py"
  ],
  "transport": "stdio"
}

配置参数说明:

  • 'serverName': MCP 服务器的名称,必须设置为 '"GROMACS-VMD Service"' 以匹配服务器声明的名称。
  • 'command': 启动 MCP 服务器的命令,这里使用 'python' 解释器。
  • 'args': 启动命令的参数,指定执行 'mcp_server.py' 脚本。
  • 'transport': 指定 MCP 通信方式为标准输入输出流 ('stdio')。

注意: 确保您的系统已安装 Python 3.9+、GROMACS 和 VMD,并已将 GROMACS 和 VMD 的可执行文件路径添加到系统环境变量 'PATH' 中。您可能还需要根据您的 VMD 安装路径配置 'config.json' 文件。

基本使用方法

  1. 启动 MCP-GMX-VMD 服务器: 在终端中,进入 'gmx-vmd-mcp' 仓库目录,并运行命令:

    python mcp_server.py

    服务器将开始监听请求。

  2. 使用 MCP 客户端连接并发送请求: 您可以使用任何兼容 MCP 协议的客户端(例如,基于 LLM 的智能体客户端)与 MCP-GMX-VMD 服务进行交互。客户端需要配置上述 服务器配置 信息以建立连接。

  3. 通过客户端调用服务功能: 客户端可以通过 JSON-RPC 请求调用 MCP-GMX-VMD 服务提供的资源和工具,例如:

    • 创建工作流程
    • 准备分子动力学模拟
    • 执行 GROMACS 命令
    • 分析模拟轨迹
    • 应用 VMD 模板进行可视化

    具体的使用示例可以参考 'README.md' 文件中的 "Usage Examples" 部分,例如使用 'requests' 库发送 HTTP 请求与服务交互。实际使用时,您需要将 HTTP 请求替换为 MCP 客户端的调用方式。

示例 (创建工作流程):

# 客户端代码示例 (假设使用 Python MCP 客户端库)
from mcp_client import MCPClient

# 配置信息 (与上面 server configuration 相同)
config = {
  "serverName": "GROMACS-VMD Service",
  "command": "python",
  "args": [
    "mcp_server.py"
  ],
  "transport": "stdio"
}

client = MCPClient(config)
client.connect()

# 调用 "创建工作流程" 工具
response = client.call_tool("创建工作流程", name="my_new_workflow", description="测试工作流程")
print(response)

client.close()

请参考仓库文档和代码了解更多详细的使用方法和 API 调用。

信息

分类

AI与计算