PubChem MCP服务器
](https://smithery.ai/server/@JackKuo666/pubchem-mcp-server)
🧪 使AI助手能够通过简单的MCP界面搜索和访问化合物信息。
PubChem MCP服务器通过模型上下文协议(MCP)在AI助手和PubChem的化学数据库之间架起了一座桥梁。它允许人工智能模型以程序化的方式搜索化合物并访问其详细信息。
🤝 贡献•📝 报告Bug
✨ 核心功能
- 🔎 化合物搜索:按名称、SMILES或CID查询PubChem化合物✅
- 🧪 化学结构:访问分子结构和标识符✅
- 📊 属性数据:检索详细的化学和物理属性✅
- 🔬 高级搜索:结合多个参数进行精确查询✅
- 🧬 分子可视化:生成和显示分子结构📝
- 📈 性能分析:比较多种化合物的性能📝
- 🗃️ 本地存储:保存常用化合物,以便更快地访问📝
- 📝 化学提示:化学分析的专业提示📝
🚀 快速开始
通过Smithery安装
通过以下方式自动安装PubChem Server for Claude Desktop 史密瑟里:
克劳德
npx -y @smithery/cli@latest install @JackKuo666/pubchem-mcp-server --client claude --config "{}"光标
将以下内容粘贴到设置中→ 光标设置→ MCP → 添加新服务器:
- Mac/Linux
npx -y @smithery/cli@latest run @JackKuo666/pubchem-mcp-server --client cursor --config "{}" 帆板运动
npx -y @smithery/cli@latest install @JackKuo666/pubchem-mcp-server --client windsurf --config "{}"渐变群
npx -y @smithery/cli@latest install @JackKuo666/pubchem-mcp-server --client cline --config "{}"手动安装
使用紫外线进行安装:
uv tool install pubchem-mcp-server发展:
# Clone and set up development environment
git clone https://github.com/JackKuo666/PubChem-MCP-Server.git
cd PubChem-MCP-Server
# Create and activate virtual environment
uv venv
source .venv/bin/activate
uv pip install -r requirements.txt📊 用法
启动MCP服务器:
python pubchem_server.py服务器运行后,您可以在AI助手或应用程序中使用提供的MCP工具。以下是一些如何使用这些工具的示例:
示例1:按名称搜索化合物
result = await mcp.use_tool("search_pubchem_by_name", {
"name": "aspirin",
"max_results": 3
})
print(result)示例2:使用SMILES符号搜索化合物
result = await mcp.use_tool("search_pubchem_by_smiles", {
"smiles": "CC(=O)OC1=CC=CC=C1C(=O)O", # Aspirin's SMILES
"max_results": 2
})
print(result)示例3:获取特定化合物的详细信息
result = await mcp.use_tool("get_pubchem_compound_by_cid", {
"cid": 2244 # Aspirin's CID
})
print(result)示例4:使用多个参数执行高级搜索
result = await mcp.use_tool("search_pubchem_advanced", {
"name": "caffeine",
"formula": "C8H10N4O2",
"max_results": 2
})
print(result)这些示例演示了如何使用PubChem MCP Server提供的四个主要工具。根据具体用例的需要调整参数。
🛠 MCP工具
PubChem MCP服务器提供以下工具:
search_pubchem_by_name
使用化合物名称在PubChem上搜索化合物。
参数:
name(str):化合物名称max_results(int,可选):返回的最大结果数(默认值:5)
退货: 包含复合信息的词典列表
search_pubchem_by_smiles
使用SMILES字符串在PubChem上搜索化合物。
参数:
smiles(str):化合物的SMILES符号max_results(int,可选):返回的最大结果数(默认值:5)
退货: 包含复合信息的词典列表
get_pubchem_compound_by_cid
使用PubChem CID获取化合物的详细信息。
参数:
cid(int):PubChem化合物ID(CID)
退货: 包含复合信息的词典
search_pubchem_advanced
在PubChem上进行化合物的高级搜索。
参数:
name(str,可选):化合物的名称smiles(str,可选):化合物的SMILES表示法formula(str,可选):分子式cid(int,可选):PubChem化合物IDmax_results(int,可选):返回的最大结果数(默认值:5)
退货: 包含复合信息的词典列表
使用Claude Desktop
将此配置添加到您的 claude_desktop_config.json:
(Mac OS)
{
"mcpServers": {
"pubchem": {
"command": "python",
"args": ["-m", "pubchem-mcp-server"]
}
}
}(Windows版本):
{
"mcpServers": {
"pubchem": {
"command": "C:\\Users\\YOUR_USERNAME\\AppData\\Local\\Programs\\Python\\Python311\\python.exe",
"args": [
"-m",
"pubchem-mcp-server"
]
}
}
}与Cline一起使用
{
"mcpServers": {
"pubchem": {
"command": "bash",
"args": [
"-c",
"source /home/YOUR/PATH/mcp-hub/PubChem-MCP-Server/.venv/bin/activate && python /home/YOUR/PATH/mcp-hub/PubChem-MCP-Server/pubchem_server.py"
],
"env": {},
"disabled": false,
"autoApprove": []
}
}
}重新启动Claude Desktop后,将提供以下功能:
搜索化合物
你可以让克劳德使用以下查询来搜索化合物:
Can you search PubChem for information about aspirin?搜索将返回有关匹配化合物的基本信息,包括:
•化合物名称
•CID(PubChem化合物ID)
•分子式
•分子量
获取化合物详细信息
一旦您获得CID,您可以询问更多详细信息:
Can you show me the details for compound with CID 2244?这将返回:
•IUPAC名称
•分子式
•分子量
•微笑符号
•InChI和InChIKey
•物理和化学性质
•同义词
📝 全部
可视化磅
生成并显示化合物的2D或3D可视化。
比较化合物
比较多种化合物的性质和结构。
save_复合
将化合物保存在本地,以便更快地访问。
列表_保存_化合物
列出所有已保存的化合物。
📝 化学提示
服务器将提供专门的提示来帮助分析化合物:
复合分析提示
分析化合物的综合工作流程,只需要化合物ID:
result = await call_prompt("deep-compound-analysis", {
"compound_id": "2244"
})该提示将包括:
- 使用可用工具的详细说明
- 化合物分析的系统工作流程
- 综合分析结构包括:
- 化学结构和性质 - 药理性质 - 生物活性 - 应用和用途 - 安全性和毒性信息 - 相关化合物
📁 项目结构
pubchem_server.py:使用FastMCP的主MCP服务器实现pubchem_search.py:包含用于搜索PubChem的示例代码
🔧 依赖项
- Python 3.10+
- FastMCP
- 异步IO
- 日志记录
- pubchempy(用于PubChem API访问)
- pandas(用于数据处理)
您可以使用以下方式安装所需的依赖关系:
pip install mcp pubchempy pandas🤝 贡献
欢迎投稿!请随时提交拉取请求。
📄 许可证
该项目根据MIT许可证获得许可。
⚠️ 免责声明
此工具仅用于研究目的。请尊重PubChem的服务条款,并负责任地使用此工具。
