跳转到正文
官方

蛋白质结构研究组合

结合 RCSB 结构与 UniProt 蛋白注释,检查实验方法、分辨率和实体映射,下载带来源记录的 mmCIF 文件。

难度: 中等 费用: 免费与付费混合 隐私: 云端 ~45 分钟
开始安装

你将能够

  • 获取 PDB 实验方法、分辨率和聚合物记录。
  • 核对 UniProt accession 并下载 mmCIF。

你将构建什么

范围与环境

使用 Claude Desktop;UniProt MCP 0.2.4 使用 Node.js >=24;RCSB MCP 0.1.0 固定提交 df04c993c31f43d69d6273737bda2de39ace0850,使用独立 Python >=3.13 环境,不复用 RDKit 的 Python 3.11 环境。RCSB 从 server.py 以 stdio 启动,上游依赖为版本范围,需记录实际解析版本。参考查询无需数据库 API Key,两个 API 与 Claude 都涉及外部网络。

结果解释

聚合物实体、链和生物学组装体并非同一概念,存储结构可能存在缺失残基、构建体或突变。比较实验方法、分辨率、实体映射和原始验证报告,不能仅凭结构元数据证明对接、结合或临床表现。下载可能覆盖同名文件,应选择新的输出目录。

固定版本的 RCSB 辅助函数会将进度和错误通过 print 写到 stdout。保存并使用附带的 recipe_rcsb_server.py,仅将该模块的 print 转到 stderr,保留 MCP 传输输出。

蛋白注释检索

UniProt MCP (cyanheads)

结构元数据与下载工具

RCSB MCP (cnyambura)

PDB 结构元数据来源

RCSB PDB Data API

组合组件

UniProt MCP (cyanheads)

蛋白注释检索 · 0.2.4

使用 Node 24+,与 Python 服务器分开。

费用与许可请核对上游及客户端、服务账号条款。

查看资源

RCSB MCP (cnyambura)

结构元数据与下载工具 · 0.1.0; df04c993c31f43d69d6273737bda2de39ace0850

要求 Python >=3.13,独立环境并记录实际依赖版本。

费用与许可请核对上游及客户端、服务账号条款。

查看资源

RCSB PDB Data API

PDB 结构元数据来源 · RCSB Data API / live

记录 PDB ID、检索日期及实际提供的条目版本。

费用与许可请核对上游及客户端、服务账号条款。

查看资源

兼容环境

客户端操作系统架构版本要求
Claude Desktop macOS不限见组件版本要求
Claude Desktop Windows不限见组件版本要求
Python macOS不限>= 3.13
Python Windows不限>= 3.13
Python Linux不限>= 3.13

安装与测试

1. 准备 Node.js 与 Claude Desktop

全部平台

安装包含 npm 的 Node.js 24 或更新版本及 Claude Desktop,确认允许本地 MCP,且可通过 HTTPS 访问目标数据库。此 Node 方案不需要 Bun。

node --version
npm --version
官方来源

预期结果

Node 显示 v24 或更新版本,npm 可用。

2. 在独立目录安装固定 MCP 包

全部平台

在新的可写工作目录执行,将服务器安装到 .mcp-packages,保留 lockfile 用于记录实际依赖。上游 npx 入口与本地 dist/index.js 入口使用同一个发布包。

npm install --prefix .mcp-packages @cyanheads/[email protected]
npm ls --prefix .mcp-packages --depth=0
官方来源

预期结果

安装清单中显示要求的精确包版本。

3. 准备独立 Python 3.13 环境

全部平台

安装 Git 与 Python 3.13。RCSB 项目声明 Python >=3.13,核对所选架构的安装包可用性。

官方来源

预期结果

Python 3.13 可用,其他方案环境不受修改。

4. 在 macOS 安装 RCSB MCP

macOS

克隆到新工作目录,安装固定提交。

git clone https://github.com/cnyambura/rcsb-mcp.git
cd rcsb-mcp
git checkout df04c993c31f43d69d6273737bda2de39ace0850
python3.13 -m venv .venv
.venv/bin/python -m pip install -e .
.venv/bin/python -m pip freeze
官方来源

预期结果

安装完成并记录解析版本。

5. 在 Windows 安装 RCSB MCP

Windows

使用 PowerShell,直接调用虚拟环境。

git clone https://github.com/cnyambura/rcsb-mcp.git
cd rcsb-mcp
git checkout df04c993c31f43d69d6273737bda2de39ace0850
py -3.13 -m venv .venv
.\.venv\Scripts\python.exe -m pip install -e .
.\.venv\Scripts\python.exe -m pip freeze
官方来源

预期结果

安装完成并记录解析版本。

6. 保存 stdio 输出适配脚本

全部平台

将代码保存为上游 server.py 同目录的 recipe_rcsb_server.py;不修改上游源码,也不重定向全局 stdout。

"""Keep the upstream RCSB API's progress/error prints off MCP stdout.

Save beside server.py and rcsb_api.py in the pinned RCSB checkout.
Source: https://github.com/cnyambura/rcsb-mcp/blob/df04c993c31f43d69d6273737bda2de39ace0850/rcsb_api.py
Source-reviewed example; not executed.
"""
import functools
import sys

import rcsb_api
import server

# Only change print lookup in this module; preserve the process stdout stream.
rcsb_api.print = functools.partial(print, file=sys.stderr)

if __name__ == "__main__":
    server.mcp.run()
官方来源

预期结果

适配脚本与上游模块位于同一目录,客户端配置使用此入口。

7. 在 macOS 配置两个服务器

macOS

将两条记录合并到 Claude Desktop 的 mcpServers,替换真实绝对路径。RCSB 使用独立 Python 3.13 环境和 server.py stdio 入口,UniProt 使用 Node 24+。为结构下载准备新的可写目录,不使用已有研究数据目录。 启动入口使用 recipe_rcsb_server.py,替代原始 server.py。

{
  "mcpServers": {
    "uniprot": {
      "command": "/ABSOLUTE/PATH/TO/node",
      "args": [
        "/ABSOLUTE/PATH/.mcp-packages/node_modules/@cyanheads/uniprot-mcp-server/dist/index.js"
      ],
      "env": {
        "MCP_TRANSPORT_TYPE": "stdio"
      }
    },
    "rcsb-pdb": {
      "command": "/ABSOLUTE/PATH/rcsb-mcp/.venv/bin/python",
      "args": [
        "/ABSOLUTE/PATH/rcsb-mcp/recipe_rcsb_server.py"
      ]
    }
  }
}
官方来源

预期结果

两个条目分别指向各自已安装的运行环境与文件。

8. 在 Windows 配置两个服务器

Windows

将两条记录合并到 Claude Desktop 的 mcpServers,替换真实绝对路径。RCSB 使用独立 Python 3.13 环境和 server.py stdio 入口,UniProt 使用 Node 24+。为结构下载准备新的可写目录,不使用已有研究数据目录。 启动入口使用 recipe_rcsb_server.py,替代原始 server.py。

{
  "mcpServers": {
    "uniprot": {
      "command": "C:\\ABSOLUTE\\PATH\\TO\\node.exe",
      "args": [
        "C:\\ABSOLUTE\\PATH\\.mcp-packages\\node_modules\\@cyanheads\\uniprot-mcp-server\\dist\\index.js"
      ],
      "env": {
        "MCP_TRANSPORT_TYPE": "stdio"
      }
    },
    "rcsb-pdb": {
      "command": "C:\\ABSOLUTE\\PATH\\rcsb-mcp\\.venv\\Scripts\\python.exe",
      "args": [
        "C:\\ABSOLUTE\\PATH\\rcsb-mcp\\recipe_rcsb_server.py"
      ]
    }
  }
}
官方来源

预期结果

两个条目分别指向各自已安装的运行环境与文件。

9. 检查两个连接器

全部平台

完全重启 Claude,核对 uniprot_get_entry、get_pdb_entry、get_polymer_entity、download_structure_file。

官方来源

预期结果

两个连接器均已连接。

10. 检查并下载 4HHB

全部平台

使用新的绝对下载目录,确认请求目标,并核对保存文件实际存在。

使用 get_pdb_entry 查询 pdb_id="4HHB",并通过 get_polymer_entity 获取 entity_id="1" 与 "2",列出实验方法、分辨率、聚合物实体和链映射。根据返回的 UniProt 交叉引用调用 uniprot_get_entry。最后,在我指定一个新的绝对输出目录后,使用 download_structure_file 将 4HHB 下载为 cif,报告实际路径、来源与检索日期;不要从结构推断配体亲和力或对接性能。
官方来源

预期结果

参考 4HHB:人类脱氧血红蛋白、X 射线衍射、1.74 Å;实体 1 对应 alpha/P69905,实体 2 对应 beta/P68871。与 https://www.rcsb.org/structure/4HHB 对照。下载通过需有真实路径与非空 mmCIF 文件,不能只接受生成的文件名。

故障排除

  • 启动失败:检查 Node 24+、node 与模块绝对路径、JSON 语法和本地安装 lockfile。
  • 工具缺失:完全重启客户端并查看 Developer 日志。
  • HTTP 429 或超时:减少请求、使用分页和退避重试,保留已成功的部分结果。
  • 数据库字段缺失:标为不可用,不推测填充。
  • Python 安装被拒绝:使用 3.13+,不要复用 RDKit 3.11 环境。
  • 下载失败:检查目录权限与空间,保留工具报错。
  • stdout 协议错误:检查上游 RCSB 日志与错误输出,不将损坏的 stdio 会话记为成功。
  • 映射不一致:按实体获取 accession,链 ID 与实体 ID 不同。
  • 无分辨率:报告实验方法与缺失值,不猜测分辨率。
仍无法运行

替代方案

可通过 RCSB 网站和直接 Data API 获取相同条目,使用网页验证报告与 Mol* 查看。UniProt 不能单独替代实验结构记录。