化学数据库访问工具

一个全面的模型上下文协议(MCP)服务器,提供对ChEMBL化学数据库的高级访问,支持药物发现研究、化学信息学分析和生物活性调查。

  • by Augmented-Nature
  • JavaScript
  • 本地部署
  • 89 星标
  • 更新于
在 GitHub 查看 Augmented-Nature/ChEMBL-MCP-Server

使用说明

非官方 ChEMBL MCP服务器

一个全面的模型上下文协议(MCP)服务器,提供对ChEMBL化学数据库的高级访问。该服务器提供22种专业工具,使人工智能助手和MCP客户能够直接通过ChEMBL的REST API进行复杂的药物发现研究、化学信息学分析和生物活性研究。

由开发 增强自然

特性

核心化学搜索与检索(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或纱线

设置

  1. 克隆存储库:
git clone <repository-url>
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服务器

该服务器设计为作为MCP服务器运行,通过stdio进行通信:

npm start

添加到MCP客户端配置

将服务器添加到MCP客户端配置中(例如,Claude Desktop):

{
  "mcpServers": {
    "chembl": {
      "command": "node",
      "args": ["/path/to/chembl-server/build/index.js"],
      "env": {}
    }
  }
}

可用工具

1.搜索_磅

按名称、同义词或标识符在ChEMBL数据库中搜索化合物。

参数:

  • query (必填):搜索查询(复合名称、同义词或标识符)
  • limit (可选):要返回的结果数(1-1000,默认值:25)
  • offset (可选):要跳过的结果数(默认值:0)

例子:

{
  "query": "aspirin",
  "limit": 10
}

2.获取信息

通过ChEMBL ID获取特定化合物的详细信息。

参数:

  • chembl_id (必填):ChEMBL化合物ID(例如CHEMBL25)

例子:

{
  "chembl_id": "CHEMBL25"
}

3.搜索目标

按名称或类型搜索生物靶标。

参数:

  • query (必填):目标名称或搜索查询
  • target_type (可选):目标类型过滤器(例如,单一蛋白质、蛋白质复合物)
  • organism (可选):生物体过滤器
  • limit (可选):要返回的结果数(1-1000,默认值:25)

例子:

{
  "query": "dopamine receptor",
  "organism": "Homo sapiens",
  "limit": 5
}

4.搜索活动

搜索生物活性测量和测定结果。

参数:

  • 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.批量查询

高效处理多个ChEMBL ID。

参数:

  • chembl_ids (必填):ChEMBL化合物ID数组(1-50)

例子:

{
  "chembl_ids": ["CHEMBL25", "CHEMBL59", "CHEMBL1642"]
}

资源模板

服务器通过URI模板提供对ChEMBL数据的直接访问:

1.化合物信息

  • 统一资源标识符: chembl://compound/{chembl_id}
  • 描述:ChEMBL ID的完整化合物信息
  • 示例: chembl://compound/CHEMBL25

2.目标信息

  • 统一资源标识符: chembl://target/{chembl_id}
  • 描述:ChEMBL目标ID的完整目标信息
  • 示例: chembl://target/CHEMBL2095173

3.化验信息

  • 统一资源标识符: chembl://assay/{chembl_id}
  • 描述:ChEMBL检测ID的完整检测信息
  • 示例: chembl://assay/CHEMBL1217643

4.活动信息

  • 统一资源标识符: chembl://activity/{activity_id}
  • 描述:活性ID的生物活性测量数据
  • 示例: chembl://activity/12345678

5.搜索结果

  • 统一资源标识符: 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

依赖项

  • @模型上下文协议/sdk:用于服务器实现的核心MCP SDK
  • 轴:用于ChEMBL API请求的HTTP客户端
  • 打字稿:用于开发的TypeScript编译器

许可证

MIT许可证

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 如果适用,添加测试
  5. 提交拉取请求

支持

对于问题和疑问:

  1. 检查 ChEMBL API文件
  2. 查看 模型上下文协议规范
  3. 在存储库上打开问题

关于增强自然

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

完整的工具参考

核心化学搜索和检索工具

  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支持:具有安全最佳实践的容器化部署
  • 专业文档:完整的工具参考和示例
  • 由增强自然开发:专业化学信息平台

引用

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

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