mcpField
C
Chembl Mcp Server

Chembl Mcp Server

本地服务
github.com/Augmented-Nature科研与教育8944 周前更新

关于 Chembl Mcp Server

ChEMBL MCP Server 是面向 ChEMBL 化学数据库的非官方 MCP 服务,提供 22 个专用工具,通过 ChEMBL REST API 支持药物发现、化学信息学和生物活性研究。

主要功能

  1. 01化合物搜索与结构信息获取
  2. 02靶点搜索与 UniProt 关联查询
  3. 03生物活性与分析数据检索
  4. 04药物开发状态与作用机制查询
  5. 05ADMET 与理化性质分析
  6. 06子结构搜索与批量查询

适用场景

  1. 01药物发现阶段检索候选化合物的生物活性数据
  2. 02按靶点或 UniProt 编号查找相关化合物
  3. 03批量查询 ChEMBL ID 对应的化合物信息

MCP 相关

该项目是一个 MCP 服务,向 MCP 客户端暴露 ChEMBL 的化合物、靶点、活性和药物数据查询工具,以及 chembl:// 资源模板。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"chembl-mcp-server-augmented-nature": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"build"
]
}
}
}
启动命令docker run -i --rm build

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ocibuild

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

ChEMBL MCP 服务 Logo

非官方 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 <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. 化合物信息
  • 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 的更多信息:

所有 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          # 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. 查看 Model Context Protocol 规范
  3. 在仓库中提交问题

关于 Augmented Nature

这款全面的 ChEMBL MCP 服务由 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}

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。