Labsco
MCP SERVER

Enrichr MCP Server

by tianqitang1

Run gene-set enrichment against Enrichr from the conversation — libraries chosen from the live catalogue, and your own background set when the genome is the wrong comparison.

Biomedical: Genomics & Clinical DataVerified
Summary
Enrichment analysis with the two things that usually go wrong — library choice and background — handled deliberately.

Only significant terms come back, so nothing has to filter a table of thousands after the fact. The background option deserves a second read: Enrichr tests against the whole genome by default, and when your genes were drawn from a restricted universe — the genes expressed in one tissue, or a targeted panel — that default overstates significance, sometimes by orders of magnitude. Library choice is the other trap, and it is answered from Enrichr's live catalogue rather than a list frozen at release time.

What it is

A server over the Enrichr API. Hand it a gene list and it queries several gene-set libraries in parallel, returning only the terms that pass an adjusted p-value threshold; a companion tool picks which libraries to query for the question you are actually asking.

What you get
  • enrichr_analysis takes gene symbols — two at minimum — queries the chosen libraries in parallel, and returns only statistically significant terms with their p-values, odds ratio, combined score and overlapping genes
  • suggest_libraries searches Enrichr's live catalogue for libraries relevant to a research question, filtered by category and ranked, preferring the newer vintage when two are equally relevant
  • Because that catalogue is fetched at runtime rather than baked in, new libraries appear on their own and retired ones are never suggested
  • Background takes your own background gene set — at least 20 genes — instead of the whole genome, and the result reports backgroundCorrected per library so you can see it applied
  • Format switches the output between detailed, compact and minimal to control how much of the result reaches the context, and maxTerms caps terms per library
  • outputFile writes the complete results to a TSV file while the conversation keeps only the trimmed version
  • Every call returns formatted text alongside structured JSON with the full result data
Requirements

Published as enrichr-mcp-server and launched over stdio with npx. No account and no key — Enrichr's public API is all it reaches. A .mcpb bundle is published for Claude Desktop, and the one-click installs for Cursor and VS Code pass --compact and --max-terms 100 by default.

Setup effort

One command — npx -y enrichr-mcp-server