可用于药物发现研究、化学信息学分析和生物活性研究,提供22个专业工具,通过 ChEMBL 的 REST API 实现化合物搜索、靶点分析、生物活性数据查询等功能,支持 MCP 客户端集成。【此简介由AI生成】

非官方 ChEMBL MCP Server
一个全面的模型上下文协议(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 镜像:
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 服务器
该服务器设计为通过标准输入输出(stdio)进行通信的 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"]
}
资源模板
服务器通过 URI 模板提供对 ChEMBL 数据的直接访问:
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 call
{
"tool": "search_compounds",
"arguments": {
"query": "aspirin",
"limit": 5
}
}
获取详细的化合物信息
检索有关阿司匹林的综合信息:
// Tool call
{
"tool": "get_compound_info",
"arguments": {
"chembl_id": "CHEMBL25"
}
}
基于靶点的搜索
查找针对多巴胺受体进行测试的化合物:
// Tool call
{
"tool": "search_targets",
"arguments": {
"query": "dopamine receptor D2",
"organism": "Homo sapiens"
}
}
生物活性分析
搜索针对特定靶点的IC50数据:
// Tool call
{
"tool": "search_activities",
"arguments": {
"target_chembl_id": "CHEMBL2095173",
"activity_type": "IC50",
"limit": 100
}
}
批量处理
高效处理多种化合物:
// Tool call
{
"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 请求均包含:
- 用户代理:
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 # Main server implementation
├── build/ # Compiled JavaScript output
├── package.json # Node.js dependencies and scripts
├── tsconfig.json # TypeScript configuration
└── README.md # This file
依赖项
- @modelcontextprotocol/sdk:用于服务器实现的核心 MCP SDK
- axios:用于 ChEMBL API 请求的 HTTP 客户端
- typescript:用于开发的 TypeScript 编译器
许可证
MIT 许可证
贡献指南
- Fork 本仓库
- 创建功能分支
- 进行修改
- 如适用,添加测试
- 提交拉取请求
支持
有关问题和疑问:
- 查阅 ChEMBL API 文档
- 查看 模型上下文协议规范
- 在仓库上提交 issue
关于 Augmented Nature
这款全面的 ChEMBL MCP Server 由 Augmented Nature 开发。Augmented Nature 是 AI 驱动的生物信息学和计算化学解决方案领域的领先创新者,专注于打造先进工具,弥合人工智能与化学研究之间的差距,助力研究人员从化学和生物数据中发掘更深入的见解。
完整工具参考
核心化学搜索与检索工具
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 IDget_external_references- 获取外部数据库链接advanced_search- 包含多种化学和生物学筛选条件的复杂查询
更新日志
v1.0.0 - 初始版本
- 全面化学智能:27个药物发现专用工具
- 核心功能:化合物搜索、靶点分析、生物活性数据
- 高级特性:相似性搜索、批量处理、交叉引用
- 资源模板:基于URI的ChEMBL数据直接访问
- Docker支持:采用安全最佳实践的容器化部署
- 专业文档:完整的工具参考和示例
- 由Augmented Nature开发:专业化学信息学平台
引用说明
如果您在研究或出版物中使用本项目,请按以下格式引用:
author = {Moudather Chelbi},
title = {ChEMBL MCP Server},
year = {2025},
howpublished = {https://github.com/Augmented-Nature/ChEMBL-MCP-Server},
note = {Accessed: 2025-06-29}