mcpField
P
PubChem MCP Server

PubChem MCP Server

本地服务
github.com/PhelanShao科研与教育776 周前更新

关于 PubChem MCP Server

PubChem MCP Server 是一个用于查询 PubChem 化合物数据和结构的 Python MCP 服务。它支持多种属性与结构输出格式,并提供缓存和备用 3D 结构生成。

主要功能

  1. 01按名称或 PubChem CID 查询化合物
  2. 02获取化学属性与标识符
  3. 03导出 JSON、CSV 或 XYZ 数据
  4. 04下载 SDF、MOL 或 SMILES 结构
  5. 05缓存响应并重试 API 请求
  6. 06生成备用 3D 结构

适用场景

  1. 01按化合物名称或 CID 查询属性
  2. 02获取化学研究所需的分子标识符
  3. 03导出化合物数据或 3D 坐标
  4. 04下载化合物结构文件

MCP 相关

它将 PubChem 化合物查询和结构下载作为 MCP 工具提供,使 MCP 客户端能够获取化学属性与结构数据。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

MseeP.ai 安全评估徽章

PubChem MCP 服务

一个用于从 PubChem 数据库检索化合物数据的模型上下文协议(MCP)服务。

概览

PubChem MCP 服务是一个 Python 实现的 MCP 服务,支持 AI 模型从 PubChem 数据库查询化合物信息。它通过标准 MCP 接口,轻松提供化合物属性、二维结构和三维分子坐标的访问。

功能

  • 按名称或 PubChem CID 查询化合物
  • 获取全面的化合物数据,包括:
    • IUPAC 名称
    • 分子式
    • 分子量
    • SMILES 表示法
    • InChI 和 InChIKey
  • 支持多种输出格式:
    • JSON(默认)
    • CSV
    • XYZ(三维结构)
  • 内置缓存系统以提升性能
  • 自动重试机制,确保 API 可靠性
  • PubChem 无法提供三维结构时,自动生成备用三维结构

要求

  • Python 3.8+
  • Requests 库
  • RDKit(可选,用于增强三维结构处理能力)

安装

从源码安装
# Clone the repository
git clone https://github.com/yourusername/pubchem-mcp-server.git
cd pubchem-mcp-server/python_version

# Install the package
pip install -e .

# For enhanced 3D structure handling, install with RDKit
pip install -e ".[rdkit]"

MCP 配置

要将此服务与 Claude 或其他支持 MCP 的 AI 模型配合使用,请将以下内容添加到 MCP 配置文件中:

{
  "mcpServers": {
    "pubchem": {
      "command": "python3",
      "args": ["/path/to/pubchem-mcp-server/python_version/mcp_server.py"],
      "env": {
        "PYTHONUNBUFFERED": "1"
      },
      "disabled": false,
      "autoApprove": [
        "get_pubchem_data",
        "download_structure"
      ]
    }
  }
}

可用工具

get_pubchem_data

获取化合物结构和属性数据。

参数:

  • query(必填):化合物名称或 PubChem CID
  • format(可选):输出格式——"JSON"(默认)、"CSV" 或 "XYZ"
  • include_3d(可选):是否包含三维结构(仅当格式为 "XYZ" 时有效)

使用示例:

<use_mcp_tool>
<server_name>pubchem</server_name>
<tool_name>get_pubchem_data</tool_name>
<arguments>
{
  "query": "aspirin",
  "format": "JSON"
}
</arguments>
</use_mcp_tool>
download_structure

下载化合物的结构文件。

参数:

  • cid(必填):PubChem CID
  • format(可选):文件格式——"sdf"(默认)、"mol" 或 "smi"
  • filename(可选):下载的结构文件的自定义文件名

使用示例:

<use_mcp_tool>
<server_name>pubchem</server_name>
<tool_name>download_structure</tool_name>
<arguments>
{
  "cid": "2244",
  "format": "sdf"
}
</arguments>
</use_mcp_tool>

项目结构

pubchem-mcp-server/
├── python_version/               # Python implementation
│   ├── mcp_server.py             # Main MCP server script
│   ├── setup.py                  # Package installation script
│   ├── pubchem_mcp_server/       # Core package
│   │   ├── __init__.py
│   │   ├── pubchem_api.py        # PubChem API interaction
│   │   ├── xyz_utils.py          # 3D structure and XYZ format utilities
│   │   ├── server.py             # MCP server implementation
│   │   ├── cli.py                # Command-line interface
│   │   └── async_processor.py    # Asynchronous request handling
└── LICENSE

缓存

此服务使用缓存机制以提升性能:

  • API 响应缓存在内存中
  • 三维结构数据缓存在 ~/.pubchem-mcp/cache/ 中

许可证

本项目采用 MIT 许可证授权——详情请参阅 LICENSE 文件。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。