Unofficial ChEMBL MCP Server
Acesse o banco de dados químico ChEMBL para descoberta de medicamentos, informática química e pesquisa de bioatividade usando ferramentas especializadas por meio de sua API REST.
Documentação

Unofficial ChEMBL MCP Server
Um servidor abrangente do Model Context Protocol (MCP) que fornece acesso avançado ao banco de dados químico ChEMBL. Este servidor oferece 22 ferramentas especializadas que permitem a assistentes de IA e clientes MCP realizar pesquisas sofisticadas de descoberta de medicamentos, análises de informática química e investigações de bioatividade diretamente por meio da API REST do ChEMBL.
Desenvolvido pela Augmented Nature
Recursos
Pesquisa e Recuperação Química Essencial (5 ferramentas)
- Pesquisa de Compostos: Pesquise o banco de dados ChEMBL por nome do composto, sinônimo ou identificador
- Informações Detalhadas do Composto: Recupere informações abrangentes do composto, incluindo estrutura, propriedades e anotações
- Pesquisa baseada em InChI: Encontre compostos por chave InChI ou string InChI
- Recuperação de Estrutura: Obtenha informações de estrutura química em vários formatos (SMILES, InChI, MOL, SDF)
- Pesquisa de Similaridade: Encontre compostos quimicamente semelhantes usando similaridade de Tanimoto
Análise de Alvos e Descoberta de Medicamentos (5 ferramentas)
- Pesquisa de Alvos: Pesquise alvos biológicos por nome ou tipo
- Informações Detalhadas do Alvo: Recupere informações abrangentes do alvo e anotações
- Compostos do Alvo: Obtenha compostos testados contra alvos específicos
- Integração UniProt: Encontre alvos ChEMBL por números de acesso UniProt
- Vias do Alvo: Vias biológicas e mecanismos associados
Dados de Bioatividade e Ensaios (5 ferramentas)
- Pesquisa de Atividade: Pesquise medições de bioatividade e resultados de ensaios
- Informações Detalhadas do Ensaio: Obtenha protocolos e condições abrangentes de ensaios
- Pesquisa por Tipo de Atividade: Encontre dados de bioatividade por tipo de atividade e faixa de valores específicos
- Análise de Dose-Resposta: Obtenha dados de dose-resposta e perfis de atividade
- Comparação de Atividade: Compare dados de bioatividade entre múltiplos compostos ou alvos
Dados de Desenvolvimento de Medicamentos e Clínicos (4 ferramentas)
- Pesquisa de Medicamentos: Pesquise medicamentos aprovados e candidatos clínicos
- Status de Desenvolvimento de Medicamentos: Obtenha status de desenvolvimento de medicamentos e informações de ensaios clínicos
- Indicações Terapêuticas: Pesquise indicações terapêuticas e áreas de doenças
- Mecanismo de Ação: Obtenha dados de mecanismo de ação e interação com alvos
Análise de Propriedades Químicas (4 ferramentas)
- Análise ADMET: Analise propriedades ADMET (Absorção, Distribuição, Metabolismo, Excreção, Toxicidade)
- Descritores Moleculares: Calcule descritores moleculares e propriedades físico-químicas
- Predição de Solubilidade: Prediga propriedades de solubilidade aquosa e permeabilidade
- Avaliação de Drug-Likeness: Avalie drug-likeness usando a Regra dos Cinco de Lipinski e outras métricas
Pesquisa Avançada e Referências Cruzadas (4 ferramentas)
- Pesquisa de Subestrutura: Encontre compostos contendo subestruturas específicas
- Processamento em Lote: Processe múltiplos IDs ChEMBL de forma eficiente
- Referências Externas: Obtenha links para bancos de dados externos (PubChem, DrugBank, PDB, etc.)
- Pesquisa Avançada: Consultas complexas com múltiplos filtros químicos e biológicos
Modelos de Recursos
- Acesso direto aos dados do ChEMBL por meio de modelos de URI para integração perfeita
Instalação
Pré-requisitos
- Node.js (v16 ou superior)
- npm ou yarn
Configuração
- Clone o repositório:
git clone <repository-url>
cd chembl-server
- Instale as dependências:
npm install
- Compile o projeto:
npm run build
Docker
Construindo a Imagem Docker
Construa a imagem Docker:
docker build -t chembl-mcp-server .
Executando com Docker
Execute o contêiner:
docker run -i chembl-mcp-server
Para integração com clientes MCP, você pode usar o contêiner diretamente:
{
"mcpServers": {
"chembl": {
"command": "docker",
"args": ["run", "-i", "chembl-mcp-server"],
"env": {}
}
}
}
Uso
Como um Servidor MCP
O servidor foi projetado para ser executado como um servidor MCP que se comunica via stdio:
npm start
Adicionando à Configuração do Cliente MCP
Adicione o servidor à configuração do seu cliente MCP (por exemplo, Claude Desktop):
{
"mcpServers": {
"chembl": {
"command": "node",
"args": ["/path/to/chembl-server/build/index.js"],
"env": {}
}
}
}
Ferramentas Disponíveis
1. search_compounds
Pesquise o banco de dados ChEMBL por compostos por nome, sinônimo ou identificador.
Parâmetros:
query(obrigatório): Consulta de pesquisa (nome do composto, sinônimo ou identificador)limit(opcional): Número de resultados a retornar (1-1000, padrão: 25)offset(opcional): Número de resultados a pular (padrão: 0)
Exemplo:
{
"query": "aspirin",
"limit": 10
}
2. get_compound_info
Obtenha informações detalhadas para um composto específico por ID ChEMBL.
Parâmetros:
chembl_id(obrigatório): ID do composto ChEMBL (por exemplo, CHEMBL25)
Exemplo:
{
"chembl_id": "CHEMBL25"
}
3. search_targets
Pesquise alvos biológicos por nome ou tipo.
Parâmetros:
query(obrigatório): Nome do alvo ou consulta de pesquisatarget_type(opcional): Filtro de tipo de alvo (por exemplo, SINGLE PROTEIN, PROTEIN COMPLEX)organism(opcional): Filtro de organismolimit(opcional): Número de resultados a retornar (1-1000, padrão: 25)
Exemplo:
{
"query": "dopamine receptor",
"organism": "Homo sapiens",
"limit": 5
}
4. search_activities
Pesquise medições de bioatividade e resultados de ensaios.
Parâmetros:
target_chembl_id(opcional): Filtro de ID de alvo ChEMBLassay_chembl_id(opcional): Filtro de ID de ensaio ChEMBLmolecule_chembl_id(opcional): Filtro de ID de composto ChEMBLactivity_type(opcional): Tipo de atividade (por exemplo, IC50, Ki, EC50)limit(opcional): Número de resultados a retornar (1-1000, padrão: 25)
Exemplo:
{
"target_chembl_id": "CHEMBL2095173",
"activity_type": "IC50",
"limit": 50
}
5. batch_compound_lookup
Processe múltiplos IDs ChEMBL de forma eficiente.
Parâmetros:
chembl_ids(obrigatório): Matriz de IDs de compostos ChEMBL (1-50)
Exemplo:
{
"chembl_ids": ["CHEMBL25", "CHEMBL59", "CHEMBL1642"]
}
Modelos de Recursos
O servidor fornece acesso direto aos dados do ChEMBL por meio de modelos de URI:
1. Informações do Composto
- URI:
chembl://compound/{chembl_id} - Descrição: Informações completas do composto para um ID ChEMBL
- Exemplo:
chembl://compound/CHEMBL25
2. Informações do Alvo
- URI:
chembl://target/{chembl_id} - Descrição: Informações completas do alvo para um ID de alvo ChEMBL
- Exemplo:
chembl://target/CHEMBL2095173
3. Informações do Ensaio
- URI:
chembl://assay/{chembl_id} - Descrição: Informações completas do ensaio para um ID de ensaio ChEMBL
- Exemplo:
chembl://assay/CHEMBL1217643
4. Informações da Atividade
- URI:
chembl://activity/{activity_id} - Descrição: Dados de medição de bioatividade para um ID de atividade
- Exemplo:
chembl://activity/12345678
5. Resultados da Pesquisa
- URI:
chembl://search/{query} - Descrição: Resultados da pesquisa para compostos que correspondem à consulta
- Exemplo:
chembl://search/aspirin
Exemplos
Pesquisa Básica de Compostos
Pesquise compostos relacionados à aspirina:
// Tool call
{
"tool": "search_compounds",
"arguments": {
"query": "aspirin",
"limit": 5
}
}
Obtenha Informações Detalhadas do Composto
Recupere informações abrangentes sobre a aspirina:
// Tool call
{
"tool": "get_compound_info",
"arguments": {
"chembl_id": "CHEMBL25"
}
}
Pesquisa Baseada em Alvo
Encontre compostos testados contra receptores de dopamina:
// Tool call
{
"tool": "search_targets",
"arguments": {
"query": "dopamine receptor D2",
"organism": "Homo sapiens"
}
}
Análise de Bioatividade
Pesquise dados de IC50 contra um alvo específico:
// Tool call
{
"tool": "search_activities",
"arguments": {
"target_chembl_id": "CHEMBL2095173",
"activity_type": "IC50",
"limit": 100
}
}
Processamento em Lote
Processe múltiplos compostos de forma eficiente:
// Tool call
{
"tool": "batch_compound_lookup",
"arguments": {
"chembl_ids": ["CHEMBL25", "CHEMBL59", "CHEMBL1642", "CHEMBL1201585"]
}
}
Integração com API
Este servidor integra-se com a API REST do ChEMBL para acesso programático a dados químicos. Para mais informações sobre o ChEMBL:
- Site do ChEMBL: https://www.ebi.ac.uk/chembl/
- Documentação da API: https://chembl.gitbook.io/chembl-interface-documentation/web-services
- Guia da API REST: https://www.ebi.ac.uk/chembl/api/data/docs
Todas as solicitações de API incluem:
- User-Agent:
ChEMBL-MCP-Server/1.0.0 - Tempo limite: 30 segundos
- URL base:
https://www.ebi.ac.uk/chembl/api/data
Tratamento de Erros
O servidor inclui tratamento abrangente de erros:
- Validação de Entrada: Todos os parâmetros são validados usando guardas de tipo
- Erros de API: Erros de rede e de API são capturados e retornados com mensagens descritivas
- Tratamento de Tempo Limite: As solicitações expiram após 30 segundos
- Degradação Graciosa: Falhas parciais são tratadas adequadamente
Desenvolvimento
Compile o Projeto
npm run build
Modo de Desenvolvimento
Execute o compilador TypeScript em modo de observação:
npm run dev
Estrutura do Projeto
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
Dependências
- @modelcontextprotocol/sdk: SDK MCP essencial para implementação do servidor
- axios: Cliente HTTP para solicitações à API ChEMBL
- typescript: Compilador TypeScript para desenvolvimento
Licença
Licença MIT
Contribuição
- Faça um fork do repositório
- Crie um branch de recurso
- Faça suas alterações
- Adicione testes, se aplicável
- Envie um pull request
Suporte
Para problemas e perguntas:
- Consulte a documentação da API ChEMBL
- Revise a especificação do Model Context Protocol
- Abra um problema no repositório
Sobre a Augmented Nature
Este servidor ChEMBL MCP abrangente é desenvolvido pela Augmented Nature, uma inovadora líder em soluções de bioinformática e química computacional alimentadas por IA. A Augmented Nature é especializada na criação de ferramentas avançadas que preenchem a lacuna entre inteligência artificial e pesquisa química, permitindo que pesquisadores obtenham insights mais profundos a partir de dados químicos e biológicos.
Referência Completa de Ferramentas
Ferramentas Essenciais de Pesquisa e Recuperação Química
search_compounds- Pesquise o banco de dados ChEMBL por nome, sinônimo ou identificadorget_compound_info- Obtenha informações detalhadas do composto por ID ChEMBLsearch_by_inchi- Encontre compostos por chave InChI ou string InChIget_compound_structure- Recupere estruturas químicas em vários formatossearch_similar_compounds- Encontre compostos quimicamente semelhantes usando similaridade de Tanimoto
Ferramentas de Análise de Alvos e Descoberta de Medicamentos
search_targets- Pesquise alvos biológicos por nome ou tipoget_target_info- Obtenha informações detalhadas do alvo por ID de alvo ChEMBLget_target_compounds- Obtenha compostos testados contra alvos específicossearch_by_uniprot- Encontre alvos ChEMBL por acesso UniProtget_target_pathways- Obtenha vias biológicas associadas a alvos
Ferramentas de Dados de Bioatividade e Ensaios
search_activities- Pesquise medições de bioatividade e resultados de ensaiosget_assay_info- Obtenha informações detalhadas do ensaio por ID de ensaio ChEMBLsearch_by_activity_type- Encontre dados de bioatividade por tipo de atividade e faixa de valoresget_dose_response- Obtenha dados de dose-resposta e perfis de atividadecompare_activities- Compare dados de bioatividade entre múltiplos compostos
Ferramentas de Desenvolvimento de Medicamentos e Dados Clínicos
search_drugs- Pesquise medicamentos aprovados e candidatos clínicosget_drug_info- Obtenha status de desenvolvimento de medicamentos e informações de ensaios clínicossearch_drug_indications- Pesquise indicações terapêuticas e áreas de doençasget_mechanism_of_action- Obtenha dados de mecanismo de ação e interação com alvos
Ferramentas de Análise de Propriedades Químicas
analyze_admet_properties- Analise propriedades ADMETcalculate_descriptors- Calcule descritores moleculares e propriedades físico-químicaspredict_solubility- Prediga propriedades de solubilidade aquosa e permeabilidadeassess_drug_likeness- Avalie drug-likeness usando a Regra dos Cinco de Lipinski
Ferramentas Avançadas de Pesquisa e Referências Cruzadas
substructure_search- Encontre compostos contendo subestruturas específicasbatch_compound_lookup- Processe múltiplos IDs ChEMBL de forma eficienteget_external_references- Obtenha links para bancos de dados externosadvanced_search- Consultas complexas com múltiplos filtros químicos e biológicos
Histórico de Alterações
v1.0.0 - Lançamento Inicial
- Inteligência Química Abrangente: 27 ferramentas especializadas para descoberta de medicamentos
- Funcionalidade Essencial: Pesquisa de compostos, análise de alvos, dados de bioatividade
- Recursos Avançados: Pesquisa de similaridade, processamento em lote, referências cruzadas
- Modelos de Recursos: Acesso direto baseado em URI aos dados do ChEMBL
- Suporte Docker: Implantação em contêiner com práticas recomendadas de segurança
- Documentação Profissional: Referência completa de ferramentas e exemplos
- Desenvolvido pela Augmented Nature: Plataforma profissional de informática química
Citação
Se você usar este projeto em sua pesquisa ou publicações, cite-o da seguinte forma:
author = {Moudather Chelbi},
title = {ChEMBL MCP Server},
year = {2025},
howpublished = {https://github.com/Augmented-Nature/ChEMBL-MCP-Server},
note = {Accessed: 2025-06-29}