🚀 非官方 SureChEMBL MCP 服务器
这是一个全面的模型上下文协议(MCP)服务器,用于访问 SureChEMBL 化学专利数据库。该服务器提供了专利搜索、化学发现、结构分析和专利情报研究等工具。
由 Augmented Nature 开发
🚀 快速开始
SureChEMBL 是一个大规模的化学专利数据库,可提供化学结构及其相关专利文档的访问。此 MCP 服务器能够与 SureChEMBL 的 API 实现无缝集成,提供强大的工具用于:
- 专利情报:搜索和分析化学专利
- 化学发现:查找化合物及其专利覆盖范围
- 现有技术研究:识别现有的化学公开信息
- 竞争分析:跟踪各公司的化学发展情况
- 构效分析:将化学结构与专利权利要求相关联
✨ 主要特性
🔍 文档与专利搜索(4 种工具)
search_patents - 按文本、关键词或标识符搜索专利
get_document_content - 获取带有化学注释的完整专利文档内容
get_patent_family - 获取专利族成员及其关系
search_by_patent_number - 按特定专利号搜索
🧪 化学物质搜索与检索(4 种工具)
search_chemicals_by_name - 按名称或同义词搜索化学物质
get_chemical_by_id - 按 SureChEMBL ID 获取详细的化学物质信息
search_by_smiles - 按 SMILES 结构表示法搜索化学物质
search_by_inchi - 按 InChI/InChI 键搜索化学物质
🖼️ 结构与可视化(2 种工具)
get_chemical_image - 生成化学结构图像
get_chemical_properties - 获取分子性质和描述符
📊 数据导出与分析(2 种工具)
export_chemicals - 批量导出化学物质数据(CSV/XML 格式)
analyze_patent_chemistry - 分析专利中的化学物质内容
🔬 高级分析工具(3 种工具)
get_chemical_frequency - 获取化学物质在整个专利数据库中的频率统计信息
search_similar_structures - 使用相似性搜索查找结构相似的化学物质
get_patent_statistics - 获取专利中化学物质内容的统计概述
📚 资源模板
surechembl://document/{doc_id} - 专利文档内容
surechembl://chemical/{chem_id} - 化合物数据
surechembl://family/{patent_id} - 专利族信息
surechembl://search/{query} - 搜索结果
📦 安装指南
前提条件
安装依赖项
npm install
构建服务器
npm run build
开发模式
npm run watch
💻 使用示例
启动服务器
npm start
在 Claude Desktop 中使用
将以下内容添加到你的 Claude Desktop 配置文件中:
macOS:~/Library/Application Support/Claude/claude_desktop_config.json
Windows:%APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"surechembl-server": {
"command": "node",
"args": ["/path/to/surechembl-server/build/index.js"]
}
}
}
在 MCP Inspector 中使用
npm run inspector
基础用法
按名称搜索化学物质
await use_mcp_tool({
server_name: "surechembl-server",
tool_name: "search_chemicals_by_name",
arguments: {
name: "aspirin",
limit: 10,
},
});
获取专利文档内容
await use_mcp_tool({
server_name: "surechembl-server",
tool_name: "get_document_content",
arguments: {
document_id: "WO-2020096695-A1",
},
});
生成化学结构图像
await use_mcp_tool({
server_name: "surechembl-server",
tool_name: "get_chemical_image",
arguments: {
structure: "CC(=O)OC1=CC=CC=C1C(=O)O",
width: 300,
height: 200,
},
});
分析专利中的化学物质
await use_mcp_tool({
server_name: "surechembl-server",
tool_name: "analyze_patent_chemistry",
arguments: {
document_id: "US-2021123456-A1",
},
});
📚 详细文档
工具参考
文档与专利搜索
search_patents
按文本、关键词或标识符搜索专利。
参数:
query(字符串,必需):搜索查询
limit(数字,可选):结果限制(1 - 1000,默认值:25)
offset(数字,可选):结果偏移量(默认值:0)
get_document_content
获取带有化学注释的完整专利文档内容。
参数:
document_id(字符串,必需):专利文档 ID(例如,WO - 2020096695 - A1)
get_patent_family
获取专利族成员及其关系。
参数:
patent_id(字符串,必需):用于查找族成员的专利 ID
search_by_patent_number
按特定专利号搜索专利。
参数:
patent_number(字符串,必需):专利号或公开号
化学物质搜索与检索
search_chemicals_by_name
按名称、同义词或通用名搜索化学物质。
参数:
name(字符串,必需):化学物质名称或同义词
limit(数字,可选):结果限制(1 - 1000,默认值:25)
get_chemical_by_id
按 SureChEMBL 化学物质 ID 获取详细的化学物质信息。
参数:
chemical_id(字符串,必需):SureChEMBL 化学物质 ID(数字)
search_by_smiles
按 SMILES 结构表示法搜索化学物质。
参数:
smiles(字符串,必需):SMILES 字符串
limit(数字,可选):结果限制(1 - 1000,默认值:25)
search_by_inchi
按 InChI 或 InChI 键搜索化学物质。
参数:
inchi(字符串,必需):InChI 字符串或 InChI 键
limit(数字,可选):结果限制(1 - 1000,默认值:25)
结构与可视化
get_chemical_image
根据 SMILES 或其他结构表示法生成化学结构图像。
参数:
structure(字符串,必需):SMILES 字符串或结构表示法
height(数字,可选):图像高度(像素)(默认值:200)
width(数字,可选):图像宽度(像素)(默认值:200)
get_chemical_properties
获取化学物质的分子性质和描述符。
参数:
chemical_id(字符串,必需):SureChEMBL 化学物质 ID
数据导出与分析
export_chemicals
以 CSV 或 XML 格式批量导出化学物质数据。
参数:
chemical_ids(数组,必需):SureChEMBL 化学物质 ID 数组(1 - 100)
output_type(字符串,可选):导出格式 - 'csv' 或 'xml'(默认值:csv)
kind(字符串,可选):ID 类型 - 'cid' 或 'smiles'(默认值:cid)
analyze_patent_chemistry
分析专利文档中的化学物质内容和注释。
参数:
document_id(字符串,必需):要分析的专利文档 ID
高级分析工具
get_chemical_frequency
获取化学物质在整个专利数据库中的频率统计信息。
参数:
chemical_id(字符串,必需):SureChEMBL 化学物质 ID
search_similar_structures
使用相似性搜索查找结构相似的化学物质。
参数:
reference_id(字符串,必需):用于相似性搜索的参考化学物质 ID
threshold(数字,可选):相似性阈值(0.0 - 1.0,默认值:0.7)
limit(数字,可选):返回的结果数量(1 - 100,默认值:25)
get_patent_statistics
获取专利中化学物质内容的统计概述。
参数:
document_id(字符串,必需):用于统计的专利文档 ID
include_annotations(布尔值,可选):包括详细的注释统计信息(默认值:true)
资源模板
文档资源
surechembl://document/{doc_id}
访问带有化学注释的完整专利文档内容。
化学物质资源
surechembl://chemical/{chem_id}
访问化合物信息和性质。
专利族资源
surechembl://family/{patent_id}
访问专利族成员及其关系。
搜索资源
surechembl://search/{query}
访问查询的化学搜索结果。
🔧 技术细节
错误处理
服务器包含全面的错误处理机制,用于处理以下情况:
- 无效的 API 参数
- 网络超时和连接问题
- API 速率限制
- 格式错误的化学结构
- 缺失的文档或化学物质
所有错误都会返回描述性消息和适当的错误代码。
速率限制
服务器遵守 SureChEMBL 的 API 速率限制:
- 复杂请求的 30 秒超时
- 合理的请求间隔
- 针对临时故障的自动重试逻辑
开发
项目结构
surechembl-server/
├── src/
│ └── index.ts # 主服务器实现
├── build/ # 编译后的 JavaScript
├── package.json # 依赖项和脚本
├── tsconfig.json # TypeScript 配置
└── README.md # 本文件
可用脚本
npm run build - 将 TypeScript 编译为 JavaScript
npm run watch - 开发模式下的监听模式
npm run inspector - 运行 MCP 检查器
npm start - 启动服务器
npm run dev - 带监听的开发模式
贡献
- 分叉仓库
- 创建功能分支
- 进行更改
- 如有必要添加测试
- 提交拉取请求
📄 许可证
本项目采用 MIT 许可证 - 详情请参阅 LICENSE 文件。
支持
如有问题和疑问:
相关项目
引用
如果您在研究或出版物中使用了本项目,请按以下方式引用:
@misc{surechemblmcp2025,
author = {Moudather Chelbi},
title = {SureChEMBL MCP Server},
year = {2025},
howpublished = {https://github.com/Augmented-Nature/SureChEMBL-MCP-Server},
note = {Accessed: 2025-06-29}
SureChEMBL MCP 服务器 - 通过模型上下文协议赋能化学专利情报。