Enrichr MCP Server
Realiza análise de enriquecimento de conjuntos gênicos usando a API do Enrichr, suportando todas as bibliotecas de conjuntos gênicos disponíveis.
Documentação
Servidor Enrichr MCP
Um servidor Model Context Protocol (MCP) que fornece análise de enriquecimento de conjuntos de genes usando a API do Enrichr. Este servidor suporta todas as bibliotecas de conjuntos de genes disponíveis no Enrichr e retorna apenas resultados estatisticamente significativos ($p$ corrigido < 0,05) para que ferramentas de LLM possam interpretar.
Instalação
Claude Desktop
Baixe o pacote MCPB mais recente (arquivo .mcpb) e instale-o via ☰ (top left) -> File -> Settings, depois arraste e solte o arquivo na janela de Configurações.
Cursor / VS Code
Use os botões abaixo para instalar com as configurações padrão:
Claude Code
claude mcp add enrichr-mcp-server -- npx -y enrichr-mcp-server
Ou instale como um plugin do Claude Code:
/plugin install enrichr-mcp-server
Smithery
npx -y @smithery/cli install enrichr-mcp-server --client claude
Configuração Manual
Adicione à configuração do seu cliente MCP (ex.: .cursor/mcp.json):
{
"mcpServers": {
"enrichr-server": {
"command": "npx",
"args": ["-y", "enrichr-mcp-server"]
}
}
}
Recursos
- Duas Ferramentas:
enrichr_analysispara executar enriquecimento,suggest_librariespara descobrir bibliotecas relevantes - Correção Personalizada de Fundo: Teste contra seu próprio conjunto de genes de fundo (ex.: apenas os genes expressos no seu ensaio) em vez do genoma inteiro
- Catálogo de Bibliotecas ao Vivo: A lista de bibliotecas é obtida do Enrichr em tempo de execução, então novos lançamentos aparecem automaticamente e bibliotecas aposentadas nunca são sugeridas
- Fluxo de Trabalho Guiado: Prompt
enrichment_analysispara análise de ponta a ponta com interpretação - 22 Categorias de Bibliotecas: Mapeamento programático de categorias para todas as bibliotecas (vias, câncer, quinases, etc.)
- Consultas Paralelas de Bibliotecas: Todas as bibliotecas são consultadas em paralelo para análise rápida em múltiplos bancos de dados
- Saída Estruturada: Retorna tanto texto legível por humanos quanto JSON estruturado para uso programático
- Formatos de Saída Configuráveis: Detalhado, compacto ou mínimo para gerenciar o uso de tokens
- Exportação TSV: Salve resultados completos em arquivos TSV
Ferramentas
suggest_libraries
Descubra as bibliotecas Enrichr mais relevantes para uma pergunta de pesquisa. Use esta ferramenta antes de enrichr_analysis para escolher as melhores bibliotecas para seu tópico específico. Pesquisa o catálogo de bibliotecas ao vivo do Enrichr, então nunca recomenda uma biblioteca que o Enrichr tenha aposentado. Quando duas bibliotecas são igualmente relevantes, a versão mais recente fica em primeiro lugar (GO_Biological_Process_2026 sobre ..._2021).
Parâmetros:
query(obrigatório): Contexto da pesquisa (ex.: "reparo de DNA", "resistência a drogas no câncer de mama")category(opcional): Filtrar por categoria (ex.:cancer,pathways,kinases)maxResults(opcional): Máximo de resultados a retornar (padrão: 10, máximo: 50)
Retorna:
- Lista classificada de bibliotecas com pontuações de relevância, categorias e descrições
- JSON estruturado com array de sugestões
enrichr_analysis
Executa análise de enriquecimento em múltiplas bibliotecas Enrichr em paralelo.
Parâmetros:
genes(obrigatório): Array de símbolos de genes (ex.:["TP53", "BRCA1", "EGFR"]) — mínimo 2libraries(opcional): Array de nomes de bibliotecas Enrichr para consultar (padrão: bibliotecas configuradas)background(opcional): Conjunto de genes de fundo personalizado — mínimo 20 genes. Veja abaixo.description(opcional): Descrição para a lista de genesmaxTerms(opcional): Máximo de termos por biblioteca (padrão: 50)format(opcional): Formato de saída:detailed,compact,minimaloutputFile(opcional): Caminho para salvar resultados completos como arquivo TSV
Retorna:
- Conteúdo de texto com termos significativos formatados (nome, valores-p, razão de chances, pontuação combinada, genes sobrepostos)
- Saída JSON estruturada com dados completos dos resultados, incluindo
backgroundCorrectedpor biblioteca
Correção de fundo
Por padrão, o Enrichr testa sua lista de genes contra o genoma inteiro. Se seus genes
foram extraídos de um universo restrito — apenas os genes expressos no seu tecido, ou
um painel direcionado — o padrão de genoma inteiro superestima a significância, muitas vezes
por várias ordens de magnitude. Passe background com o universo do qual a lista foi extraída:
{
"genes": ["TP53", "BRCA1", "ATM", "CHEK2"],
"background": ["TP53", "BRCA1", "ATM", "CHEK2", "ACTB", "GAPDH", "..."],
"libraries": ["GO_Biological_Process_2026"]
}
A diferença não é cosmética. Para uma lista de 16 genes de dano ao DNA, o principal termo GO passa de um p ajustado de 1,2e-16 (genoma inteiro) para 1,8e-5 (fundo de 48 genes), e o número de termos "significativos" cai de 359 para 10.
A correção de fundo é executada contra o serviço separado speedrichr do Enrichr, que está
intermitentemente indisponível. Falhas são repetidas; se persistirem, a biblioteca
volta para valores-p não corrigidos de genoma inteiro, e o resultado é sinalizado
backgroundCorrected: false com um WARNING alto na saída de texto. Um resultado de
fallback nunca é apresentado como se tivesse sido corrigido por fundo.
Recursos
| URI | Descrição |
|---|---|
enrichr://libraries | Catálogo completo de bibliotecas organizado por categoria |
enrichr://libraries/{category} | Bibliotecas para uma categoria específica (ex.: enrichr://libraries/cancer) |
Prompts
enrichment_analysis
Fluxo de trabalho guiado para análise de enriquecimento de conjuntos de genes. Aceita uma lista de genes e contexto de pesquisa opcional, depois percorre seleção de bibliotecas, análise e interpretação.
Argumentos:
genes(obrigatório): Símbolos de genes, separados por vírgula ou nova linhacontext(opcional): Contexto de pesquisa para seleção de bibliotecas (aciona a etapasuggest_libraries)
Categorias de Bibliotecas
Todas as 200+ bibliotecas estão organizadas em 22 categorias:
| Categoria | Exemplos |
|---|---|
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 pesquisar em todas as categorias, ou leia enrichr://libraries/{category} para a lista completa em qualquer categoria.
Configuração
Opções de Linha de Comando
| Opção | Curta | Descrição | Padrão |
|---|---|---|---|
--libraries <libs> | -l | Lista separada por vírgulas de bibliotecas Enrichr para consultar | pop |
--max-terms <num> | -m | Máximo de termos para mostrar por biblioteca | 50 |
--format <format> | -f | Formato de saída: detailed, compact, minimal | detailed |
--output <file> | -o | Salvar resultados completos em arquivo TSV | (nenhum) |
--compact | -c | Usar formato compacto (igual a --format compact) | (flag) |
--minimal | Usar formato mínimo (igual a --format minimal) | (flag) | |
--help | -h | Mostrar mensagem de ajuda | (flag) |
Opções de Formato
detailed: Detalhes completos incluindo valores-p, razões de chances e listas de genes (padrão)compact: Nome do termo + valor-p + contagem de genes (economiza ~50% de tokens)minimal: Apenas nome do termo + valor-p (economiza ~80% de tokens)
Variáveis de Ambiente
| Variável | Descrição | Exemplo |
|---|---|---|
ENRICHR_LIBRARIES | Lista separada por vírgulas de bibliotecas | GO_Biological_Process_2025,KEGG_2021_Human |
ENRICHR_MAX_TERMS | Máximo de termos por biblioteca | 20 |
ENRICHR_FORMAT | Formato de saída | compact |
ENRICHR_OUTPUT_FILE | Caminho do arquivo de saída TSV | /tmp/enrichr_results.tsv |
Nota: Argumentos de linha de comando têm precedência sobre variáveis de ambiente.
Múltiplas Instâncias do Servidor
Configure diferentes instâncias para diferentes contextos de pesquisa:
{
"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 (Padrão)
Ao usar a configuração padrão -l pop:
| Biblioteca | Descrição |
|---|---|
GO_Biological_Process_2026 | Termos atuais de processo biológico da Gene Ontology. |
KEGG_2026 | Vias metabólicas e de sinalização atuais do KEGG. |
Reactome_Pathways_2024 | Lançamento atual do Reactome — vias revisadas por pares e curadas. |
MSigDB_Hallmark_2020 | Conjuntos de genes Hallmark representando estados e processos biológicos bem definidos. |
ChEA_2022 | Experimentos ChIP-seq identificando interações fator de transcrição-gene. |
GWAS_Catalog_2025 | Resultados de estudos de associação genômica ampla ligando genes a características. |
Human_Phenotype_Ontology | Vocabulário padronizado de anormalidades fenotípicas associadas a doenças humanas. |
PPI_Hub_Proteins | Proteínas hub altamente conectadas de redes de interação proteína-proteína. |
DGIdb_Drug_Targets_2024 | Interações droga-gene do Drug Gene Interaction Database. |
CellMarker_2024 | Marcadores de tipos celulares curados manualmente para humano e camundongo. |
Detalhes da API
Este servidor usa a API do Enrichr:
- Adicionar Lista:
https://maayanlab.cloud/Enrichr/addList - Enriquecimento:
https://maayanlab.cloud/Enrichr/enrich - Catálogo de Bibliotecas:
https://maayanlab.cloud/Enrichr/datasetStatistics— obtido em tempo de execução e armazenado em cache por 24h, então a lista de bibliotecas nunca fica desatualizada - Enriquecimento com correção de fundo:
https://maayanlab.cloud/speedrichr/api/{addList,addbackground,backgroundenrich} - Bibliotecas Suportadas: Toda biblioteca que o Enrichr atualmente serve (228 no momento da escrita)
Nota: O Enrichr emite literais Infinity puros para a razão de chances quando a sobreposição de um termo
com o fundo é completa — o que não é JSON válido. Este servidor analisa essas
respostas corretamente; um JSON.parse ingênuo na resposta bruta lançará um erro.
Desenvolvimento
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+
- Conexão com a internet para acesso à API do Enrichr
Licença
MIT
Referências
-
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