AtomisticToolkit MCP 服务器
使用说明(Markdown 格式)如下,便于快速了解、安装与使用。
-
项目简介
- 这是一个基于 MCP 的服务器实现,利用 FastMCP 提供工具(tools)和工作流(workflows)接口,面向原子结构建模与分析的计算任务,供 LLM 客户端以标准化的 JSON-RPC 调用进行访问。
- 服务器通过 HTTP Transport(Streamable HTTP)对外提供接口,并提供 /healthz、/.well-known/mcp/server-card.json、/sse 等健康与发现端点,方便集成与可观测性。
-
主要功能点
- 工具与工作流暴露:构建结构、分析结构、写入/读取结构、优化结构、运行分子动力学、分析轨迹等一系列工作流,均以工具(tools)形式注册给 MCP 客户端调用。
- 数据与分析能力:提供用于材料科学的结构信息、RDF、配位数、轨迹分析、VACF、扩散等分析工作流。
- MD/力场支持:基于 ASE、MLIP(如 Nequix、ORB 等)进行结构优化和分子动力学计算。
- 安全与发现:提供健康端点与服务器卡,支持不同传输路径(如 streamable-http、SSE 兼容)。
- 易于部署:可通过常见云端服务(如 Render)直接运行,包含 render.yaml 等部署配置示例。
-
安装步骤
- 获取代码:将仓库克隆到本地或云端环境。
- 安装依赖:在项目根目录执行依赖安装(示例命令为:pip install -r requirements.txt)。
- 启动服务器:在合适的环境中执行以下任意一种启动方式
- 成熟部署方式(推荐,用于生产环境):uvicorn mcp_atomictoolkit.http_app:app --host 0.0.0.0 --port $PORT
- 本地开发方式(简易测试):python main.py(或 hf_server.py,依赖你的运行方式和端口设定)
- 健康检查与服务器卡
- 访问 /healthz 应返回 status: ok
- 访问 /.well-known/mcp/server-card.json 应返回服务器卡信息,包含可用传输方式和服务器根端点等。
- 兼容性与路径
- 提供 /sse 兼容路径用于历史版本客户端的对接;根路径 / 作为 MCP 入口端点。
-
服务器配置(供 MCP 客户端使用的 JSON 配置,示例说明性文本,不作为代码块展示) { "server_name": "atomictoolkit", "command": "uvicorn", "args": ["mcp_atomictoolkit.http_app:app", "--host", "0.0.0.0", "--port", "$PORT"], "description": "AtomisticToolkit 服务端,暴露结构构建与分析等工作流接口,用于 MCP 客户端通过 JSON-RPC 调用", "notes": "该配置仅用于客户端在连接服务器时的启动信息,实际运行端口由部署环境分配。" }
-
基本使用方法
- 第一步:确认服务器已上线并对外暴露根 MCP 端点(如 https://<service>.onrender.com/)。
- 第二步:在 MCP 客户端中配置服务器信息(使用上述服务器名称、启动命令与端口等信息),选择传输类型为 Streamable HTTP。
- 第三步:通过 JSON-RPC 调用服务器暴露的工具与工作流,如执行构建结构、分析结构、优化结构、运行 MD 等任务。
- 第四步:根据返回的响应获取输出文件路径、分析结果、以及日志信息,进一步在客户端进行汇总与可视化分析。
- 第五步:如需结合 Smithery 等目录服务,确保服务器卡正确暴露并可被发现。