ChEMBL MCP Server

ChEMBL MCP Server

🚀 非官方 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

安装步骤

  1. 克隆仓库:
git clone 
cd chembl-server
  1. 安装依赖项:
npm install
  1. 构建项目:
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. 化合物信息

  • URIchembl://compound/{chembl_id}
  • 描述:获取 ChEMBL ID 对应的完整化合物信息
  • 示例chembl://compound/CHEMBL25

2. 靶点信息

  • URIchembl://target/{chembl_id}
  • 描述:获取 ChEMBL 靶点 ID 对应的完整靶点信息
  • 示例chembl://target/CHEMBL2095173

3. 测定信息

  • URIchembl://assay/{chembl_id}
  • 描述:获取 ChEMBL 测定 ID 对应的完整测定信息
  • 示例chembl://assay/CHEMBL1217643

4. 活性信息

  • URIchembl://activity/{activity_id}
  • 描述:获取活性 ID 对应的生物活性测量数据
  • 示例chembl://activity/12345678

5. 搜索结果

  • URIchembl://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-AgentChEMBL-MCP-Server/1.0.0
  • 超时时间:30 秒
  • 基础 URLhttps://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 许可证。

贡献指南

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

支持与反馈

如有问题和疑问:

  1. 查看 ChEMBL API 文档
  2. 查看 模型上下文协议规范
  3. 在仓库中创建问题。

关于 Augmented Nature

这个全面的 ChEMBL MCP 服务器由 Augmented Nature 开发,该公司是人工智能驱动的生物信息学和计算化学解决方案的领先创新者。Augmented Nature 专注于创建先进工具,弥合人工智能与化学研究之间的差距,使研究人员能够从化学和生物数据中获得更深入的见解。

完整工具参考

核心化学搜索与检索工具

  1. search_compounds - 按名称、同义词或标识符搜索 ChEMBL 数据库
  2. get_compound_info - 通过 ChEMBL ID 获取详细化合物信息
  3. search_by_inchi - 通过 InChI 键或 InChI 字符串查找化合物
  4. get_compound_structure - 以各种格式检索化学结构
  5. search_similar_compounds - 使用 Tanimoto 相似性查找化学结构相似的化合物

靶点分析与药物发现工具

  1. search_targets - 按名称或类型搜索生物靶点
  2. get_target_info - 通过 ChEMBL 靶点 ID 获取详细靶点信息
  3. get_target_compounds - 获取针对特定靶点测试的化合物
  4. search_by_uniprot - 通过 UniProt 登录号查找 ChEMBL 靶点
  5. get_target_pathways - 获取与靶点相关的生物通路

生物活性与测定数据工具

  1. search_activities - 搜索生物活性测量值和测定结果
  2. get_assay_info - 通过 ChEMBL 测定 ID 获取详细测定信息
  3. search_by_activity_type - 按活性类型和值范围查找生物活性数据
  4. get_dose_response - 获取剂量反应数据和活性概况
  5. compare_activities - 比较多种化合物的生物活性数据

药物开发与临床数据工具

  1. search_drugs - 搜索已批准药物和临床候选药物
  2. get_drug_info - 获取药物开发状态和临床试验信息
  3. search_drug_indications - 搜索治疗适应症和疾病领域
  4. get_mechanism_of_action - 获取作用机制和靶点相互作用数据

化学性质分析工具

  1. analyze_admet_properties - 分析 ADMET 性质
  2. calculate_descriptors - 计算分子描述符和物理化学性质
  3. predict_solubility - 预测水溶性和渗透性
  4. assess_drug_likeness - 使用 Lipinski 五规则评估类药性

高级搜索与交叉引用工具

  1. substructure_search - 查找包含特定子结构的化合物
  2. batch_compound_lookup - 高效处理多个 ChEMBL ID
  3. get_external_references - 获取外部数据库的链接
  4. 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}
}
  • 0 关注
  • 0 收藏,21 浏览
  • system 提出于 2025-09-22 08:18

相似服务问题

相关AI产品