Token导航 LogoToken导航TokenDH.com
Pubchem Agent Toolkit logo
搜索检索未说明官方级别未说明来源级核验

Pubchem Agent Toolkit

MCP Server

一个增强版的PubChem MCP服务器,为AI助手提供智能、稳健且隐私保护的化学化合物信息搜索和访问功能。

工具数

1

提示词数

0

GitHub Stars

2

资源数

0
隐私保护Python智能搜索

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Milor123

提供方

Milor123

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

用于AI助手的增强型PubChem MCP服务器

🧪 一个先进、强大且注重隐私的MCP服务器,使AI助手能够智能地搜索和访问PubChem中的化合物信息。

这个PubChem MCP服务器在人工智能助手(如AnythingLLM中的助手)和PubChem庞大的化学数据库之间起着强大的桥梁作用。它利用模型上下文协议(MCP)允许AI模型对化合物进行智能、有弹性的搜索,并以编程方式检索其详细属性。

______________________________________________________________________

✨ 核心功能

这不仅仅是另一个PubChem包装器。此服务器经过彻底重建,具有高度的健壮性和智能性:

  • 🧠 智能回退搜索:如果搜索通用名称(如“维生素D”)失败,服务器会自动在PubChem Substance数据库中进行更深入的搜索,以找到正确的化合物。这大大提高了模糊查询的成功率。
  • 🛡️ 强大的错误处理和检索:服务器的设计目的是优雅地处理API错误。如果遇到PubChem的“服务器繁忙”错误,它将自动等待并重试请求,确保您的查询即使在重负载下也能成功。
  • 🔒 可选的Tor代理支持:您可以完全控制自己的隐私。一个简单的 config.ini 该文件允许您通过Tor网络(通过SOCKS5或HTTP代理)路由所有请求,防止您的IP地址被暴露。默认情况下,服务器是安全的 从不 如果代理连接失败,则泄漏您的IP。
  • 🔎 单个和多个复合搜索:在单个提示中无缝处理对一个或多个化合物的请求。
  • 🧪 详细属性检索:访问IUPAC名称、分子式、分子量等关键化学性质,至关重要的是, 同位素质量.

______________________________________________________________________

______________________________________________________________________

🚀 无需安装:在Smithery.ai上实时试用

对于那些刚接触MCP服务器或只是想在没有任何本地设置的情况下测试此工具功能的人,Smithery.ai上提供了一个实时托管版本。这允许您直接在浏览器中与代理聊天。

\

如何开始:

  1. 单击上面的链接转到服务器页面。
  2. 使用您的登录 GitHub谷歌 账户
  3. 点击 “探索能力” 按钮打开聊天界面并开始测试!
✅ 最佳效果的推荐模型 为了获得最高的精度,特别是对于长十进制数,我们强烈建议使用功能强大的模型。以下内容已经过测试,并使用此工具表现出色: - 人类学的克劳德三首十四行诗 - OpenAI的GPT-4 Turbo (或GPT-4o等更新版本) 我们确认,这两个模型都正确处理了工具返回的十进制数的全部精度,没有进行任何四舍五入。

______________________________________________________________________

🚀 快速启动和安装

此服务器设计为在本地运行,可以在您的桌面上或AnythingLLM Docker环境中运行。

1.依赖关系

这个项目依赖于一些Python库。确保它们已安装在您的环境中。

创建一个 requirements.txt 包含以下内容的文件:

requests
bs4 
mcp 
pubchempy
pandas
PySocks

使用安装它们 uvpip:

uv venv
.venv\Scripts\activate
uv pip install -r requirements.txt

*(注: PySocks 仅当您计划使用Tor SOCKS5代理功能时才需要。)*

2.配置

服务器通过以下方式配置 config.ini 文件是 自动创建 第一次运行它时。此文件将出现在与 pubchem_server.py 脚本。

默认 config.ini:

[proxy]
# Change 'use_proxy' to 'true' to route all requests through a proxy.
# Essential for protecting your privacy if you use Tor.
use_proxy = false

# Defines the proxy type. Options:
#   socks5h  -> (Recommended for Tor) The native SOCKS proxy for Tor. More secure.
#   http     -> An HTTP proxy. If using Tor, requires additional configuration.
proxy_type = socks5h

# The proxy address. THIS IS A CRITICAL SETTING!
#   - If you run this script on your DESKTOP, use: 127.0.0.1
#   - If you run this script inside DOCKER, use: host.docker.internal
host = 127.0.0.1

# The proxy port.
#   9050 -> Default port for Tor's SOCKS proxy.
#   8118 -> Default port for Tor's HTTP proxy (if enabled).
port = 9050

3.与AnythingLLM集成

按照官方文档将其添加为自定义MCP服务器。关键是要指出 command 到你的Python可执行文件和 pubchem_server.py 脚本。

AnythingLLM桌面示例(plugins/anythingllm_mcp_servers.json):

{
  "mcpServers": {
    "pubchem": {
      "name": "PubChem Server (Enhanced)",
      "transport": "stdio",
      "command": "\"C:\\path\\to\\your\\.venv\\Scripts\\python.exe\" \"C:\\path\\to\\your\\project\\pubchem_server.py\"",
      "cwd": "C:\\path\\to\\your\\project"
    }
  }
}

3.1 AnythingLLM的实现示例

以下是一些如何与代理交互的示例。这些测试是使用AnythingLLM Desktop进行的,通过OpenRouter连接到各种大型语言模型。

我们测试的一个关键发现是您选择的模型的重要性。我们 强烈建议不要使用小型或本地型号 对于这项任务。较小的模型往往难以正确解析工具返回的数据,从而导致诸如幻觉值、格式错误等错误,或者最关键的是, 四舍五入十进制数,这违背了这种高精度工具的目的。

为了确保结果的完整性,验证MCP返回的原始数据始终是一种很好的做法。您可以在下一节中学习如何做到这一点: 3.2如何验证日志中的MCP输出.

另一方面,有几个型号表现出了出色的性能。我们取得了出色的成绩 谷歌的 Gemini 2.5 Flash lite.在处理长十进制数和正确格式化最终Markdown表方面表现出了卓越的精度。

谷歌gemini 2.5 flash lite无提示,有提示保持完美小数(在示例中使用0.6的温度)

对于这个特定的任务,我个人最喜欢的是 Gemini 2.5 Flash lite 由于其始终如一的准确性和可靠性。

3.2如何验证日志中的MCP输出

确认代理正在接收正确数据并且LLM没有出错的最佳方法是检查MCP服务器生成的调试日志文件。

此服务器配置为在项目目录的子文件夹中自动创建日志文件。地点将是:

your-project-folder/
└── logs_mcp/
    └── mcp_debug.log

内部 mcp_debug.log,您将找到该工具发送回LLM的确切JSON数据 *之前* 模型会处理它。您可以手动检查此JSON以验证任何值,特别是来自以下属性的长十进制数 monoisotopic_mass,确保法学硕士在其最终答案中没有引入任何舍入误差或幻觉。

______________________________________________________________________

📊 用法

一旦集成,当被问及化学信息时,您的AI助手将自动使用此工具。暴露的主要工具是 search_compounds_by_name.

示例提示

此提示演示了该工具处理具有不同名称类型的化合物列表并检索多个属性的能力。

@agent
Please use your PubChem tool to find information on the following compounds:

- Thiamine (Vitamin B1)
- Riboflavin (Vitamin B2)
- Folic Acid
- Hydroxocobalamin

For each compound found, please retrieve the IUPAC Name, Molecular Formula, and Monoisotopic Mass.

Present all the results in a single Markdown table.

代理人将致电 search_compounds_by_name 该工具将智能地找到每个化合物,检索其数据,并将其返回给LLM进行格式化。

______________________________________________________________________

🛠 MCP工具暴露

search_compounds_by_name

使用智能回退策略,通过暂停和重试来逐个搜索多个化合物,以获得最大的可靠性。

参数:

  • names (List\[str\]):化合物名称列表。例子: ["Aspirin", "Ibuprofen"]

退货: 字典列表,其中每个字典都包含找到的化合物的信息或详细说明搜索该特定化合物失败原因的错误消息。

______________________________________________________________________

🙏 致谢

该项目深受原始项目的启发,并建立在其基础之上 PubChem MCP服务器 创建者 杰克酷666.

虽然这个存储库不是直接的分支,但最初的项目是关键的起点。此版本通过可选的Tor集成增强了原始概念,重点是极端的鲁棒性、智能搜索策略和用户隐私🧅.

非常感谢原作者的精彩作品并与社区分享。

______________________________________________________________________

⚠️ 免责声明

该工具旨在用于研究和教育目的。请尊重PubChem的服务条款,并负责任地使用此工具。

目录标签

目录标签

隐私保护Python智能搜索化学信息检索本地部署PubChem集成AI工具

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

1

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP