跳转到正文
官方

使用 Claude + RDKit MCP 进行分子分析

将 Claude Desktop 接入本地 RDKit MCP,通过 SMILES 计算分子式、平均与精确分子质量、TPSA 和 Crippen 描述符,并提供可复现的安装配置与验收步骤。

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

你将能够

  • 由 SMILES 计算分子式、平均分子质量和精确分子质量。
  • 计算拓扑极性表面积、Crippen logP 与摩尔折射率。
  • 检查实际工具调用,并按验收基线对照结果。

你将构建什么

方案范围

Claude Desktop 负责对话与工具选择,TandemAI 的 RDKit MCP 服务器调用 RDKit 完成计算。源码固定为 3a7000ae62e94e095ecd804a403fca12982570cb,对应服务器包 0.2.3、RDKit 2025.3.1。本方案不需要 PubChem,也不需要 OpenAI API Key;Claude 的账号与套餐费用另行考虑。

环境与隐私

上游声明 Python >=3.10,本方案选用 Python 3.11。准备 Git、包含 venv/pip 的 Python,以及允许本地 MCP 的 Claude Desktop。下方分别提供 macOS 和 Windows 步骤。Linux 服务端部署不包含在这套桌面接入流程中。 RDKit 在本地计算,但对话和工具结果由 Claude 云端处理,不能作为完全离线方案。

传输与工具

服务器默认使用 SSE,本方案显式使用 stdio,并仅开放所需的五个工具,不启动监听端口。

Claude Desktop 的 MCP 工具桥接

RDKit MCP Server (TandemAI)

化学信息学计算引擎

RDKit

组合组件

RDKit MCP Server (TandemAI)

Claude Desktop 的 MCP 工具桥接 · 0.2.3; commit 3a7000ae62e94e095ecd804a403fca12982570cb

从固定源码提交安装,显式使用 stdio,并配置五个工具的允许列表。

服务器与 RDKit 为开源软件;Claude 费用取决于所用套餐。

查看资源

RDKit

化学信息学计算引擎 · ==2025.3.1

由 MCP 包自动安装 rdkit==2025.3.1;不要在此环境中替换为未固定版本。

服务器与 RDKit 为开源软件;Claude 费用取决于所用套餐。

查看资源

兼容环境

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

安装与测试

1. 准备桌面客户端与 Python 环境

全部平台

安装 Git、Python 3.11 和 Claude Desktop,确认账号或组织策略允许本地 MCP。使用新的目录克隆仓库。本方案中的命令供实际操作使用,当前尚未执行安装。

官方来源

预期结果

Git 与 Python 可用,已安装的 Claude 客户端允许本地 MCP。

2. 在 macOS 安装固定版本服务器

macOS

在终端运行。保留源码目录及其虚拟环境;安装方式沿用上游 pip install .,通过独立解释器隔离依赖。记录命令显示的组件版本。

git clone https://github.com/tandemai-inc/rdkit-mcp-server.git
cd rdkit-mcp-server
git checkout 3a7000ae62e94e095ecd804a403fca12982570cb
python3.11 -m venv .venv
.venv/bin/python -m pip install .
.venv/bin/python -m pip show rdkit rdkit-mcp-server mcp
官方来源

预期结果

安装完成,RDKit 显示 2025.3.1,服务器包显示 0.2.3。

3. 在 Windows 安装固定版本服务器

Windows

在 PowerShell 运行。直接调用虚拟环境 Python,无需激活 PowerShell 脚本。如果没有 py 启动器,将 py -3.11 替换为 Python 3.11 的绝对路径。

git clone https://github.com/tandemai-inc/rdkit-mcp-server.git
cd rdkit-mcp-server
git checkout 3a7000ae62e94e095ecd804a403fca12982570cb
py -3.11 -m venv .venv
.\.venv\Scripts\python.exe -m pip install .
.\.venv\Scripts\python.exe -m pip show rdkit rdkit-mcp-server mcp
官方来源

预期结果

安装完成,RDKit 显示 2025.3.1,服务器包显示 0.2.3。

4. 限定开放的 RDKit 工具

全部平台

将 YAML 保存为仓库目录下的 recipe-settings.yaml。不要直接照搬上游示例:示例中包含重叠的允许和阻止规则。这里的名称已与源码工具包装函数核对;允许列表也能减少向客户端暴露的工具数量。

ALLOW_LIST:
  - MolWt
  - ExactMolWt
  - CalcMolFormula
  - CalcTPSA
  - CalcCrippenDescriptors
BLOCK_LIST: []
官方来源

预期结果

YAML 包含所列五个允许工具,阻止列表为空。

5. 在 macOS 配置 Claude Desktop

macOS

打开 Claude Desktop 的 Settings > Developer > Edit Config,把本条目合并到已有 mcpServers 对象中,保留其他服务器。所有 /ABSOLUTE/PATH 均替换为真实绝对路径。配置位置为 ~/Library/Application Support/Claude/claude_desktop_config.json;不依赖 shell 展开路径。

{
  "mcpServers": {
    "rdkit": {
      "command": "/ABSOLUTE/PATH/rdkit-mcp-server/.venv/bin/python",
      "args": [
        "/ABSOLUTE/PATH/rdkit-mcp-server/run_server.py",
        "--transport",
        "stdio",
        "--settings",
        "/ABSOLUTE/PATH/rdkit-mcp-server/recipe-settings.yaml"
      ]
    }
  }
}
官方来源

预期结果

JSON 有效,包含解释器、脚本、设置文件的绝对路径以及 --transport stdio。

6. 在 Windows 配置 Claude Desktop

Windows

打开 Claude Desktop 的 Settings > Developer > Edit Config,把本条目合并到已有 mcpServers 对象中,保留其他服务器。C:\ABSOLUTE\PATH 替换为真实绝对路径,JSON 中的反斜杠需要转义。配置位置为 %APPDATA%\Claude\claude_desktop_config.json。

{
  "mcpServers": {
    "rdkit": {
      "command": "C:\\ABSOLUTE\\PATH\\rdkit-mcp-server\\.venv\\Scripts\\python.exe",
      "args": [
        "C:\\ABSOLUTE\\PATH\\rdkit-mcp-server\\run_server.py",
        "--transport",
        "stdio",
        "--settings",
        "C:\\ABSOLUTE\\PATH\\rdkit-mcp-server\\recipe-settings.yaml"
      ]
    }
  }
}
官方来源

预期结果

JSON 有效,包含正确转义的 Windows 绝对路径以及 --transport stdio。

7. 重启并检查连接

全部平台

完全退出并重新打开 Claude Desktop,在 Developer 连接状态与连接器工具列表中检查 MolWt、ExactMolWt、CalcMolFormula、CalcTPSA 和 CalcCrippenDescriptors。如需授权工具调用,检查 SMILES 参数。不要另行启动默认 SSE 服务器。

官方来源

预期结果

连接器显示已连接,并提供所列五个工具。

8. 运行阿司匹林验收 Prompt

全部平台

新建对话并启用 RDKit 连接器,粘贴此 Prompt。检查实际工具调用记录,仅凭模型记忆生成的文字回答不能作为验收通过。

请使用 rdkit 连接器分析阿司匹林,SMILES 为 CC(=O)Oc1ccccc1C(=O)O。请以该字符串作为 smiles 参数,实际调用 CalcMolFormula、MolWt、ExactMolWt、CalcTPSA 和 CalcCrippenDescriptors。逐项列出工具返回值、单位和工具名称,区分平均分子质量与单同位素质量,并说明 logP 是计算描述符而非实验测量值。工具缺失或失败时明确说明,不要用模型记忆补齐数值。
官方来源

预期结果

实际调用使用指定 SMILES;分子式为 C9H8O4;平均分子质量约 180.159 g/mol(容差 0.02),单同位素质量约 180.04226 Da(容差 0.001),TPSA 约 63.60 Ų(容差 0.1);CalcCrippenDescriptors 返回 logP 与摩尔折射率,约为 (1.3101, 44.7103)(容差 0.05)。这是待实测的预期基线,并非本次运行结果。

9. 检查非法输入处理

全部平台

单独提交此 Prompt。工具明确报错或输入校验失败后停止计算,均可接受;不能接受针对非法输入编造的性质数值。

请使用 RDKit 工具分析 SMILES:not-a-smiles。先校验输入;如不合法,报告校验失败或工具错误并停止,不要编造分子性质。
官方来源

预期结果

明确拒绝非法 SMILES,不编造分子式或描述符数值。

故障排除

  • pip 找不到 RDKit 安装包:检查 Python 版本与 CPU 架构。本方案选用 Python 3.11,继续前确认该环境存在 RDKit 2025.3.1 安装包。保留固定版本;改用其他环境时重新记录为未验证。
  • ModuleNotFoundError:安装与 Claude 配置必须使用同一个 .venv Python,JSON 中不要指向系统 Python。
  • 服务器未出现或连接中断:检查 JSON 语法与全部绝对路径,包括 recipe-settings.yaml;确认存在 --transport stdio。查看 Developer 日志;macOS 位于 ~/Library/Logs/Claude,Windows 位于 %APPDATA%\Claude\logs。
  • 没有注册工具或工具缺失:核对 ALLOW_LIST 拼写与固定源码中的五个包装函数,保存 YAML 后完全重启 Claude。
  • 分子计算报错:核对 SMILES 原文、工具选择及调用参数;非法 SMILES 应报错,不要让模型猜结果。
  • 质量数值不一致:区分 MolWt 与 ExactMolWt,检查是否为中性阿司匹林、是否含同位素或电荷,以及组件版本,再判断基线是否适用。
  • 网络或组织策略限制:此流程需要 Claude 云端与本地 MCP 权限,环境不适用时可采用下方 Python 替代路径。
仍无法运行

替代方案

如需不经过云端对话的本地计算,可直接使用 RDKit Python:https://www.rdkit.org/docs/GettingStartedInPython.html 。PubChem 查询属于另外的数据补全流程,本方案不依赖它。RDKit 描述符不能等同于实验测量性质。