article
README
🚀 非官方PubChem MCP服务器
这是一个全面的模型上下文协议(MCP)服务器,用于访问PubChem化学数据库。该服务器可让用户访问超过1.1亿种化合物,提供丰富的分子属性、生物测定数据和化学信息学工具。
✨ 主要特性
🔍 化学搜索与检索(6种工具)
- search_compounds:可通过名称、CAS编号、分子式或标识符进行搜索。
- get_compound_info:根据化合物ID(CID)获取详细的化合物信息。
- search_by_smiles:进行精确的SMILES字符串匹配搜索。
- search_by_inchi:通过InChI/InChI键进行搜索。
- search_by_cas_number:查找CAS登记号对应的化合物。
- get_compound_synonyms:获取化合物的所有名称和同义词。
🧬 结构分析与相似性(5种工具)
- search_similar_compounds:进行Tanimoto相似性搜索。
- substructure_search:查找包含特定子结构的化合物。
- superstructure_search:查找包含查询结构的更大化合物。
- get_3d_conformers:获取化合物的3D结构信息。
- analyze_stereochemistry:进行手性和异构体分析。
⚗️ 化学性质与描述符(6种工具)
- get_compound_properties:获取分子量、logP、TPSA等分子性质。
- calculate_descriptors:计算全面的分子描述符。
- predict_admet_properties:进行ADMET性质预测。
- assess_drug_likeness:进行Lipinski五规则分析,评估类药性。
- analyze_molecular_complexity:分析分子合成的可及性。
- get_pharmacophore_features:进行药效团映射。
🧪 生物测定与活性数据(5种工具)
- search_bioassays:查找生物测定实验。
- get_assay_info:获取详细的测定实验方案。
- get_compound_bioactivities:获取化合物的所有活性数据。
- search_by_target:查找针对特定靶点进行测试的化合物。
- compare_activity_profiles:进行化合物间的活性数据比较。
⚠️ 安全与毒性(4种工具)
- get_safety_data:获取GHS危险分类信息。
- get_toxicity_info:获取LD50、致癌性等毒性数据。
- assess_environmental_fate:进行生物降解分析。
- get_regulatory_info:获取FDA、EPA等法规信息。
🔗 交叉引用与集成(4种工具)
- get_external_references:获取指向ChEMBL、DrugBank等外部数据库的链接。
- search_patents:查找化学专利信息。
- get_literature_references:获取PubMed引用信息。
- batch_compound_lookup:支持批量处理(最多200种化合物)。
📦 安装指南
# 克隆或创建服务器目录
cd pubchem-server
# 安装依赖
npm install
# 构建服务器
npm run build
# 运行服务器
npm start
💻 使用示例
基础用法
基本化合物搜索
// 按名称搜索化合物
{
"tool": "search_compounds",
"arguments": {
"query": "aspirin",
"max_records": 10
}
}
// 获取详细的化合物信息
{
"tool": "get_compound_info",
"arguments": {
"cid": 2244
}
}
结构分析
// 查找相似化合物
{
"tool": "search_similar_compounds",
"arguments": {
"smiles": "CC(=O)OC1=CC=CC=C1C(=O)O",
"threshold": 85,
"max_records": 50
}
}
// 分析分子性质
{
"tool": "get_compound_properties",
"arguments": {
"cid": 2244,
"properties": ["MolecularWeight", "XLogP", "TPSA"]
}
}
生物活性分析
// 获取生物测定信息
{
"tool": "get_assay_info",
"arguments": {
"aid": 1159607
}
}
// 按靶点搜索化合物
{
"tool": "search_by_target",
"arguments": {
"target": "cyclooxygenase",
"max_records": 100
}
}
安全信息查询
// 获取安全分类信息
{
"tool": "get_safety_data",
"arguments": {
"cid": 2244
}
}
批量处理
// 处理多个化合物
{
"tool": "batch_compound_lookup",
"arguments": {
"cids": [2244, 5090, 3672],
"operation": "property"
}
}
高级用法
药物发现工作流
// 1. 搜索抗炎化合物
{
"tool": "search_compounds",
"arguments": {
"query": "anti-inflammatory",
"max_records": 100
}
}
// 2. 分析类药性
{
"tool": "assess_drug_likeness",
"arguments": {
"cid": 2244
}
}
// 3. 检查安全概况
{
"tool": "get_safety_data",
"arguments": {
"cid": 2244
}
}
// 4. 查找生物活性数据
{
"tool": "search_by_target",
"arguments": {
"target": "COX-2",
"activity_type": "IC50"
}
}
化学相似性分析
// 1. 查找相似化合物
{
"tool": "search_similar_compounds",
"arguments": {
"smiles": "your_query_smiles",
"threshold": 90
}
}
// 2. 比较分子性质
{
"tool": "batch_compound_lookup",
"arguments": {
"cids": [1234, 5678, 9012],
"operation": "property"
}
}
// 3. 分析结构特征
{
"tool": "analyze_stereochemistry",
"arguments": {
"cid": 1234
}
}
📚 详细文档
资源模板
可通过以下URI模式访问PubChem数据:
pubchem://compound/{cid}:获取完整的化合物数据。pubchem://structure/{cid}:获取2D/3D结构信息。pubchem://properties/{cid}:获取分子性质信息。pubchem://bioassay/{aid}:获取生物测定数据。pubchem://similarity/{smiles}:获取相似性搜索结果。pubchem://safety/{cid}:获取安全和毒性数据。
与其他MCP服务器集成
该PubChem服务器可与其他化学/生物数据库完美集成:
完整的化学信息学流程
1. 靶点发现:UniProt → STRING → AlphaFold
2. 化学发现:PubChem ← → ChEMBL
3. 完整工作流:蛋白质 → 结构 → 相互作用 → 小分子 → 生物活性
跨数据库工作流
- UniProt → PubChem:查找蛋白质靶点 → 查找小分子配体。
- PubChem → ChEMBL:发现化合物 → 分析生物活性数据。
- STRING → PubChem:蛋白质相互作用 → 化学调节剂。
API速率限制
PubChem API指南:
- 每秒5个请求。
- 每分钟最多400个请求。
- 无需API密钥。
- 鼓励合理使用。
数据源
- 超过1.1亿种化合物,包含完整的化学数据。
- 超过150万项生物测定,包含生物活性数据。
- 化学性质和计算得到的描述符。
- 3D构象和结构数据。
- 安全分类和毒性信息。
- 与500多个外部数据库的交叉引用。
错误处理
服务器具备全面的错误处理机制:
- 无效的化合物ID会返回清晰的错误消息。
- 优雅地处理API超时问题。
- 内置速率限制合规机制。
- 对所有输入进行TypeScript验证。
贡献说明
该服务器使用了以下技术:
- TypeScript:确保类型安全。
- Axios:用于HTTP请求。
- MCP SDK:确保协议合规。
- PubChem REST API:用于数据访问。
许可证
本项目采用MIT许可证,详情请参阅LICENSE文件。
支持
若遇到以下问题:
- 服务器功能问题:请检查错误消息和API响应。
- PubChem API问题:请参考PubChem官方文档。
- 化学数据问题:请验证化合物标识符和搜索词。
🔧 技术细节
服务器采用模块化架构构建:
- 对所有API输入进行类型安全验证。
- 具备全面的错误处理机制,提供清晰的错误消息。
- 支持高效的批量化合物处理。
- 提供资源模板,可直接访问数据。
- 便于集成到多数据库工作流中。
这使其成为目前最全面的化学信息学MCP服务器!
📄 许可证
本项目遵循MIT许可证,具体细节请查看LICENSE文件。
📖 引用
如果您在研究或出版物中使用了本项目,请按以下格式引用:
@misc{pubchemmcp2025,
author = {Moudather Chelbi},
title = {PubChem MCP Server},
year = {2025},
howpublished = {https://github.com/Augmented-Nature/PubChem-MCP-Server},
note = {Accessed: 2025-06-29}
}
扫码联系在线客服