Skip to main content
Glama

Enrichr MCP Server

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.

Installation

For Claude Desktop, please download the Desktop Extension and install it by clicking ☰ (top left) -> File -> Settings and drag and drop the downloaded file into the Settings window.

Use the button below to install the MCP server to Cursor, VS Code, or VS Code Insiders with default settings.

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

For Claude Code, use the following command:

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

Features

  • Multi-Library Enrichment Analysis: Query multiple Enrichr libraries simultaneously (GO, pathways, diseases, tissues, drugs, etc.)

  • Parallel Library Queries: All libraries are queried in parallel for fast multi-database analysis

  • Structured Output: Returns both human-readable text and structured JSON for programmatic use

  • Comprehensive Library Support: Access to hundreds of gene set libraries from Enrichr including:

    • Gene Ontology (Biological Process, Molecular Function, Cellular Component)

    • Pathway databases (KEGG, Reactome, WikiPathways, BioCarta, MSigDB)

    • Disease/Phenotype databases (Human Phenotype Ontology, GWAS Catalog)

    • Tissue/Cell type libraries (GTEx, Human Cell Atlas, ARCHS4)

    • Drug/Chemical libraries (DrugMatrix, L1000, TG-GATEs)

    • Transcription Factor targets (ChEA, ENCODE)

    • MicroRNA targets (TargetScan, miRTarBase)

Configuration

MCP Client Configuration

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

With the default configuration the server will query a curated list of popular libraries.

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

Custom Available Libraries Configuration

You can configure libraries that are available for the LLM to use using CLI arguments in your MCP configuration:

{
  "mcpServers": {
    "enrichr-popular": {
      "command": "npx",
      "args": ["-y", "enrichr-mcp-server", "--libraries", "pop"]
    },
    "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", "--libraries", "Human_Phenotype_Ontology,OMIM_Disease,ClinVar_2019"]
    }
  }
}

Command Line Options

Adjust the CLI options to your needs, unreasonable settings might exceed the context window of the LLM and confuse it, so choose wisely:

Option

Short

Description

Default

--libraries <libs>

-l

Comma-separated list of Enrichr libraries to query

pop

--max-terms <num>

-m

Maximum terms to show per library

50

--format <format>

-f

Output format: detailed, compact, minimal

detailed

--output <file>

-o

Save complete results to TSV file

(none)

--compact

-c

Use compact format (same as --format compact)

(flag)

--minimal

Use minimal format (same as --format minimal)

(flag)

--help

-h

Show 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)

Examples

For a full list of commands, options, and usage examples, run the server with the --help flag. This is the most up-to-date source of information.

# Show the help message
npx enrichr-mcp-server --help

Environment Variables

You can also configure the server via environment variables:

Variable

Description

Example

ENRICHR_LIBRARIES

Comma-separated list of libraries to query

GO_Biological_Process_2025,KEGG_2021_Human

ENRICHR_MAX_TERMS

Maximum terms per library

20

ENRICHR_FORMAT

Output format (detailed/compact/minimal)

compact

ENRICHR_OUTPUT_FILE

TSV output file path

/tmp/enrichr_results.tsv

Note: CLI arguments take precedence over environment variables when both are specified.

This table lists the libraries included when using the -l pop flag.

Library

Description

GO_Biological_Process_2025

Gene Ontology terms describing biological objectives accomplished by gene products.

KEGG_2021_Human

Metabolic and signaling pathways from Kyoto Encyclopedia of Genes and Genomes for human.

Reactome_2022

Curated and peer-reviewed pathways from Reactome covering signaling, metabolism, gene expression, and disease.

MSigDB_Hallmark_2020

Hallmark gene sets representing well-defined biological states and processes from MSigDB.

ChEA_2022

ChIP-seq experiments from GEO, ENCODE, and publications identifying transcription factor-gene interactions from human and mouse.

GWAS_Catalog_2023

Genome-wide association study results from NHGRI-EBI GWAS Catalog linking genes to traits.

Human_Phenotype_Ontology

Standardized vocabulary of phenotypic abnormalities associated with human diseases.

STRING_Interactions_2023

Protein interactions from STRING database including experimental and predicted.

DrugBank_2022

Drug targets from DrugBank including approved drugs and experimental compounds.

CellMarker_2024

Manually curated cell type markers from CellMarker database for human and mouse.

For a complete list of available libraries, visit the Enrichr Libraries page.

Benefits of Library Configuration

  1. Simplified Tool Calls: When libraries aren't specified in tool calls, your configured libraries are used

  2. Consistent Results: Ensures consistent library usage across different queries

  3. Multiple Configurations: Set up different MCP server instances for different research contexts

  4. Override Capability: Individual tool calls can still specify different libraries when needed

Usage

The server provides one tool:

enrichr_analysis

Performs enrichment analysis across multiple specified Enrichr libraries. All libraries are queried in parallel for optimal performance.

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 (default: "Gene list for enrichment analysis")

  • maxTerms (optional): Maximum number of terms to show per library (default: 50)

  • format (optional): Output format: detailed, compact, minimal (default: detailed)

  • outputFile (optional): Path to save complete results as TSV file

Returns:

  • Text content with formatted significant terms including term name, p-values, odds ratio, combined score, and overlapping genes

  • Structured JSON output with full result data for programmatic consumption

Available Library Categories

Enrichr contains hundreds of gene set libraries organized into categories:

  • Gene Ontology: Biological processes, molecular functions, cellular components

  • Pathways: KEGG, Reactome, WikiPathways, BioCarta, NCI, HumanCyc, Panther

  • Disease/Phenotype: HPO, OMIM, ClinVar, GWAS Catalog, DisGeNET

  • Tissues/Cell Types: GTEx, Human Cell Atlas, ARCHS4, Mouse Gene Atlas

  • Transcription Factors: ChEA, ENCODE, TRANSFAC, JASPAR

  • MicroRNA Targets: TargetScan, miRTarBase, microRNA.org

  • Drug/Chemical: DrugMatrix, L1000, TG-GATEs, CTD

  • Protein Interactions: BioGRID, STRING, hu.MAP

  • Literature Mining: PubMed, Geneshot, Co-expression

  • Evolutionary: Cross-species homologs, phylogenetic profiles

For a complete list of available libraries, visit the Enrichr Libraries page.

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 Enrichr web interface

Development

  • Build: npm run build

  • Test: npm test

  • Test (watch): npm run test:watch

  • Watch: npm run watch (rebuilds on file changes)

  • Inspector: npm run inspector (debug with MCP inspector)

Requirements

  • Node.js 18+

  • TypeScript 5.3+

  • Internet connection for Enrichr API access

License

This project follows the same license as the MCP TypeScript SDK.

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

Install Server
A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/tianqitang1/enrichr-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server