Skip to main content
Glama

ChEMBL MCP 服务器徽标

ChEMBL MCP 服务器

全面的模型上下文协议 (MCP) 服务器,提供对 ChEMBL 化学数据库的高级访问。该服务器提供 22 种专用工具,使 AI 助手和 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 或 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. 搜索化合物

按名称、同义词或标识符搜索 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. 化合物信息

  • 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秒

  • 基本网址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. 分叉存储库

  2. 创建功能分支

  3. 进行更改

  4. 如果适用,添加测试

  5. 提交拉取请求

支持

对于问题和疑问:

  1. 查看ChEMBL API 文档

  2. 查看模型上下文协议规范

  3. 在存储库上打开一个问题

关于增强自然

这款功能全面的 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 开发:专业化学信息学平台

Related MCP Servers

View all related MCP servers

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Augmented-Nature/ChEMBL-MCP-Server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server