返回市场
化学数据库MCP服务器

化学数据库MCP服务器

作者:Augmented-Nature70 星标更新:2025-10-27

项目介绍

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服务器

该服务器设计为通过标准输入输出通信的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": "阿司匹林",
  "limit": 10
}

2. get_compound_info

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

参数:

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

示例:

{
  "chembl_id": "CHEMBL25"
}

3. search_targets

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

参数:

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

示例:

{
  "query": "多巴胺受体",
  "organism": "Homo sapiens",
  限制": 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/阿司匹林

示例

基本化合物搜索

搜索与阿司匹林相关的化合物:

// 工具调用
{
  "tool": "search_compounds",
  "arguments": {
    "query": "阿司匹林",
    "limit": 5
  }
}

获取详细化合物信息

获取关于阿司匹林的综合信息:

// 工具调用
{
  "tool": "get_compound_info",
  "arguments": {
    "chembl_id": "CHEMBL25"
  }
}

基于靶标的搜索

查找针对多巴胺受体D2的测试化合物:

// 工具调用
{
  "tool": "search_targets",
  "arguments": {
    "query": "多巴胺受体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的更多信息:

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

引用

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

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