Unofficial ChEMBL MCP Server

Accede a la base de datos química ChEMBL para descubrimiento de fármacos, informática química e investigación de bioactividad mediante herramientas especializadas a través de su API REST.

Documentación

ChEMBL MCP Server Logo

No oficial Servidor MCP de ChEMBL

Un servidor integral del Protocolo de Contexto de Modelos (MCP) que proporciona acceso avanzado a la base de datos química ChEMBL. Este servidor ofrece 22 herramientas especializadas que permiten a los asistentes de IA y clientes MCP realizar investigaciones sofisticadas de descubrimiento de fármacos, análisis de informática química e investigaciones de bioactividad directamente a través de la API REST de ChEMBL.

Desarrollado por Augmented Nature

Características

Búsqueda y recuperación química principal (5 herramientas)

  • Búsqueda de compuestos: Busca en la base de datos ChEMBL por nombre de compuesto, sinónimo o identificador
  • Información detallada del compuesto: Recupera información completa del compuesto, incluyendo estructura, propiedades y anotaciones
  • Búsqueda basada en InChI: Encuentra compuestos por clave InChI o cadena InChI
  • Recuperación de estructura: Obtén información de estructura química en varios formatos (SMILES, InChI, MOL, SDF)
  • Búsqueda de similitud: Encuentra compuestos químicamente similares usando similitud de Tanimoto

Análisis de objetivos y descubrimiento de fármacos (5 herramientas)

  • Búsqueda de objetivos: Busca objetivos biológicos por nombre o tipo
  • Información detallada del objetivo: Recupera información completa del objetivo y anotaciones
  • Compuestos del objetivo: Obtén compuestos probados contra objetivos específicos
  • Integración UniProt: Encuentra objetivos ChEMBL por números de acceso UniProt
  • Vías del objetivo: Vías biológicas y mecanismos asociados

Datos de bioactividad y ensayos (5 herramientas)

  • Búsqueda de actividad: Busca mediciones de bioactividad y resultados de ensayos
  • Información detallada del ensayo: Obtén protocolos y condiciones completos de ensayos
  • Búsqueda por tipo de actividad: Encuentra datos de bioactividad por tipo de actividad específico y rango de valores
  • Análisis de respuesta a la dosis: Obtén datos de respuesta a la dosis y perfiles de actividad
  • Comparación de actividad: Compara datos de bioactividad entre múltiples compuestos u objetivos

Datos de desarrollo de fármacos y clínicos (4 herramientas)

  • Búsqueda de fármacos: Busca fármacos aprobados y candidatos clínicos
  • Estado de desarrollo del fármaco: Obtén información sobre el estado de desarrollo del fármaco y ensayos clínicos
  • Indicaciones terapéuticas: Busca indicaciones terapéuticas y áreas de enfermedad
  • Mecanismo de acción: Obtén datos del mecanismo de acción e interacción con objetivos

Análisis de propiedades químicas (4 herramientas)

  • Análisis ADMET: Analiza propiedades ADMET (Absorción, Distribución, Metabolismo, Excreción, Toxicidad)
  • Descriptores moleculares: Calcula descriptores moleculares y propiedades fisicoquímicas
  • Predicción de solubilidad: Predice propiedades de solubilidad acuosa y permeabilidad
  • Evaluación de similitud con fármacos: Evalúa la similitud con fármacos usando la Regla de los Cinco de Lipinski y otras métricas

Búsqueda avanzada y referencias cruzadas (4 herramientas)

  • Búsqueda de subestructuras: Encuentra compuestos que contienen subestructuras específicas
  • Procesamiento por lotes: Procesa múltiples ID de ChEMBL de manera eficiente
  • Referencias externas: Obtén enlaces a bases de datos externas (PubChem, DrugBank, PDB, etc.)
  • Búsqueda avanzada: Consultas complejas con múltiples filtros químicos y biológicos

Plantillas de recursos

  • Acceso directo a datos de ChEMBL mediante plantillas URI para una integración sin problemas

Instalación

Requisitos previos

  • Node.js (v16 o superior)
  • npm o yarn

Configuración

  1. Clona el repositorio:
git clone <repository-url>
cd chembl-server
  1. Instala las dependencias:
npm install
  1. Compila el proyecto:
npm run build

Docker

Construcción de la imagen Docker

Construye la imagen Docker:

docker build -t chembl-mcp-server .

Ejecución con Docker

Ejecuta el contenedor:

docker run -i chembl-mcp-server

Para la integración con clientes MCP, puedes usar el contenedor directamente:

{
  "mcpServers": {
    "chembl": {
      "command": "docker",
      "args": ["run", "-i", "chembl-mcp-server"],
      "env": {}
    }
  }
}

Uso

Como servidor MCP

El servidor está diseñado para ejecutarse como un servidor MCP que se comunica a través de stdio:

npm start

Añadir a la configuración del cliente MCP

Añade el servidor a la configuración de tu cliente MCP (por ejemplo, Claude Desktop):

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

Herramientas disponibles

1. search_compounds

Busca en la base de datos ChEMBL compuestos por nombre, sinónimo o identificador.

Parámetros:

  • query (obligatorio): Consulta de búsqueda (nombre de compuesto, sinónimo o identificador)
  • limit (opcional): Número de resultados a devolver (1-1000, predeterminado: 25)
  • offset (opcional): Número de resultados a omitir (predeterminado: 0)

Ejemplo:

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

2. get_compound_info

Obtén información detallada de un compuesto específico por ID de ChEMBL.

Parámetros:

  • chembl_id (obligatorio): ID de compuesto ChEMBL (por ejemplo, CHEMBL25)

Ejemplo:

{
  "chembl_id": "CHEMBL25"
}

3. search_targets

Busca objetivos biológicos por nombre o tipo.

Parámetros:

  • query (obligatorio): Nombre del objetivo o consulta de búsqueda
  • target_type (opcional): Filtro de tipo de objetivo (por ejemplo, PROTEÍNA ÚNICA, COMPLEJO PROTEICO)
  • organism (opcional): Filtro de organismo
  • limit (opcional): Número de resultados a devolver (1-1000, predeterminado: 25)

Ejemplo:

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

4. search_activities

Busca mediciones de bioactividad y resultados de ensayos.

Parámetros:

  • target_chembl_id (opcional): Filtro de ID de objetivo ChEMBL
  • assay_chembl_id (opcional): Filtro de ID de ensayo ChEMBL
  • molecule_chembl_id (opcional): Filtro de ID de compuesto ChEMBL
  • activity_type (opcional): Tipo de actividad (por ejemplo, IC50, Ki, EC50)
  • limit (opcional): Número de resultados a devolver (1-1000, predeterminado: 25)

Ejemplo:

{
  "target_chembl_id": "CHEMBL2095173",
  "activity_type": "IC50",
  "limit": 50
}

5. batch_compound_lookup

Procesa múltiples ID de ChEMBL de manera eficiente.

Parámetros:

  • chembl_ids (obligatorio): Matriz de ID de compuestos ChEMBL (1-50)

Ejemplo:

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

Plantillas de recursos

El servidor proporciona acceso directo a datos de ChEMBL a través de plantillas URI:

1. Información del compuesto

  • URI: chembl://compound/{chembl_id}
  • Descripción: Información completa del compuesto para un ID de ChEMBL
  • Ejemplo: chembl://compound/CHEMBL25

2. Información del objetivo

  • URI: chembl://target/{chembl_id}
  • Descripción: Información completa del objetivo para un ID de objetivo ChEMBL
  • Ejemplo: chembl://target/CHEMBL2095173

3. Información del ensayo

  • URI: chembl://assay/{chembl_id}
  • Descripción: Información completa del ensayo para un ID de ensayo ChEMBL
  • Ejemplo: chembl://assay/CHEMBL1217643

4. Información de actividad

  • URI: chembl://activity/{activity_id}
  • Descripción: Datos de medición de bioactividad para un ID de actividad
  • Ejemplo: chembl://activity/12345678

5. Resultados de búsqueda

  • URI: chembl://search/{query}
  • Descripción: Resultados de búsqueda de compuestos que coinciden con la consulta
  • Ejemplo: chembl://search/aspirin

Ejemplos

Búsqueda básica de compuestos

Busca compuestos relacionados con la aspirina:

// Tool call
{
  "tool": "search_compounds",
  "arguments": {
    "query": "aspirin",
    "limit": 5
  }
}

Obtén información detallada del compuesto

Recupera información completa sobre la aspirina:

// Tool call
{
  "tool": "get_compound_info",
  "arguments": {
    "chembl_id": "CHEMBL25"
  }
}

Búsqueda basada en objetivos

Encuentra compuestos probados contra receptores de dopamina:

// Tool call
{
  "tool": "search_targets",
  "arguments": {
    "query": "dopamine receptor D2",
    "organism": "Homo sapiens"
  }
}

Análisis de bioactividad

Busca datos de IC50 contra un objetivo específico:

// Tool call
{
  "tool": "search_activities",
  "arguments": {
    "target_chembl_id": "CHEMBL2095173",
    "activity_type": "IC50",
    "limit": 100
  }
}

Procesamiento por lotes

Procesa múltiples compuestos de manera eficiente:

// Tool call
{
  "tool": "batch_compound_lookup",
  "arguments": {
    "chembl_ids": ["CHEMBL25", "CHEMBL59", "CHEMBL1642", "CHEMBL1201585"]
  }
}

Integración de API

Este servidor se integra con la API REST de ChEMBL para acceso programático a datos químicos. Para más información sobre ChEMBL:

Todas las solicitudes de API incluyen:

  • User-Agent: ChEMBL-MCP-Server/1.0.0
  • Tiempo de espera: 30 segundos
  • URL base: https://www.ebi.ac.uk/chembl/api/data

Manejo de errores

El servidor incluye manejo integral de errores:

  • Validación de entrada: Todos los parámetros se validan mediante guardas de tipo
  • Errores de API: Los errores de red y API se capturan y devuelven con mensajes descriptivos
  • Manejo de tiempo de espera: Las solicitudes expiran después de 30 segundos
  • Degradación elegante: Los fallos parciales se manejan adecuadamente

Desarrollo

Compila el proyecto

npm run build

Modo de desarrollo

Ejecuta el compilador de TypeScript en modo de observación:

npm run dev

Estructura del proyecto

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

Dependencias

  • @modelcontextprotocol/sdk: SDK principal de MCP para la implementación del servidor
  • axios: Cliente HTTP para solicitudes a la API de ChEMBL
  • typescript: Compilador de TypeScript para desarrollo

Licencia

Licencia MIT

Contribuciones

  1. Haz un fork del repositorio
  2. Crea una rama de características
  3. Realiza tus cambios
  4. Añade pruebas si corresponde
  5. Envía una solicitud de extracción

Soporte

Para problemas y preguntas:

  1. Consulta la documentación de la API de ChEMBL
  2. Revisa la especificación del Protocolo de Contexto de Modelos
  3. Abre un problema en el repositorio

Acerca de Augmented Nature

Este servidor integral de ChEMBL MCP es desarrollado por Augmented Nature, un innovador líder en soluciones de bioinformática y química computacional impulsadas por IA. Augmented Nature se especializa en crear herramientas avanzadas que cierran la brecha entre la inteligencia artificial y la investigación química, permitiendo a los investigadores desbloquear conocimientos más profundos a partir de datos químicos y biológicos.

Referencia completa de herramientas

Herramientas principales de búsqueda y recuperación química

  1. search_compounds - Busca en la base de datos ChEMBL por nombre, sinónimo o identificador
  2. get_compound_info - Obtén información detallada del compuesto por ID de ChEMBL
  3. search_by_inchi - Encuentra compuestos por clave InChI o cadena InChI
  4. get_compound_structure - Recupera estructuras químicas en varios formatos
  5. search_similar_compounds - Encuentra compuestos químicamente similares usando similitud de Tanimoto

Herramientas de análisis de objetivos y descubrimiento de fármacos

  1. search_targets - Busca objetivos biológicos por nombre o tipo
  2. get_target_info - Obtén información detallada del objetivo por ID de objetivo ChEMBL
  3. get_target_compounds - Obtén compuestos probados contra objetivos específicos
  4. search_by_uniprot - Encuentra objetivos ChEMBL por acceso UniProt
  5. get_target_pathways - Obtén vías biológicas asociadas con objetivos

Herramientas de datos de bioactividad y ensayos

  1. search_activities - Busca mediciones de bioactividad y resultados de ensayos
  2. get_assay_info - Obtén información detallada del ensayo por ID de ensayo ChEMBL
  3. search_by_activity_type - Encuentra datos de bioactividad por tipo de actividad y rango de valores
  4. get_dose_response - Obtén datos de respuesta a la dosis y perfiles de actividad
  5. compare_activities - Compara datos de bioactividad entre múltiples compuestos

Herramientas de desarrollo de fármacos y datos clínicos

  1. search_drugs - Busca fármacos aprobados y candidatos clínicos
  2. get_drug_info - Obtén información sobre el estado de desarrollo del fármaco y ensayos clínicos
  3. search_drug_indications - Busca indicaciones terapéuticas y áreas de enfermedad
  4. get_mechanism_of_action - Obtén datos del mecanismo de acción e interacción con objetivos

Herramientas de análisis de propiedades químicas

  1. analyze_admet_properties - Analiza propiedades ADMET
  2. calculate_descriptors - Calcula descriptores moleculares y propiedades fisicoquímicas
  3. predict_solubility - Predice propiedades de solubilidad acuosa y permeabilidad
  4. assess_drug_likeness - Evalúa la similitud con fármacos usando la Regla de los Cinco de Lipinski

Herramientas de búsqueda avanzada y referencias cruzadas

  1. substructure_search - Encuentra compuestos que contienen subestructuras específicas
  2. batch_compound_lookup - Procesa múltiples ID de ChEMBL de manera eficiente
  3. get_external_references - Obtén enlaces a bases de datos externas
  4. advanced_search - Consultas complejas con múltiples filtros químicos y biológicos

Registro de cambios

v1.0.0 - Lanzamiento inicial

  • Inteligencia química integral: 27 herramientas especializadas para el descubrimiento de fármacos
  • Funcionalidad principal: Búsqueda de compuestos, análisis de objetivos, datos de bioactividad
  • Características avanzadas: Búsqueda de similitud, procesamiento por lotes, referencias cruzadas
  • Plantillas de recursos: Acceso directo basado en URI a datos de ChEMBL
  • Soporte Docker: Implementación en contenedores con mejores prácticas de seguridad
  • Documentación profesional: Referencia completa de herramientas y ejemplos
  • Desarrollado por Augmented Nature: Plataforma profesional de informática química

Cita

Si usas este proyecto en tu investigación o publicaciones, cítalo de la siguiente manera:

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