🚀 非官方 ChEMBL MCP 服務器
本服務器是一個全面的模型上下文協議(MCP)服務器,可提供對 ChEMBL 化學數據庫的高級訪問。它提供 22 種專業工具,使 AI 助手和 MCP 客戶端能夠直接通過 ChEMBL 的 REST API 進行復雜的藥物發現研究、化學信息學分析和生物活性研究。
由 Augmented Nature 開發
✨ 主要特性
核心化學搜索與檢索(5 種工具)
- 化合物搜索:按化合物名稱、同義詞或標識符搜索 ChEMBL 數據庫。
- 詳細化合物信息:檢索包括結構、性質和註釋在內的全面化合物信息。
- 基於 InChI 的搜索:通過 InChI 鍵或 InChI 字符串查找化合物。
- 結構檢索:以各種格式(SMILES、InChI、MOL、SDF)獲取化學結構信息。
- 相似性搜索:使用 Tanimoto 相似性查找化學結構相似的化合物。
靶點分析與藥物發現(5 種工具)
- 靶點搜索:按名稱或類型搜索生物靶點。
- 詳細靶點信息:檢索全面的靶點信息和註釋。
- 靶點化合物:獲取針對特定靶點測試的化合物。
- UniProt 集成:通過 UniProt 登錄號查找 ChEMBL 靶點。
- 靶點通路:關聯生物通路和機制。
生物活性與測定數據(5 種工具)
- 活性搜索:搜索生物活性測量值和測定結果。
- 詳細測定信息:獲取全面的測定方案和條件。
- 活性類型搜索:按特定活性類型和值範圍查找生物活性數據。
- 劑量反應分析:獲取劑量反應數據和活性概況。
- 活性比較:比較多種化合物或靶點的生物活性數據。
藥物開發與臨床數據(4 種工具)
- 藥物搜索:搜索已批准藥物和臨床候選藥物。
- 藥物開發狀態:獲取藥物開發狀態和臨床試驗信息。
- 治療適應症:搜索治療適應症和疾病領域。
- 作用機制:獲取作用機制和靶點相互作用數據。
化學性質分析(4 種工具)
- ADMET 分析:分析 ADMET 性質(吸收、分佈、代謝、排洩、毒性)。
- 分子描述符:計算分子描述符和物理化學性質。
- 溶解度預測:預測水溶性和滲透性。
- 類藥性評估:使用 Lipinski 五規則評估類藥性。
高級搜索與交叉引用(4 種工具)
- 子結構搜索:查找包含特定子結構的化合物。
- 批量處理:高效處理多個 ChEMBL ID。
- 外部引用:獲取外部數據庫(PubChem、DrugBank、PDB 等)的鏈接。
- 高級搜索:使用多個化學和生物過濾器進行復雜查詢。
資源模板
可通過 URI 模板直接訪問 ChEMBL 數據,實現無縫集成。
📦 安裝指南
前提條件
- Node.js(v16 或更高版本)
- npm 或 yarn
安裝步驟
- 克隆倉庫:
git clone <repository-url>
cd chembl-server
- 安裝依賴項:
npm install
- 構建項目:
npm run build
Docker 安裝
構建 Docker 鏡像
docker build -t chembl-mcp-server .
使用 Docker 運行
docker run -i chembl-mcp-server
對於 MCP 客戶端集成,可直接使用以下配置:
{
"mcpServers": {
"chembl": {
"command": "docker",
"args": ["run", "-i", "chembl-mcp-server"],
"env": {}
}
}
}
💻 使用示例
作為 MCP 服務器運行
npm start
添加到 MCP 客戶端配置
將服務器添加到 MCP 客戶端配置(例如,Claude Desktop):
{
"mcpServers": {
"chembl": {
"command": "node",
"args": ["/path/to/chembl-server/build/index.js"],
"env": {}
}
}
}
可用工具示例
1. search_compounds
按名稱、同義詞或標識符搜索 ChEMBL 數據庫中的化合物。
參數:
query
(必填):搜索查詢(化合物名稱、同義詞或標識符)
limit
(可選):返回結果的數量(1 - 1000,默認值:25)
offset
(可選):跳過的結果數量(默認值:0)
示例:
{
"query": "aspirin",
"limit": 10
}
2. get_compound_info
通過 ChEMBL ID 獲取特定化合物的詳細信息。
參數:
chembl_id
(必填):ChEMBL 化合物 ID(例如,CHEMBL25)
示例:
{
"chembl_id": "CHEMBL25"
}
3. search_targets
按名稱或類型搜索生物靶點。
參數:
query
(必填):靶點名稱或搜索查詢
target_type
(可選):靶點類型過濾器(例如,SINGLE PROTEIN、PROTEIN COMPLEX)
organism
(可選):生物體過濾器
limit
(可選):返回結果的數量(1 - 1000,默認值:25)
示例:
{
"query": "dopamine receptor",
"organism": "Homo sapiens",
"limit": 5
}
4. search_activities
搜索生物活性測量值和測定結果。
參數:
target_chembl_id
(可選):ChEMBL 靶點 ID 過濾器
assay_chembl_id
(可選):ChEMBL 測定 ID 過濾器
molecule_chembl_id
(可選):ChEMBL 化合物 ID 過濾器
activity_type
(可選):活性類型(例如,IC50、Ki、EC50)
limit
(可選):返回結果的數量(1 - 1000,默認值:25)
示例:
{
"target_chembl_id": "CHEMBL2095173",
"activity_type": "IC50",
"limit": 50
}
5. batch_compound_lookup
高效處理多個 ChEMBL ID。
參數:
chembl_ids
(必填):ChEMBL 化合物 ID 數組(1 - 50)
示例:
{
"chembl_ids": ["CHEMBL25", "CHEMBL59", "CHEMBL1642"]
}
資源模板使用示例
1. 化合物信息
- URI:
chembl://compound/{chembl_id}
- 描述:獲取 ChEMBL ID 對應的完整化合物信息
- 示例:
chembl://compound/CHEMBL25
2. 靶點信息
- URI:
chembl://target/{chembl_id}
- 描述:獲取 ChEMBL 靶點 ID 對應的完整靶點信息
- 示例:
chembl://target/CHEMBL2095173
3. 測定信息
- URI:
chembl://assay/{chembl_id}
- 描述:獲取 ChEMBL 測定 ID 對應的完整測定信息
- 示例:
chembl://assay/CHEMBL1217643
4. 活性信息
- URI:
chembl://activity/{activity_id}
- 描述:獲取活性 ID 對應的生物活性測量數據
- 示例:
chembl://activity/12345678
5. 搜索結果
- URI:
chembl://search/{query}
- 描述:獲取與查詢匹配的化合物搜索結果
- 示例:
chembl://search/aspirin
綜合使用示例
基本化合物搜索
搜索與阿司匹林相關的化合物:
{
"tool": "search_compounds",
"arguments": {
"query": "aspirin",
"limit": 5
}
}
獲取詳細化合物信息
檢索阿司匹林的全面信息:
{
"tool": "get_compound_info",
"arguments": {
"chembl_id": "CHEMBL25"
}
}
基於靶點的搜索
查找針對多巴胺受體測試的化合物:
{
"tool": "search_targets",
"arguments": {
"query": "dopamine receptor D2",
"organism": "Homo sapiens"
}
}
生物活性分析
搜索針對特定靶點的 IC50 數據:
{
"tool": "search_activities",
"arguments": {
"target_chembl_id": "CHEMBL2095173",
"activity_type": "IC50",
"limit": 100
}
}
批量處理
高效處理多個化合物:
{
"tool": "batch_compound_lookup",
"arguments": {
"chembl_ids": ["CHEMBL25", "CHEMBL59", "CHEMBL1642", "CHEMBL1201585"]
}
}
📚 詳細文檔
API 集成
本服務器與 ChEMBL REST API 集成,可通過編程方式訪問化學數據。有關 ChEMBL 的更多信息:
- ChEMBL 網站:https://www.ebi.ac.uk/chembl/
- API 文檔:https://chembl.gitbook.io/chembl-interface-documentation/web-services
- REST API 指南:https://www.ebi.ac.uk/chembl/api/data/docs
所有 API 請求包含以下信息:
- User-Agent:
ChEMBL-MCP-Server/1.0.0
- 超時時間:30 秒
- 基礎 URL:
https://www.ebi.ac.uk/chembl/api/data
錯誤處理
服務器包含全面的錯誤處理機制:
- 輸入驗證:使用類型保護驗證所有參數。
- API 錯誤:捕獲網絡和 API 錯誤,並返回描述性消息。
- 超時處理:請求在 30 秒後超時。
- 優雅降級:適當處理部分失敗情況。
開發相關
構建項目
npm run build
開發模式
以監聽模式運行 TypeScript 編譯器:
npm run dev
項目結構
chembl-server/
├── src/
│ └── index.ts # 主服務器實現
├── build/ # 編譯後的 JavaScript 輸出
├── package.json # Node.js 依賴項和腳本
├── tsconfig.json # TypeScript 配置
└── README.md # 本文件
依賴項
- @modelcontextprotocol/sdk:用於服務器實現的核心 MCP SDK
- axios:用於 ChEMBL API 請求的 HTTP 客戶端
- typescript:用於開發的 TypeScript 編譯器
📄 許可證
本項目採用 MIT 許可證。
貢獻指南
- 分叉倉庫。
- 創建功能分支。
- 進行修改。
- 如有必要,添加測試。
- 提交拉取請求。
支持與反饋
如有問題和疑問:
- 查看 ChEMBL API 文檔。
- 查看 模型上下文協議規範。
- 在倉庫中創建問題。
關於 Augmented Nature
這個全面的 ChEMBL MCP 服務器由 Augmented Nature 開發,該公司是人工智能驅動的生物信息學和計算化學解決方案的領先創新者。Augmented Nature 專注於創建先進工具,彌合人工智能與化學研究之間的差距,使研究人員能夠從化學和生物數據中獲得更深入的見解。
完整工具參考
核心化學搜索與檢索工具
search_compounds
- 按名稱、同義詞或標識符搜索 ChEMBL 數據庫
get_compound_info
- 通過 ChEMBL ID 獲取詳細化合物信息
search_by_inchi
- 通過 InChI 鍵或 InChI 字符串查找化合物
get_compound_structure
- 以各種格式檢索化學結構
search_similar_compounds
- 使用 Tanimoto 相似性查找化學結構相似的化合物
靶點分析與藥物發現工具
search_targets
- 按名稱或類型搜索生物靶點
get_target_info
- 通過 ChEMBL 靶點 ID 獲取詳細靶點信息
get_target_compounds
- 獲取針對特定靶點測試的化合物
search_by_uniprot
- 通過 UniProt 登錄號查找 ChEMBL 靶點
get_target_pathways
- 獲取與靶點相關的生物通路
生物活性與測定數據工具
search_activities
- 搜索生物活性測量值和測定結果
get_assay_info
- 通過 ChEMBL 測定 ID 獲取詳細測定信息
search_by_activity_type
- 按活性類型和值範圍查找生物活性數據
get_dose_response
- 獲取劑量反應數據和活性概況
compare_activities
- 比較多種化合物的生物活性數據
藥物開發與臨床數據工具
search_drugs
- 搜索已批准藥物和臨床候選藥物
get_drug_info
- 獲取藥物開發狀態和臨床試驗信息
search_drug_indications
- 搜索治療適應症和疾病領域
get_mechanism_of_action
- 獲取作用機制和靶點相互作用數據
化學性質分析工具
analyze_admet_properties
- 分析 ADMET 性質
calculate_descriptors
- 計算分子描述符和物理化學性質
predict_solubility
- 預測水溶性和滲透性
assess_drug_likeness
- 使用 Lipinski 五規則評估類藥性
高級搜索與交叉引用工具
substructure_search
- 查找包含特定子結構的化合物
batch_compound_lookup
- 高效處理多個 ChEMBL ID
get_external_references
- 獲取外部數據庫的鏈接
advanced_search
- 使用多個化學和生物過濾器進行復雜查詢
更新日誌
v1.0.0 - 初始版本
- 全面的化學智能:提供 27 種用於藥物發現的專業工具。
- 核心功能:化合物搜索、靶點分析、生物活性數據。
- 高級功能:相似性搜索、批量處理、交叉引用。
- 資源模板:通過基於 URI 的方式直接訪問 ChEMBL 數據。
- Docker 支持:採用安全最佳實踐進行容器化部署。
- 專業文檔:提供完整的工具參考和示例。
- 由 Augmented Nature 開發:專業的化學信息學平臺。
引用說明
如果您在研究或出版物中使用本項目,請按以下方式引用:
@misc{chemblmcp2025,
author = {Moudather Chelbi},
title = {ChEMBL MCP Server},
year = {2025},
howpublished = {https://github.com/Augmented-Nature/ChEMBL-MCP-Server},
note = {Accessed: 2025-06-29}
}