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

Enrichr MCP Server Icon

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.

Smithery

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:

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

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_analysis para executar enriquecimento, suggest_libraries para 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_analysis para 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 2
  • libraries (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 genes
  • maxTerms (opcional): Máximo de termos por biblioteca (padrão: 50)
  • format (opcional): Formato de saída: detailed, compact, minimal
  • outputFile (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 backgroundCorrected por 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

URIDescrição
enrichr://librariesCatá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 linha
  • context (opcional): Contexto de pesquisa para seleção de bibliotecas (aciona a etapa suggest_libraries)

Categorias de Bibliotecas

Todas as 200+ bibliotecas estão organizadas em 22 categorias:

CategoriaExemplos
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 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çãoCurtaDescriçãoPadrão
--libraries <libs>-lLista separada por vírgulas de bibliotecas Enrichr para consultarpop
--max-terms <num>-mMáximo de termos para mostrar por biblioteca50
--format <format>-fFormato de saída: detailed, compact, minimaldetailed
--output <file>-oSalvar resultados completos em arquivo TSV(nenhum)
--compact-cUsar formato compacto (igual a --format compact)(flag)
--minimalUsar formato mínimo (igual a --format minimal)(flag)
--help-hMostrar 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ávelDescriçãoExemplo
ENRICHR_LIBRARIESLista separada por vírgulas de bibliotecasGO_Biological_Process_2025,KEGG_2021_Human
ENRICHR_MAX_TERMSMáximo de termos por biblioteca20
ENRICHR_FORMATFormato de saídacompact
ENRICHR_OUTPUT_FILECaminho 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:

BibliotecaDescrição
GO_Biological_Process_2026Termos atuais de processo biológico da Gene Ontology.
KEGG_2026Vias metabólicas e de sinalização atuais do KEGG.
Reactome_Pathways_2024Lançamento atual do Reactome — vias revisadas por pares e curadas.
MSigDB_Hallmark_2020Conjuntos de genes Hallmark representando estados e processos biológicos bem definidos.
ChEA_2022Experimentos ChIP-seq identificando interações fator de transcrição-gene.
GWAS_Catalog_2025Resultados de estudos de associação genômica ampla ligando genes a características.
Human_Phenotype_OntologyVocabulário padronizado de anormalidades fenotípicas associadas a doenças humanas.
PPI_Hub_ProteinsProteínas hub altamente conectadas de redes de interação proteína-proteína.
DGIdb_Drug_Targets_2024Interações droga-gene do Drug Gene Interaction Database.
CellMarker_2024Marcadores 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

  • Enrichr

  • Model Context Protocol

  • MCP TypeScript SDK