
一个全面的模型上下文协议(MCP)服务器,提供对ChEMBL化学数据库的高级访问。该服务器提供了22个专业工具,使AI助手和MCP客户端能够通过ChEMBL的REST API进行复杂的药物发现研究、化学信息学分析和生物活性调查。
由 Augmented Nature 开发
git clone <repository-url>
cd chembl-server
npm install
npm run build
构建Docker镜像:
docker build -t chembl-mcp-server .
运行容器:
docker run -i chembl-mcp-server
对于MCP客户端集成,可以直接使用容器:
{
"mcpServers": {
"chembl": {
"command": "docker",
"args": ["run", "-i", "chembl-mcp-server"],
"env": {}
}
}
}
该服务器设计为通过标准输入输出通信的MCP服务器:
npm start
将服务器添加到您的MCP客户端配置中(例如,Claude Desktop):
{
"mcpServers": {
"chembl": {
"command": "node",
"args": ["/path/to/chembl-server/build/index.js"],
"env": {}
}
}
}
按名称、同义词或标识符搜索ChEMBL数据库中的化合物。
参数:
query(必需):搜索查询(化合物名称、同义词或标识符)limit(可选):返回的结果数量(1-1000,默认:25)offset(可选):跳过的结果数量(默认:0)示例:
{
"query": "阿司匹林",
"limit": 10
}
通过ChEMBL ID获取特定化合物的详细信息。
参数:
chembl_id(必需):ChEMBL化合物ID(例如,CHEMBL25)示例:
{
"chembl_id": "CHEMBL25"
}
按名称或类型搜索生物靶标。
参数:
query(必需):靶标名称或搜索查询target_type(可选):靶标类型过滤器(例如,单蛋白、蛋白质复合物)organism(可选):物种过滤器limit(可选):返回的结果数量(1-1000,默认:25)示例:
{
"query": "多巴胺受体",
"organism": "Homo sapiens",
限制": 5
}
搜索生物活性测量和测定结果。
参数:
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
}
高效处理多个ChEMBL ID。
参数:
chembl_ids(必需):ChEMBL化合物ID数组(1-50)示例:
{
"chembl_ids": ["CHEMBL25", "CHEMBL59", "CHEMBL1642"]
}
该服务器通过URI模板直接访问ChEMBL数据:
chembl://compound/{chembl_id}chembl://compound/CHEMBL25chembl://target/{chembl_id}chembl://target/CHEMBL2095173chembl://assay/{chembl_id}chembl://assay/CHEMBL1217643chembl://activity/{activity_id}chembl://activity/12345678chembl://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"]
}
}
此服务器通过ChEMBL REST API进行程序化访问化学数据。有关ChEMBL的更多信息:
所有API请求包括:
ChEMBL-MCP-Server/1.0.0https://www.ebi.ac.uk/chembl/api/data该服务器包括全面的错误处理:
npm run build
在监视模式下运行TypeScript编译器:
npm run dev
chembl-server/
├── src/
│ └── index.ts # 主服务器实现
├── build/ # 编译后的JavaScript输出
├── package.json # Node.js依赖项和脚本
├── tsconfig.json # TypeScript配置
└── README.md # 此文件
MIT许可证
对于问题和疑问:
这个全面的ChEMBL MCP服务器是由**Augmented Nature**开发的,该公司是人工智能驱动的生物信息学和计算化学解决方案的领先创新者。Augmented Nature专注于创建先进的工具,弥合人工智能和化学研究之间的差距,使研究人员能够从化学和生物数据中获得更深入的见解。
search_compounds - 按名称、同义词或标识符搜索ChEMBL数据库get_compound_info - 通过ChEMBL ID获取详细化合物信息search_by_inchi - 通过InChI键或InChI字符串查找化合物get_compound_structure - 以多种格式检索化学结构search_similar_compounds - 使用Tanimoto相似度查找化学相似的化合物search_targets - 按名称或类型搜索生物靶标get_target_info - 通过ChEMBL靶标ID获取详细靶标信息get_target_compounds - 获取针对特定靶标的测试化合物search_by_uniprot - 通过UniProt访问编号查找ChEMBL靶标get_target_pathways - 获取与靶标相关的生物途径search_activities - 搜索生物活性测量和测定结果get_assay_info - 通过ChEMBL测定ID获取详细测定信息search_by_activity_type - 根据特定活性类型和值范围查找生物活性数据get_dose_response - 获取剂量反应数据和活性概况compare_activities - 跨多个化合物比较生物活性数据search_drugs - 搜索已批准的药物和临床候选物get_drug_info - 获取药物开发状态和临床试验信息search_drug_indications - 搜索治疗适应症和疾病领域get_mechanism_of_action - 获取作用机制和靶标相互作用数据analyze_admet_properties - 分析ADMET性质calculate_descriptors - 计算分子描述符和物理化学性质predict_solubility - 预测水溶性和渗透性性质assess_drug_likeness - 使用Lipinski五规则评估类药性substructure_search - 查找包含特定子结构的化合物batch_compound_lookup - 高效处理多个ChEMBL IDget_external_references - 获取指向外部数据库的链接advanced_search - 具有多个化学和生物过滤器的复杂查询如果您在研究或出版物中使用了该项目,请按照以下方式引用:
author = {Moudather Chelbi},
title = {ChEMBL MCP Server},
year = {2025},
howpublished = {https://github.com/Augmented-Nature/ChEMBL-MCP-Server},
note = {访问日期:2025-06-29}