MCP 为化学 AI 工作流带来的功能

模型上下文协议(Model Context Protocol,MCP)规定了 AI 应用如何与另一个程序交换上下文并调用该程序提供的能力。在化学领域,该程序可能提供化学信息学库、检索蛋白质注释、搜索文献或访问实验室记录。MCP 是接口,而不是其背后的科学方法、数据库或模型。

它的实际价值在于职责分离。助手可以请求有文档说明的操作,而不是只依赖生成文本;科学库或上游 API 执行底层工作。研究人员随后可以分别检查参数、返回的证据和解释。

当对话需要最新记录或可重复计算时,这种方式很有用。如果直接查询 API 或现有分析脚本已经能满足任务,其优势就不那么明显。标准化访问并不能让不恰当的计算在科学上变得合理,也不能单凭标准化就保证多工具生成的叙述可靠。

区分宿主、客户端、服务器和科学工具

官方 MCP 架构概述区分了 AI 应用、其连接,以及提供能力的程序。

层级 作用 化学领域评估问题
宿主 协调一个或多个 MCP 客户端的 AI 应用 助手可以访问哪些工具?哪些操作需要批准?
客户端 与特定服务器通信的组件 此连接是否支持所需的协议和传输方式?
服务器 提供工具、资源或提示的程序 实际可用的操作和输入模式是什么?
工具 服务器提供的可调用操作 这是检索、计算、下载,还是会产生重要后果的操作?
科学后端 执行底层工作的库、数据库 API 或配置好的服务 哪些假设、依赖项和来源信息决定了结果?

实用的规划链条是 宿主 → 客户端 → MCP 服务器 → 科学后端 → 返回的证据 → 助手解释。标明每个组件的运行位置,以及数据跨越网络边界的位置。

服务器可以提供可执行的工具、上下文资源和可复用的提示。这些是不同的接口:工作流提示本身不能证明其中要求的每项操作都会执行。当前架构将 STDIO 描述为本地进程通信方式,将 Streamable HTTP 描述为远程通信方式。该概述并不能证明较早的化学项目实现了当前协议版本。

LLM 请求如何变成科学操作

宿主通过工具发现(包括 tools/list)获取可用工具的描述和输入模式。模型可以提出工具名称和结构化参数;应用通过客户端使用 tools/call 路由请求,然后将结果作为对话上下文提供。

例如,RCSB MCP 将 get_pdb_entry 记录为一个带有 pdb_id 参数的工具。于是,查询条目信息可以转化为结构化检索,而不是依赖记忆生成缺乏依据的摘要。仍需检查结果:助手的说明与返回的 JSON 是彼此独立的输出。

评估时,可在此流程中加入决策关卡:验证参数、检查授权、只执行获准操作、检查完整性和错误,最后再进行摘要。这些是建议的工作流控制措施,并非 MCP 自动提供的保证。

应将工具响应和检索到的段落视为数据。不能仅仅因为其中的文字提出了相关要求,就据此授权使用新凭据、进行无关下载或发布内容。

MCP、API、智能体和 Skills 是不同层次

API 为服务提供程序化接口。MCP 封装器可以将该 API 放在可发现的工具之后,但不会取代其访问要求或数据条款。托管的 MCP 端点是一项运营中的服务;下载服务器源代码并不能复现该服务的配置或保证。

智能体是决定采取哪些步骤以及何时停止的系统。提供工具的服务器不一定就是自主研究者。NovoMCP 另外描述了编排功能,而若干数据库服务器主要提供检索接口。

Agent Skill 按照 Agent Skills 概述,将程序性说明打包在 SKILL.md 中,并可选择附带脚本和参考资料。一个拟议的 Skill 可以告诉智能体如何检查化学证据并调用 MCP 工具。加载这些说明并不会安装 RDKit、提供 API 凭据,也不会让可选模拟服务变得可用。不同宿主对 Skills 的支持也不相同。

更广泛的层次比较请参阅 MCP、Skills、智能体和 API;本指南侧重于理解和评估 MCP 连接。

九种 MCP 实现:任务与边界

应根据操作和科学领域选择,而不是只看项目名称中是否出现“MCP”。下列内容描述的是来源中记载的能力,不代表经过测试的组合,也不构成上游数据库的背书。

类别与实现 有文档说明的输入和输出 重要边界
化学信息学:RDKit MCP Server (TandemAI) 提供 RDKit 函数;包括工具列表、由 OpenAI 驱动的 CLI 客户端和评估套件 全面覆盖 RDKit 是目标,而非已证明的覆盖范围;应检查实际工具清单
分子显示:ChemCP render_molecule 接收 SMILES;RDKit.js 在嵌入式界面中生成二维图和描述符 交互式查看需要 MCP Apps 支持和 CDN 访问;尚未确认存在独立的名称解析服务
蛋白质注释:UniProt MCP (cyanheads) 查询或标识符可返回注释、映射、分类学、蛋白质组元数据和序列 映射可能需要轮询任务;大型条目可能需要按区段进一步查询
蛋白质结构:RCSB MCP (cnyambura) PDB 标识符和端点查询可返回元数据;下载会返回状态和本地路径 生物体搜索提供的是操作说明,而非已检索的匹配项;下载会写入文件
文献:PubMed MCP (cyanheads) 查询和文章标识符可返回元数据、摘要、可用的全文和参考文献 全文可能不可用或被截断;标识符转换覆盖 PMC 收录的文章
材料:Materials Project MCP (benedictdebrah) 元素选择、属性筛选条件或材料 ID 通过 mp_api 返回结构和材料属性数据 需要 Materials Project API key;应检查单条记录和工具输出
ELN 记录:Benchling MCP (longevity-genie) 搜索文本以及项目或文件夹筛选条件可检索条目、序列、项目和实体 需要工作区凭据;文档未说明记录编辑或仪器控制功能
跨类别初筛:PocketScout MCP 目标标识符和结合残基支持已知位点、配体历史、保守性、变体和文献评估 报告的是已知位点证据,而不是新口袋预测;原始数据与 interpretation 应保持可区分
计算编排:NovoMCP 基于 SMILES 的描述文件和已配置封装器支持通过 MCP 和 REST 开展更广泛的计算工作流 ADMET 和其他计算能力取决于服务;裸安装只提供部分功能

这些类别涵盖化学信息学、文献研究、材料发现、科学数据检索和实验室数据工作流。访问 ELN 不等同于实体实验室自动化。在扩展工具链之前,请使用科学任务明确研究目标。

连接前定义输入/输出约定

从一项规模小、可独立核验的任务开始。记录以下内容:

  • **输入:**准确的标识符、分子表示、筛选条件以及可接受的歧义范围。
  • **输出:**必需字段、相关单位、来源标识符和完整性指标。
  • **证据:**用于比较的上游记录或参考计算。
  • **边界:**允许的操作,以及禁止的写入、下载或外部提交。
  • **失败响应:**证据缺失、含糊或无法访问时应返回什么。

在约定中区分检索、计算和解释。对于分子,应明确如何处理盐、形式电荷和立体化学,而不要让自然语言请求掩盖表示方式的选择。对于蛋白质,应说明物种和蛋白质亚型(isoform)的预期。对于文献,应保留实际执行的查询,并区分摘要与全文。

在记录中保留三种证据状态:有文档说明表示来源描述了某项能力;拟议表示正在规划连接或工作流;在你的评估中观察到表示已记录的运行在你的环境中产生了结果。本文不声称有任何观察到的结果。

拟议示例:公开蛋白质证据档案

**拟议评估,并非已证明的互操作性:**使用 UniProt MCP、RCSB MCP 和 PubMed MCP,为研究人员选定的一个公开蛋白质登录号汇编一份小型档案。

  1. **确认身份。**向 UniProt 检索提供登录号和预期物种。请求身份、功能、来源信息和相关交叉引用。如果身份与预期物种不符,应停止并请求澄清。
  2. **检查结构证据。**仅在人为检查后才选择返回的 PDB 交叉引用。通过 RCSB MCP 请求条目和聚合物元数据。初期排除结构下载,以免试验涉及工具发起的文件写入。
  3. **检查引文。**检索选定 PubMed 标识符的元数据。保留摘要、可用的更正或撤稿链接,以及缺失项目报告。只有在必要时才请求全文,并记录提供方和截断情况。
  4. **生成有界输出。**返回一张表,包含登录号、物种、PDB 条目、实验方法字段、文章标识符、来源信息和未解决的缺口。将工具返回的事实与助手推断分开。

验收时要问的是:每个字段是否与其来源记录一致,每个缺口是否仍清晰可见,而不是助手是否给出了有说服力的靶点建议。建立此检索约定后,可以单独评估 PocketScout 的已知位点初筛;组合这些组件仍属于拟议方案。

选择服务器并有意处理故障

检查所选宿主、服务器版本、协议支持、传输方式、身份验证、运行环境和后端依赖项。相比不受限制的工具注册表,优先选择一个完成必要任务的工具。化学 MCP 选择指南提供了后续的选择框架。

启动前解决文档之间的冲突。Benchling 的 README 描述了默认 HTTP 启动方式,而其包入口映射到一个 STDIO 函数;应核实选定的启动路径,而不要假定任一行为必然成立。UniProt 的 README 前置条件和包清单规定了不同的 Bun 最低版本;在本地部署前检查所选包的要求。

根据结构化故障状态分支处理。对于正在运行的 UniProt 映射任务,应轮询其任务票据,而不是重新提交任务;另行跟进已完成页面的后续内容。大纲响应后,再获取所需区段。在批处理中保留每个项目的失败信息。遇到速率限制或超时时,应使用有界重试,并报告检索不完整,而不是编造缺失记录。ChemCP 查看器故障可能源于宿主或 CDN 限制,而非分子无效。

隐私、可复现性和科学局限

梳理文件访问、外部目标、命令执行、凭据范围和日志记录。本地服务器仍可能调用外部数据库或模型服务。在不了解处理和保留规则之前,不要将机密结构或未发表的 ELN 记录用于试验。NovoMCP 文档所述的本地默认配置不含身份验证,因此不能想当然地认为它适合暴露到网络。

分别记录工具名称、参数、服务器版本、依赖项版本、来源时间戳、原始输出和解释。保留故障和截断提示。设计证据记录时,请参阅可复现的化学 AI。

科学局限仍取决于具体方法。数据库检索不能证明覆盖完整;描述符不等于实验活性;PocketScout 的局部上下文保守性分析不等同于完整的多序列比对;可选模拟封装器不能验证模拟设置。基于 LLM 的评估裁判可以评估响应,但不能替代科学参考核验。源代码可见也不代表拥有许可权利:NovoMCP 的封装器和编排核心分别适用不同范围的条款,检索到的数据也有自身条款。

扩展工作流之前:

  • [ ] 标明宿主、客户端、服务器、后端和网络边界。
  • [ ] 定义输入、输出、参考证据和停止规则。
  • [ ] 解决启动、传输、运行环境和依赖项的不确定性。
  • [ ] 仅授予必需的凭据和权限。
  • [ ] 将有界结果与其来源证据进行比较。
  • [ ] 保留有文档说明、拟议和观察到的区别。
  • [ ] 启用写入或会产生重要后果的操作前,检查其影响和恢复方式。

来源

协议和 Skill 定义依据 MCP 架构文档和 Agent Skills 概述。各实现的能力和局限根据项目文档描述:RDKit MCP Server、ChemCP、UniProt MCP、RCSB MCP、PubMed MCP、Materials Project MCP、Benchling MCP、PocketScout MCP和 NovoMCP。启动和运行环境差异见 Benchling 包元数据和 UniProt 包元数据;NovoMCP 的范围区别见其顶层许可证和核心许可证。