ChEMBL-MCP-Server:基于 ChEMBL 数据库的 Model Context Protocol 服务器项目

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

分支1Tags0
当前项目代码仓暂无内容

ChEMBL MCP Server Logo

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

设置

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

  • 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 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 的更多信息:

所有 API 请求均包含:

  • 用户代理ChEMBL-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          # 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 许可证

贡献指南

  1. Fork 本仓库
  2. 创建功能分支
  3. 进行修改
  4. 如适用,添加测试
  5. 提交拉取请求

支持

有关问题和疑问:

  1. 查阅 ChEMBL API 文档
  2. 查看 模型上下文协议规范
  3. 在仓库上提交 issue

关于 Augmented Nature

这款全面的 ChEMBL MCP Server 由 Augmented Nature 开发。Augmented Nature 是 AI 驱动的生物信息学和计算化学解决方案领域的领先创新者,专注于打造先进工具,弥合人工智能与化学研究之间的差距,助力研究人员从化学和生物数据中发掘更深入的见解。

完整工具参考

核心化学搜索与检索工具

  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开发:专业化学信息学平台

引用说明

如果您在研究或出版物中使用本项目,请按以下格式引用:

author = {Moudather Chelbi},
title = {ChEMBL MCP Server},
year = {2025},
howpublished = {https://github.com/Augmented-Nature/ChEMBL-MCP-Server},
note = {Accessed: 2025-06-29}



项目介绍

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

定制我的领域