返回市场
镀金2-MCP服务器

镀金2-MCP服务器

作者:PhelanShao10 星标更新:2025-06-02

项目介绍

PLUMED2 MCP 服务器

English | 中文


中文

概述

PLUMED2 MCP 服务器是一个模型上下文协议(MCP)服务器,它为AI助手提供了强大的工具,用于生成、验证和优化分子动力学模拟中使用的PLUMED输入文件。该服务器能够无缝地将PLUMED专业知识集成到AI工作流程中。

特性

  • 🔧 输入文件生成:生成包含集体变量、偏置方法和输出配置的完整PLUMED输入文件
  • 📋 模板系统:访问预定义的常见模拟场景模板(蛋白质折叠、药物结合、相变、成核)
  • ⚡ 性能优化:获得针对大规模系统的PLUMED性能优化智能建议
  • ✅ 语法验证:验证PLUMED语法,提供详细的错误报告和参考检查
  • 🌐 国际化:完全基于英文代码库和专业文档

安装

预备条件

  • Python 3.11 或更高版本
  • Pip 包管理器

安装依赖

cd plumed_mcp_server
pip install -r requirements.txt

MCP 客户端配置

在您的MCP客户端设置(如Claude Desktop、Cline等)中添加以下配置:

{
  "mcpServers": {
    "plumed2": {
      "command": "python",
      "args": [
        "-m", "plumed_mcp_server.main"
      ],
      "cwd": "/path/to/plumed_mcp_server",
      "alwaysAllow": [
        "generate_plumed_input",
        "validate_plumed_syntax", 
        "optimize_plumed_performance",
        "get_plumed_template"
      ]
    }
  }
}

注意:请将/path/to/plumed_mcp_server替换为您实际的安装目录路径。

可用工具

one generate_plumed_input

根据模拟需求生成完整的PLUMED输入文件。

参数:

  • collective_variables(必需):需要计算的集体变量列表
  • bias_methods(可选):需要应用的偏置方法列表
  • output_config(可选):输出配置设置
  • system_info(可选):用于优化的系统信息
  • molinfo_config(可选):分子信息设置
  • group_definitions(可选):自定义组定义

two validate_plumed_syntax

验证PLUMED输入语法并检查常见错误。

参数:

  • plumed_input(必需):需要验证的PLUMED输入内容
  • number_of_replicas(可选):用于@复制品语法验证的复制品数量

three optimize_plumed_performance

获取PLUMED模拟性能优化建议。

参数:

  • plumed_input(必需):需要分析的PLUMED输入内容
  • system_info(可选):系统信息(原子数、模拟长度等)

four get_plumed_template

检索预定义或自定义的PLUMED模板。

参数:

  • template_name(必需):要检索的模板名称
  • system_type(可选):用于模板定制的系统类型

使用示例

示例 1:生成简单的距离CV和元动力学

AI提示词:

为蛋白质的元动力学模拟生成一个PLUMED输入文件。我想使用原子1和2之间的距离作为集体变量,应用元动力学偏置。每100步输出一次。

预期AI响应: AI将使用generate_plumed_input工具,参数如下:

{
  "collective_variables": [
    {
      "type": "DISTANCE",
      "label": "d1",
      "atoms": [1, 2]
    }
  ],
  "bias_methods": [
    {
      "type": "METAD",
      "arg": "d1",
      "sigma": 0.1,
      "height": 1.0,
      "pace": 500
    }
  ],
  "output_config": {
    "stride": 100,
    "file": "colvar.dat"
  }
}

生成的输出:

# 由PLUMED2 MCP Server生成的PLUMED输入文件
# 集体变量
d1: DISTANCE ATOMS=1,2

# 偏置方法
METAD ARG=d1 SIGMA=0.1 HEIGHT=1.0 PACE=500

# 输出
PRINT ARG=d1 STRIDE=100 FILE=colvar.dat

示例 2:验证PLUMED语法

AI提示词:

请验证这个PLUMED输入:
d: DISTANCE ATOMS=1,2
METAD ARG=d SIGMA=0.1 HEIGHT=1.0 PACE=500
PRINT ARG=d STRIDE=100 FILE=colvar.dat

预期AI响应: AI将使用validate_plumed_syntax工具,并报告验证结果,包括任何语法错误、警告或建议。

示例 3:获取性能优化

AI提示词:

为包含100,000个原子的大型系统优化这个PLUMED输入:
[PLUMED输入内容]

预期AI响应: AI将使用optimize_plumed_performance工具,并提供具体建议,例如使用邻近列表、调整步长值或优化集体变量计算。

示例 4:使用模板

AI提示词:

给我一个用于蛋白质折叠研究的PLUMED模板。

预期AI响应: AI将使用get_plumed_template工具,参数为template_name: "protein_folding",并返回一个包含常用集体变量和偏置方法的完整模板,适用于蛋白质折叠模拟。

测试

运行测试套件以验证安装:

cd plumed_mcp_server
python -m pytest tests/ -v

所有33项测试应全部通过,成功率为100%。

开发

此服务器使用FastMCP框架构建,并遵循模块化设计原则:

  • tools/:MCP工具实现
  • logic/:核心业务逻辑模块
  • resources/:MCP资源提供者
  • tests/:全面的测试套件

贡献

欢迎贡献!请确保所有测试通过,并遵循现有的代码风格。

许可证

本项目是开源项目。请参阅许可证文件以获取详细信息。