The Enrichr MCP Server performs gene set enrichment analysis using the Enrichr API, enabling biological interpretation of gene lists across hundreds of curated databases.
Gene Set Enrichment Analysis (
enrichr_analysis): Analyze gene lists to identify overrepresented biological terms across multiple libraries simultaneously — including Gene Ontology, pathways (KEGG, Reactome, WikiPathways), diseases (HPO, GWAS Catalog, OMIM), tissues/cell types (GTEx, ARCHS4), transcription factors (ChEA, ENCODE), drug targets, microRNA targets, and moreGO Biological Process Enrichment (
go_bp_enrichment): Dedicated tool for focused Gene Ontology Biological Process analysisParallel Querying: All libraries are queried simultaneously for fast, comprehensive multi-database analysis
Statistical Filtering: Returns only significant results (adjusted p-value < 0.05) to reduce noise
Flexible Output Formats: Choose
detailed(full p-values, odds ratios, gene lists),compact(~50% token savings), orminimal(~80% token savings); includes structured JSON for programmatic useConfigurable Libraries & Result Limits: Customize which libraries to query and control the number of terms returned per library (1–100)
TSV File Export: Save complete enrichment results for downstream analysis, bypassing display limits
Provides tools to perform gene set enrichment analysis against literature-mined data from PubMed, enabling the identification of significant associations between genes and published biomedical research.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Enrichr MCP Serveranalyze gene set BRCA1, TP53, PTEN for GO biological process enrichment"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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.
For Claude Code, use the following command:
claude mcp add enrichr-mcp-server -- npx -y enrichr-mcp-serverFeatures
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):
Basic Configuration (Popular Libraries by Default)
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 |
|
| Comma-separated list of Enrichr libraries to query |
|
|
| Maximum terms to show per library |
|
|
| Output format: |
|
|
| Save complete results to TSV file | (none) |
|
| Use compact format (same as | (flag) |
| Use minimal format (same as | (flag) | |
|
| 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 --helpEnvironment Variables
You can also configure the server via environment variables:
Variable | Description | Example |
| Comma-separated list of libraries to query |
|
| Maximum terms per library |
|
| Output format ( |
|
| TSV output file path |
|
Note: CLI arguments take precedence over environment variables when both are specified.
Popular Libraries
This table lists the libraries included when using the -l pop flag.
Library | Description |
| Gene Ontology terms describing biological objectives accomplished by gene products. |
| Metabolic and signaling pathways from Kyoto Encyclopedia of Genes and Genomes for human. |
| Curated and peer-reviewed pathways from Reactome covering signaling, metabolism, gene expression, and disease. |
| Hallmark gene sets representing well-defined biological states and processes from MSigDB. |
| ChIP-seq experiments from GEO, ENCODE, and publications identifying transcription factor-gene interactions from human and mouse. |
| Genome-wide association study results from NHGRI-EBI GWAS Catalog linking genes to traits. |
| Standardized vocabulary of phenotypic abnormalities associated with human diseases. |
| Protein interactions from STRING database including experimental and predicted. |
| Drug targets from DrugBank including approved drugs and experimental compounds. |
| 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
Simplified Tool Calls: When libraries aren't specified in tool calls, your configured libraries are used
Consistent Results: Ensures consistent library usage across different queries
Multiple Configurations: Set up different MCP server instances for different research contexts
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 2libraries(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/addListEnrichment Endpoint:
https://maayanlab.cloud/Enrichr/enrichSupported Libraries: All libraries available through Enrichr web interface
Development
Build:
npm run buildTest:
npm testTest (watch):
npm run test:watchWatch:
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
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.