🚀 非官方 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 服務器 - 通過模型上下文協議賦能化學專利情報。