Enrichr MCP Server

Performs gene set enrichment analysis using the Enrichr API, supporting all available gene set libraries.

Enrichr MCP Server

Enrichr MCP Server Icon

A Model Context Protocol (MCP) server that provides gene set enrichment analysis using the Enrichr API. This server supports all available gene set libraries from Enrichr and returns only statistically significant results (corrected-$p$ < 0.05) for LLM tools to interpret.

Smithery

Installation

Claude Desktop

Download the latest MCPB bundle (.mcpb file) and install it via ☰ (top left) -> File -> Settings, then drag and drop the file into the Settings window.

Cursor / VS Code

Use the buttons below to install with default settings:

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

Or install as a Claude Code plugin:

/plugin install enrichr-mcp-server

Smithery

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

Manual Configuration

Add to your MCP client config (e.g., .cursor/mcp.json):

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

Features

  • Two Tools: enrichr_analysis for running enrichment, suggest_libraries for discovering relevant libraries
  • Library Catalog: Browse 200+ libraries by category via MCP resources
  • Guided Workflow: enrichment_analysis prompt for end-to-end analysis with interpretation
  • 22 Library Categories: Programmatic category mapping for all libraries (pathways, cancer, kinases, etc.)
  • Parallel Library Queries: All libraries queried in parallel for fast multi-database analysis
  • Structured Output: Returns both human-readable text and structured JSON for programmatic use
  • Configurable Output Formats: Detailed, compact, or minimal to manage token usage
  • TSV Export: Save complete results to TSV files

Tools

suggest_libraries

Discover the most relevant Enrichr libraries for a research question. Use this before enrichr_analysis to pick the best libraries for your specific topic. No network call needed — searches locally across all library names and descriptions.

Parameters:

  • query (required): Research context (e.g., "DNA repair", "breast cancer drug resistance")
  • category (optional): Filter by category (e.g., cancer, pathways, kinases)
  • maxResults (optional): Max results to return (default: 10, max: 50)

Returns:

  • Ranked list of libraries with relevance scores, categories, and descriptions
  • Structured JSON with suggestions array

enrichr_analysis

Perform enrichment analysis across multiple Enrichr libraries in parallel.

Parameters:

  • genes (required): Array of gene symbols (e.g., ["TP53", "BRCA1", "EGFR"]) — minimum 2
  • libraries (optional): Array of Enrichr library names to query (defaults to configured libraries)
  • description (optional): Description for the gene list
  • maxTerms (optional): Maximum terms per library (default: 50)
  • format (optional): Output format: detailed, compact, minimal
  • outputFile (optional): Path to save complete results as TSV file

Returns:

  • Text content with formatted significant terms (name, p-values, odds ratio, combined score, overlapping genes)
  • Structured JSON output with full result data

Resources

URIDescription
enrichr://librariesFull library catalog organized by category
enrichr://libraries/{category}Libraries for a specific category (e.g., enrichr://libraries/cancer)

Prompts

enrichment_analysis

Guided workflow for gene set enrichment analysis. Accepts a gene list and optional research context, then walks through library selection, analysis, and interpretation.

Arguments:

  • genes (required): Gene symbols, comma or newline separated
  • context (optional): Research context for library selection (triggers suggest_libraries step)

Library Categories

All 200+ libraries are organized into 22 categories:

CategoryExamples
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 to search across all categories, or read enrichr://libraries/{category} for the full list in any category.

Configuration

Command Line Options

OptionShortDescriptionDefault
--libraries <libs>-lComma-separated list of Enrichr libraries to querypop
--max-terms <num>-mMaximum terms to show per library50
--format <format>-fOutput format: detailed, compact, minimaldetailed
--output <file>-oSave complete results to TSV file(none)
--compact-cUse compact format (same as --format compact)(flag)
--minimalUse minimal format (same as --format minimal)(flag)
--help-hShow help message(flag)

Format Options

  • detailed: Full details including p-values, odds ratios, and gene lists (default)
  • compact: Term name + p-value + gene count (saves ~50% tokens)
  • minimal: Just term name + p-value (saves ~80% tokens)

Environment Variables

VariableDescriptionExample
ENRICHR_LIBRARIESComma-separated list of librariesGO_Biological_Process_2025,KEGG_2021_Human
ENRICHR_MAX_TERMSMaximum terms per library20
ENRICHR_FORMATOutput formatcompact
ENRICHR_OUTPUT_FILETSV output file path/tmp/enrichr_results.tsv

Note: CLI arguments take precedence over environment variables.

Multiple Server Instances

Set up different instances for different research contexts:

{
  "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"]
    }
  }
}

Popular Libraries (Default)

When using the default -l pop configuration:

LibraryDescription
GO_Biological_Process_2025Gene Ontology terms describing biological objectives accomplished by gene products.
KEGG_2021_HumanMetabolic and signaling pathways from KEGG for human.
Reactome_2022Curated and peer-reviewed pathways covering signaling, metabolism, and disease.
MSigDB_Hallmark_2020Hallmark gene sets representing well-defined biological states and processes.
ChEA_2022ChIP-seq experiments identifying transcription factor-gene interactions.
GWAS_Catalog_2023Genome-wide association study results linking genes to traits.
Human_Phenotype_OntologyStandardized vocabulary of phenotypic abnormalities associated with human diseases.
STRING_Interactions_2023Protein interactions from STRING including experimental and predicted.
DrugBank_2022Drug targets from DrugBank including approved and experimental compounds.
CellMarker_2024Manually curated cell type markers for human and mouse.

API Details

This server uses the Enrichr API:

  • Add List Endpoint: https://maayanlab.cloud/Enrichr/addList
  • Enrichment Endpoint: https://maayanlab.cloud/Enrichr/enrich
  • Supported Libraries: All libraries available through the Enrichr web interface

Development

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

Requirements

  • Node.js 18+
  • Internet connection for Enrichr API access

License

MIT

References

  • 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

Related Servers

NotebookLM Web Importer

Import web pages and YouTube videos to NotebookLM with one click. Trusted by 200,000+ users.

Install Chrome Extension