SureChEMBL MCP Server

SureChEMBL MCP Server

🚀 非官方 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}:搜索结果。

📦 安装指南

前提条件

  • Node.js 18+
  • npm 或 yarn

安装依赖

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",
},
});

// 从 SMILES 生成化学结构图像
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:带监听功能的开发模式。

贡献代码

  1. 分叉仓库。
  2. 创建功能分支。
  3. 进行修改。
  4. 如有必要,添加测试。
  5. 提交拉取请求。

📄 许可证

本项目采用 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 服务器 - 通过模型上下文协议助力化学专利情报工作。

  • 0 关注
  • 0 收藏,29 浏览
  • system 提出于 2025-10-03 23:36

相似服务问题

相关AI产品