跳转到正文
官方

使用 Claude + PubChem 开展化学研究

通过本地 PubChem MCP 在 Claude Desktop 中把化学名称解析为 CID,获取带来源的化合物性质,并明确缺失值及计算性质。

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

你将能够

  • 将名称与标识解析为 PubChem CID。
  • 保留来源与缺失值,获取化合物详情。

你将构建什么

方案范围

使用 @cyanheads/pubchem-mcp-server 0.6.5 与 Node.js >=24。MCP 进程在本地运行,查询公开 PubChem PUG REST/PUG View,Claude 负责云端对话。基线查询不需要 PubChem API Key。此流程获取化合物信息,不等同于经过实验验证的性质预测。记录服务器版本与检索日期,不将 PubChem XLogP 改写成 RDKit Crippen logP。

PubChem MCP 工具

PubChem MCP (cyanheads)

化合物数据来源

PubChem PUG REST

组合组件

PubChem MCP (cyanheads)

PubChem MCP 工具 · 0.6.5

固定 npm 包;源码提交 1b179c5043345b9029b269980ac4ad5c0dbad15b

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

查看资源

PubChem PUG REST

化合物数据来源 · PUG REST / live API

在线数据可能变化,记录 CID 与检索日期。

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

查看资源

兼容环境

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

安装与测试

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. 配置 macOS 的 Claude Desktop

macOS

打开 Settings > Developer > Edit Config,将条目合并到 mcpServers,替换所有占位绝对路径,包括 node 可执行文件,保留已有服务器。基线查询无需 API Key,可选密钥或邮箱只写入私有配置。

{
  "mcpServers": {
    "pubchem-mcp-server": {
      "command": "/ABSOLUTE/PATH/TO/node",
      "args": [
        "/ABSOLUTE/PATH/.mcp-packages/node_modules/@cyanheads/pubchem-mcp-server/dist/index.js"
      ],
      "env": {
        "MCP_TRANSPORT_TYPE": "stdio"
      }
    }
  }
}
官方来源

预期结果

有效 JSON 使用 Node 24+ 可执行文件以 stdio 启动已安装包。

4. 配置 Windows 的 Claude Desktop

Windows

打开 Settings > Developer > Edit Config,将条目合并到 mcpServers,替换所有占位绝对路径,包括 node 可执行文件,保留已有服务器。基线查询无需 API Key,可选密钥或邮箱只写入私有配置。

{
  "mcpServers": {
    "pubchem-mcp-server": {
      "command": "C:\\ABSOLUTE\\PATH\\TO\\node.exe",
      "args": [
        "C:\\ABSOLUTE\\PATH\\.mcp-packages\\node_modules\\@cyanheads\\pubchem-mcp-server\\dist\\index.js"
      ],
      "env": {
        "MCP_TRANSPORT_TYPE": "stdio"
      }
    }
  }
}
官方来源

预期结果

有效 JSON 使用 Node 24+ 可执行文件以 stdio 启动已安装包。

5. 重启并核对工具

全部平台

完全退出并重启 Claude Desktop,查看 Developer 状态和连接器列表。需包含工具:pubchem_search_compounds, pubchem_get_compound_details。

官方来源

预期结果

连接成功,所列工具可用。

6. 检索并检查阿司匹林

全部平台

在新对话粘贴,检查两个实际工具调用。

使用 pubchem_search_compounds 按名称检索 aspirin,再对返回 CID 调用 pubchem_get_compound_details。列出 CID、分子式、分子质量、TPSA、实际返回的 XLogP、PubChem 原始链接及检索日期;检查 aspirin 是否解析到 CID 2244。区分计算性质与实验依据,保留缺失字段,不推断毒性或治疗建议。
官方来源

预期结果

预期基线:阿司匹林 CID 2244,分子式 C9H8O4,分子质量约 180.16 g/mol。其他字段以真实返回为准,附单位及 https://pubchem.ncbi.nlm.nih.gov/compound/2244 来源链接。此处不是本次实测结果。

7. 检查不存在的标识

全部平台

使用故意不存在的名称重复检索。

检索化合物名称 ChemAIAtlas-no-such-compound-20261007;报告无匹配或实际 API 错误,不编造 CID。
官方来源

预期结果

不返回编造的标识或性质。

故障排除

  • 启动失败:检查 Node 24+、node 与模块绝对路径、JSON 语法和本地安装 lockfile。
  • 工具缺失:完全重启客户端并查看 Developer 日志。
  • HTTP 429 或超时:减少请求、使用分页和退避重试,保留已成功的部分结果。
  • 数据库字段缺失:标为不可用,不推测填充。
  • 名称歧义:比较返回结构与 CID 后再选择。
  • 非法 SMILES:修正原输入,不反复重试。
  • 缺少安全性或活性资料:查看原始记录,缺少资料不能作为安全证据。
仍无法运行

替代方案

可直接使用 PubChem 网站或 PUG REST 查询相同 CID;本地 RDKit 计算是另一条替代路径,其描述符定义不同。