Enrichr MCP Server

Realiza análisis de enriquecimiento de conjuntos de genes utilizando la API de Enrichr, compatible con todas las bibliotecas de conjuntos de genes disponibles.

Documentación

Servidor MCP de Enrichr

Enrichr MCP Server Icon

Un servidor de Protocolo de Contexto de Modelo (MCP) que proporciona análisis de enriquecimiento de conjuntos de genes utilizando la API de Enrichr. Este servidor admite todas las bibliotecas de conjuntos de genes disponibles de Enrichr y devuelve solo resultados estadísticamente significativos ($p$ corregida < 0.05) para que las herramientas de LLM los interpreten.

Smithery

Instalación

Claude Desktop

Descargue el último paquete MCPB (archivo .mcpb) e instálelo a través de ☰ (top left) -> File -> Settings, luego arrastre y suelte el archivo en la ventana de Configuración.

Cursor / VS Code

Use los botones a continuación para instalar con la configuración predeterminada:

Install MCP Server Add to VS Code Add to VS Code Insiders

Claude Code

claude mcp add enrichr-mcp-server -- npx -y enrichr-mcp-server

O instale como un complemento de Claude Code:

/plugin install enrichr-mcp-server

Smithery

npx -y @smithery/cli install enrichr-mcp-server --client claude

Configuración Manual

Agregue a la configuración de su cliente MCP (por ejemplo, .cursor/mcp.json):

{
  "mcpServers": {
    "enrichr-server": {
      "command": "npx",
      "args": ["-y", "enrichr-mcp-server"]
    }
  }
}

Características

  • Dos Herramientas: enrichr_analysis para ejecutar enriquecimiento, suggest_libraries para descubrir bibliotecas relevantes
  • Corrección de Fondo Personalizada: Pruebe contra su propio conjunto de genes de fondo (por ejemplo, solo los genes expresados en su ensayo) en lugar del genoma completo
  • Catálogo de Bibliotecas en Vivo: La lista de bibliotecas se obtiene de Enrichr en tiempo de ejecución, por lo que los nuevos lanzamientos aparecen automáticamente y las bibliotecas retiradas nunca se sugieren
  • Flujo de Trabajo Guiado: Indicación de enrichment_analysis para análisis de extremo a extremo con interpretación
  • 22 Categorías de Bibliotecas: Mapeo programático de categorías para todas las bibliotecas (vías, cáncer, quinasas, etc.)
  • Consultas de Bibliotecas en Paralelo: Todas las bibliotecas se consultan en paralelo para un análisis rápido de múltiples bases de datos
  • Salida Estructurada: Devuelve tanto texto legible por humanos como JSON estructurado para uso programático
  • Formatos de Salida Configurables: Detallado, compacto o mínimo para gestionar el uso de tokens
  • Exportación TSV: Guarde los resultados completos en archivos TSV

Herramientas

suggest_libraries

Descubra las bibliotecas de Enrichr más relevantes para una pregunta de investigación. Use esto antes de enrichr_analysis para elegir las mejores bibliotecas para su tema específico. Busca en el catálogo de bibliotecas en vivo de Enrichr, por lo que nunca recomienda una biblioteca que Enrichr haya retirado. Cuando dos bibliotecas son igualmente relevantes, la versión más nueva ocupa el primer lugar (GO_Biological_Process_2026 sobre ..._2021).

Parámetros:

  • query (obligatorio): Contexto de investigación (por ejemplo, "reparación de ADN", "resistencia a fármacos en cáncer de mama")
  • category (opcional): Filtrar por categoría (por ejemplo, cancer, pathways, kinases)
  • maxResults (opcional): Máximo de resultados a devolver (predeterminado: 10, máximo: 50)

Devuelve:

  • Lista clasificada de bibliotecas con puntuaciones de relevancia, categorías y descripciones
  • JSON estructurado con una matriz de sugerencias

enrichr_analysis

Realice análisis de enriquecimiento en múltiples bibliotecas de Enrichr en paralelo.

Parámetros:

  • genes (obligatorio): Matriz de símbolos de genes (por ejemplo, ["TP53", "BRCA1", "EGFR"]) — mínimo 2
  • libraries (opcional): Matriz de nombres de bibliotecas de Enrichr para consultar (predeterminado a las bibliotecas configuradas)
  • background (opcional): Conjunto de genes de fondo personalizado — mínimo 20 genes. Ver más abajo.
  • description (opcional): Descripción para la lista de genes
  • maxTerms (opcional): Máximo de términos por biblioteca (predeterminado: 50)
  • format (opcional): Formato de salida: detailed, compact, minimal
  • outputFile (opcional): Ruta para guardar los resultados completos como archivo TSV

Devuelve:

  • Contenido de texto con términos significativos formateados (nombre, valores p, odds ratio, puntuación combinada, genes superpuestos)
  • Salida JSON estructurada con datos de resultados completos, incluido backgroundCorrected por biblioteca

Corrección de fondo

Por defecto, Enrichr prueba su lista de genes contra el genoma completo. Si sus genes se extrajeron de un universo restringido — solo los genes expresados en su tejido, o un panel dirigido — el valor predeterminado del genoma completo sobreestima la significancia, a menudo por muchos órdenes de magnitud. Pase background con el universo del que se extrajo la lista:

{
  "genes": ["TP53", "BRCA1", "ATM", "CHEK2"],
  "background": ["TP53", "BRCA1", "ATM", "CHEK2", "ACTB", "GAPDH", "..."],
  "libraries": ["GO_Biological_Process_2026"]
}

La diferencia no es cosmética. Para una lista de 16 genes de daño al ADN, el término GO principal pasa de un p ajustado de 1.2e-16 (genoma completo) a 1.8e-5 (fondo de 48 genes), y el número de términos "significativos" cae de 359 a 10.

La corrección de fondo se ejecuta contra el servicio separado speedrichr de Enrichr, que está intermitentemente no disponible. Los fallos se reintentan; si persisten, la biblioteca vuelve a los valores p no corregidos del genoma completo, y el resultado se marca backgroundCorrected: false con un WARNING prominente en la salida de texto. Un resultado de respaldo nunca se presenta como si hubiera sido corregido por fondo.

Recursos

URIDescripción
enrichr://librariesCatálogo completo de bibliotecas organizado por categoría
enrichr://libraries/{category}Bibliotecas para una categoría específica (por ejemplo, enrichr://libraries/cancer)

Indicaciones

enrichment_analysis

Flujo de trabajo guiado para análisis de enriquecimiento de conjuntos de genes. Acepta una lista de genes y contexto de investigación opcional, luego guía a través de la selección de bibliotecas, análisis e interpretación.

Argumentos:

  • genes (obligatorio): Símbolos de genes, separados por comas o nuevas líneas
  • context (opcional): Contexto de investigación para la selección de bibliotecas (activa el paso de suggest_libraries)

Categorías de Bibliotecas

Las más de 200 bibliotecas están organizadas en 22 categorías:

CategoríaEjemplos
transcriptionChEA_2022, ENCODE_TF_ChIP-seq_2015, TRANSFAC_and_JASPAR_PWMs
pathwaysKEGG_2021_Human, Reactome_2022, WikiPathways_2023_Human, MSigDB_Hallmark_2020
ontologiesGO_Biological_Process_2025, GO_Molecular_Function_2025, Human_Phenotype_Ontology
diseases_drugsGWAS_Catalog_2023, DrugBank_2022, OMIM_Disease, DisGeNET
cell_typesGTEx_Tissue_Expression_Up, CellMarker_2024, Tabula_Sapiens
microRNAsTargetScan_microRNA_2017, miRTarBase_2022, MiRDB_2019
epigeneticsEpigenomics_Roadmap_HM_ChIP-seq, JASPAR_2022, Cistrome_2023
kinasesKEA_2015, PhosphoSitePlus_2023, PTMsigDB_2023
gene_perturbationsLINCS_L1000_CRISPR_KO_Consensus_Sigs, CRISPR_GenomeWide_2023
metabolomicsHMDB_Metabolites, Metabolomics_Workbench_2023, SMPDB_2023
agingAging_Perturbations_from_GEO_down, GenAge_2023, Longevity_Map_2023
protein_familiesInterPro_Domains_2019, Pfam_Domains_2019, UniProt_Keywords_2023
computationalEnrichr_Submissions_TF-Gene_Coocurrence, ARCHS4_TF_Coexp
literatureRummagene_signatures, AutoRIF, GeneRIF
cancerCOSMIC_Cancer_Gene_Census, TCGA_Mutations_2023, OncoKB_2023, GDSC_2023
single_cellHuman_Cell_Landscape, scRNAseq_Datasets_2023, SingleCellSignatures_2023
chromosomeChromosome_Location, Chromosome_Location_hg19
protein_interactionsSTRING_Interactions_2023, BioGRID_2023, IntAct_2023, MINT_2023
structuralPDB_Structural_Annotations, AlphaFold_2023
immunologyImmuneSigDB, ImmPort_2023, Immunological_Signatures_MSigDB
developmentESCAPE, Developmental_Signatures_2023
otherMSigDB_Computational, HGNC_Gene_Families, Open_Targets_2023

Use suggest_libraries para buscar en todas las categorías, o lea enrichr://libraries/{category} para la lista completa en cualquier categoría.

Configuración

Opciones de Línea de Comandos

OpciónCortaDescripciónPredeterminado
--libraries <libs>-lLista separada por comas de bibliotecas de Enrichr para consultarpop
--max-terms <num>-mMáximo de términos a mostrar por biblioteca50
--format <format>-fFormato de salida: detailed, compact, minimaldetailed
--output <file>-oGuardar resultados completos en archivo TSV(ninguno)
--compact-cUsar formato compacto (igual que --format compact)(bandera)
--minimalUsar formato mínimo (igual que --format minimal)(bandera)
--help-hMostrar mensaje de ayuda(bandera)

Opciones de Formato

  • detailed: Detalles completos incluidos valores p, odds ratios y listas de genes (predeterminado)
  • compact: Nombre del término + valor p + recuento de genes (ahorra ~50% de tokens)
  • minimal: Solo nombre del término + valor p (ahorra ~80% de tokens)

Variables de Entorno

VariableDescripciónEjemplo
ENRICHR_LIBRARIESLista separada por comas de bibliotecasGO_Biological_Process_2025,KEGG_2021_Human
ENRICHR_MAX_TERMSMáximo de términos por biblioteca20
ENRICHR_FORMATFormato de salidacompact
ENRICHR_OUTPUT_FILERuta del archivo de salida TSV/tmp/enrichr_results.tsv

Nota: Los argumentos de CLI tienen prioridad sobre las variables de entorno.

Múltiples Instancias del Servidor

Configure diferentes instancias para diferentes contextos de investigación:

{
  "mcpServers": {
    "enrichr-pathways": {
      "command": "npx",
      "args": ["-y", "enrichr-mcp-server", "-l", "GO_Biological_Process_2025,KEGG_2021_Human,Reactome_2022"]
    },
    "enrichr-disease": {
      "command": "npx",
      "args": ["-y", "enrichr-mcp-server", "-l", "Human_Phenotype_Ontology,OMIM_Disease,ClinVar_2019"]
    }
  }
}

Bibliotecas Populares (Predeterminadas)

Al usar la configuración predeterminada de -l pop:

BibliotecaDescripción
GO_Biological_Process_2026Términos actuales de procesos biológicos de Gene Ontology.
KEGG_2026Vías metabólicas y de señalización actuales de KEGG.
Reactome_Pathways_2024Versión actual de Reactome — vías curadas y revisadas por pares.
MSigDB_Hallmark_2020Conjuntos de genes característicos que representan estados y procesos biológicos bien definidos.
ChEA_2022Experimentos de ChIP-seq que identifican interacciones factor de transcripción-gen.
GWAS_Catalog_2025Resultados de estudios de asociación de genoma completo que vinculan genes con rasgos.
Human_Phenotype_OntologyVocabulario estandarizado de anomalías fenotípicas asociadas con enfermedades humanas.
PPI_Hub_ProteinsProteínas hub altamente conectadas de redes de interacción proteína-proteína.
DGIdb_Drug_Targets_2024Interacciones fármaco-gen de la Base de Datos de Interacciones Gen-Fármaco.
CellMarker_2024Marcadores de tipos celulares curados manualmente para humano y ratón.

Detalles de la API

Este servidor utiliza la API de Enrichr:

  • Agregar Lista: https://maayanlab.cloud/Enrichr/addList
  • Enriquecimiento: https://maayanlab.cloud/Enrichr/enrich
  • Catálogo de Bibliotecas: https://maayanlab.cloud/Enrichr/datasetStatistics — obtenido en tiempo de ejecución y almacenado en caché durante 24 horas, por lo que la lista de bibliotecas nunca está desactualizada
  • Enriquecimiento con corrección de fondo: https://maayanlab.cloud/speedrichr/api/{addList,addbackground,backgroundenrich}
  • Bibliotecas Soportadas: Cada biblioteca que Enrichr sirve actualmente (228 al momento de escribir esto)

Nota: Enrichr emite literales Infinity sin formato para el odds ratio cuando la superposición de un término con el fondo es completa — lo cual no es JSON válido. Este servidor analiza esas respuestas correctamente; un JSON.parse ingenuo en la respuesta cruda lanzará una excepción.

Desarrollo

npm run build          # Build TypeScript
npm test               # Run tests (unit + integration + MCP protocol)
npm run test:watch     # Run tests in watch mode
npm run watch          # Auto-rebuild on file changes
npm run inspector      # Debug with MCP inspector

Requisitos

  • Node.js 18+
  • Conexión a Internet para acceso a la API de Enrichr

Licencia

MIT

Referencias

  • Chen EY, Tan CM, Kou Y, Duan Q, Wang Z, Meirelles GV, Clark NR, Ma'ayan A. Enrichr: interactive and collaborative HTML5 gene list enrichment analysis tool. BMC Bioinformatics. 2013; 128(14).

  • Kuleshov MV, Jones MR, Rouillard AD, Fernandez NF, Duan Q, Wang Z, Koplev S, Jenkins SL, Jagodnik KM, Lachmann A, McDermott MG, Monteiro CD, Gundersen GW, Ma'ayan A. Enrichr: a comprehensive gene set enrichment analysis web server 2016 update. Nucleic Acids Research. 2016; gkw377.

  • Xie Z, Bailey A, Kuleshov MV, Clarke DJB., Evangelista JE, Jenkins SL, Lachmann A, Wojciechowicz ML, Kropiwnicki E, Jagodnik KM, Jeon M, & Ma'ayan A. Gene set knowledge discovery with Enrichr. Current Protocols, 1, e90. 2021. doi: 10.1002/cpz1.90

  • Enrichr

  • Protocolo de Contexto de Modelo

  • SDK de TypeScript de MCP