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
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.
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:
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_analysispara ejecutar enriquecimiento,suggest_librariespara 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_analysispara 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 2libraries(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 genesmaxTerms(opcional): Máximo de términos por biblioteca (predeterminado: 50)format(opcional): Formato de salida:detailed,compact,minimaloutputFile(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
backgroundCorrectedpor 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
| URI | Descripción |
|---|---|
enrichr://libraries | Catá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íneascontext(opcional): Contexto de investigación para la selección de bibliotecas (activa el paso desuggest_libraries)
Categorías de Bibliotecas
Las más de 200 bibliotecas están organizadas en 22 categorías:
| Categoría | Ejemplos |
|---|---|
transcription | ChEA_2022, ENCODE_TF_ChIP-seq_2015, TRANSFAC_and_JASPAR_PWMs |
pathways | KEGG_2021_Human, Reactome_2022, WikiPathways_2023_Human, MSigDB_Hallmark_2020 |
ontologies | GO_Biological_Process_2025, GO_Molecular_Function_2025, Human_Phenotype_Ontology |
diseases_drugs | GWAS_Catalog_2023, DrugBank_2022, OMIM_Disease, DisGeNET |
cell_types | GTEx_Tissue_Expression_Up, CellMarker_2024, Tabula_Sapiens |
microRNAs | TargetScan_microRNA_2017, miRTarBase_2022, MiRDB_2019 |
epigenetics | Epigenomics_Roadmap_HM_ChIP-seq, JASPAR_2022, Cistrome_2023 |
kinases | KEA_2015, PhosphoSitePlus_2023, PTMsigDB_2023 |
gene_perturbations | LINCS_L1000_CRISPR_KO_Consensus_Sigs, CRISPR_GenomeWide_2023 |
metabolomics | HMDB_Metabolites, Metabolomics_Workbench_2023, SMPDB_2023 |
aging | Aging_Perturbations_from_GEO_down, GenAge_2023, Longevity_Map_2023 |
protein_families | InterPro_Domains_2019, Pfam_Domains_2019, UniProt_Keywords_2023 |
computational | Enrichr_Submissions_TF-Gene_Coocurrence, ARCHS4_TF_Coexp |
literature | Rummagene_signatures, AutoRIF, GeneRIF |
cancer | COSMIC_Cancer_Gene_Census, TCGA_Mutations_2023, OncoKB_2023, GDSC_2023 |
single_cell | Human_Cell_Landscape, scRNAseq_Datasets_2023, SingleCellSignatures_2023 |
chromosome | Chromosome_Location, Chromosome_Location_hg19 |
protein_interactions | STRING_Interactions_2023, BioGRID_2023, IntAct_2023, MINT_2023 |
structural | PDB_Structural_Annotations, AlphaFold_2023 |
immunology | ImmuneSigDB, ImmPort_2023, Immunological_Signatures_MSigDB |
development | ESCAPE, Developmental_Signatures_2023 |
other | MSigDB_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ón | Corta | Descripción | Predeterminado |
|---|---|---|---|
--libraries <libs> | -l | Lista separada por comas de bibliotecas de Enrichr para consultar | pop |
--max-terms <num> | -m | Máximo de términos a mostrar por biblioteca | 50 |
--format <format> | -f | Formato de salida: detailed, compact, minimal | detailed |
--output <file> | -o | Guardar resultados completos en archivo TSV | (ninguno) |
--compact | -c | Usar formato compacto (igual que --format compact) | (bandera) |
--minimal | Usar formato mínimo (igual que --format minimal) | (bandera) | |
--help | -h | Mostrar 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
| Variable | Descripción | Ejemplo |
|---|---|---|
ENRICHR_LIBRARIES | Lista separada por comas de bibliotecas | GO_Biological_Process_2025,KEGG_2021_Human |
ENRICHR_MAX_TERMS | Máximo de términos por biblioteca | 20 |
ENRICHR_FORMAT | Formato de salida | compact |
ENRICHR_OUTPUT_FILE | Ruta 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:
| Biblioteca | Descripción |
|---|---|
GO_Biological_Process_2026 | Términos actuales de procesos biológicos de Gene Ontology. |
KEGG_2026 | Vías metabólicas y de señalización actuales de KEGG. |
Reactome_Pathways_2024 | Versión actual de Reactome — vías curadas y revisadas por pares. |
MSigDB_Hallmark_2020 | Conjuntos de genes característicos que representan estados y procesos biológicos bien definidos. |
ChEA_2022 | Experimentos de ChIP-seq que identifican interacciones factor de transcripción-gen. |
GWAS_Catalog_2025 | Resultados de estudios de asociación de genoma completo que vinculan genes con rasgos. |
Human_Phenotype_Ontology | Vocabulario estandarizado de anomalías fenotípicas asociadas con enfermedades humanas. |
PPI_Hub_Proteins | Proteínas hub altamente conectadas de redes de interacción proteína-proteína. |
DGIdb_Drug_Targets_2024 | Interacciones fármaco-gen de la Base de Datos de Interacciones Gen-Fármaco. |
CellMarker_2024 | Marcadores 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