PRISM MCP 服务器

使用说明(Markdown 格式)

  • 项目简介

    • PRISM MCP 服务器将 PRISM 的资源、工具和提示模板对接到 MCP 协议之上,提供标准化的 JSON-RPC 接口,便于 LLM 客户端(如 Claude、其他具备 MCP 客户端的系统)按照统一协议调用资源、执行工具、获取 Prompts 并接收响应。
    • 服务器通过 prism/mcp_server.py 启动,内部注册了多个子模块(如环境检测、构建、分析、PMF、REST2、Prompts/资源等),实现了 MCP 的核心能力暴露。
  • 主要功能点

    • 资源托管与访问:提供 prism/mcp/resources.py 中定义的资源接口,允许客户端获取默认配置、 Agent 提示等信息。
    • 工具注册与执行:通过 prism/mcp/ 下的分析、 trajectory、 build、 pmf_analysis 等模块暴露分析、构建、PMF、REST2、MM/PBSA 等工具,并通过 MCP 的工具装饰器注册为可调用方法。
    • 提示模板与系统提示:使用 prism/mcp/resources.py 和 prism/mcp/pmf_analysis.py 等模块提供 prompts/系统提示,便于 LLM 以对话形式获取工作流指引。
    • JSON-RPC 通信:服务器实现了基于 JSON-RPC 的请求/响应处理,通常通过 stdio、WebSocket、SSE 等传输实现,目前仓库提供 stdio 传输的演示。
    • 会话管理与能力声明:通过 MCP 框架实现对能力与工具集合的注册,能够对客户端的调用进行路由与执行。
    • 多传输协议支持:设计用于支持 Stdio、SSE、WebSocket 等传输协议,当前实现以 stdio 为入口。
    • 安全/可扩展架构:模块化的工具/资源注册,便于扩展新的资源、工具和提示,适配多 LLM 客户端。
  • 安装步骤

    • 克隆或下载本仓库,进入根目录。
    • 安装依赖并在开发模式下安装 PRISM(推荐):
      • pip install -e .
    • 启动 MCP 服务器(在仓库根目录执行):
      • python prism/mcp_server.py
    • 服务器启动后,将以 MCP 兼容的方式对外提供服务,客户端可以通过 MCP 客户端连接到服务器。
  • 服务器配置(MCP 客户端需要的配置示例,JSON 格式)

    • 说明:以下 JSON 配置用于 MCP 客户端在连接服务器时读取必要的启动信息。服务器名称、启动命令与参数需与服务器实际部署信息保持一致。
    • 配置示例(JSON,不含代码,仅描述配置项): { "server_name": "PRISM-MCP-Server", "command": "python", "args": ["-u", "prism/mcp_server.py"], "transport": "stdio" }
    • 注释说明:
      • server_name:为 MCP 客户端显示的服务器名称,便于区分。
      • command:启动服务器的可执行命令,一般为 python。
      • args:启动命令的参数,-u 确保输出行为可预测,后续跟随入口脚本路径 prism/mcp_server.py。
      • transport:传输协议,这里以 stdio 为示例;实际部署可改为 websocket、sse 等。
  • 基本使用方法(简易操作指南)

    • 启动服务器后,确保 MCP 客户端已配置正确的 server_name、command、args 等信息并建立连接。
    • 客户端调用示例(描述性说明,不给出代码):
      • 调用资源获取接口以查询默认配置、提示、Prompts 等。
      • 调用工具接口执行构建、分析、PMF、REST2 等流程。
      • 使用 Prompt 资源获取 PRISM 的系统提示模板用于对话生成。
    • 常见工作流:
      • 读取资源(如默认配置、Prompts)。
      • 注册/执行工具以完成 Protein-Ligand 系统的搭建、分析、PMF、REST2、MMPBSA 等任务。
      • 获取并渲染 PROMPT 模板用于 LLM 的对话交互。
  • 运行与测试

    • 在本地直接运行服务器进行测试:
      • 运行 prism/mcp_server.py,确认服务器成功启动并监听/MCP 入口。
    • 使用 MCP Inspector 或 Claude Code 等客户端进行连接测试,确保可以通过 JSON-RPC 请求调用资源、工具与Prompts。
  • 运行时注意

    • 依赖项与环境:PRISM 的 MCP 实现依赖多模块与子系统,确保相关 Python 包与外部工具(如 GROMACS、AmberTools、OpenFF、MDTraj、MDAnalysis 等)在实际工具链中可用(本 MCP 侧主要负责协议对接与服务暴露)。
    • 安全性与权限:生产环境下需注意对执行外部命令的安全策略、权限控制与网络安全。
  • 参考用语与接口

    • MCP 服务端入口:PRISM 的 MCP 服务器入口脚本 prism/mcp_server.py,默认以 stdio 传输对接。
    • 子模块:环境、构建、验证、分析、PMF 分析、轨迹处理、资源等子模块对外暴露工具与资源。

服务器信息