🚀 非官方 SureChEMBL MCP 服务器
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 服务器 - 通过模型上下文协议助力化学专利情报工作。