关于 Enrichr MCP Server
Enrichr MCP Server 为生命科学研究者连接 Enrichr 基因集富集分析。它可检索最新文库、支持自定义背景基因集,并以文本和结构化形式返回显著结果。
主要功能
- 01跨 Enrichr 文库运行富集分析
- 02根据研究主题推荐文库
- 03应用自定义背景校正
- 04返回文本和结构化 JSON
- 05将结果导出为 TSV
- 06选择详细、紧凑或精简格式
适用场景
- 01分析基因列表中的富集条目
- 02为研究问题筛选文库
- 03按实验基因范围校正分析
- 04保存结果供后续处理
MCP 相关
该服务向 MCP 客户端提供分析和文库发现工具、文库目录资源及引导式分析提示词。它使用 Enrichr API,并返回统计显著的结果。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
2收录的工具列表 · 更新于 3 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| genes | array | 是 | 要分析的基因符号列表(例如,['TP53', 'BRCA1', 'EGFR']) |
| libraries | array | 否 | 要查询的 Enrichr 库。默认为已配置的库。使用 suggest_libraries 查找有效名称。 |
| background | array | 否 | 要检验的自定义背景基因集,用于替代全基因组——例如,实验中检测到的所有基因。当基因列表来自受限范围(表达基因、靶向面板)时,强烈建议使用,因为全基因组默认值会夸大显著性。必须包含基因列表所来自的整个范围,而不能仅包含基因列表本身。 |
| description | string | 否 | 基因列表的可选描述 |
| maxTerms | integer | 否 | 每个库显示的最大术语数 |
| format | enum | 否 | 输出格式detailed | compact | minimal |
| outputFile | string | 否 | 将完整结果保存为 TSV 文件的路径 |
详细介绍
Enrichr MCP 服务
一个使用 Enrichr API 进行基因集富集分析的模型上下文协议(MCP)服务。此服务支持 Enrichr 中所有可用的基因集库,并且仅返回统计学上显著的结果(校正后-$p$ < 0.05),供大模型工具解读。
安装
Claude Desktop
下载最新的 MCPB bundle(.mcpb 文件),然后通过 ☰ (左上角) -> File -> Settings 安装,再将文件拖放到 Settings 窗口中。
Cursor / VS Code
使用下方按钮,按默认设置安装:
Claude Code
claude mcp add enrichr-mcp-server -- npx -y enrichr-mcp-server
或者作为 Claude Code 插件安装:
/plugin install enrichr-mcp-server
Smithery
npx -y @smithery/cli install enrichr-mcp-server --client claude
手动配置
添加到 MCP 客户端配置中(例如,.cursor/mcp.json):
{
"mcpServers": {
"enrichr-server": {
"command": "npx",
"args": ["-y", "enrichr-mcp-server"]
}
}
}
功能
- 两种工具:用于运行富集分析的
enrichr_analysis,以及用于发现相关库的suggest_libraries - 自定义背景校正:使用自己的背景基因集(例如,仅包含检测中表达的基因)进行检验,而非使用整个基因组
- 实时库目录:运行时从 Enrichr 获取库列表,因此新版本会自动显示,已停用的库则不会再被推荐
- 引导式工作流:
enrichment_analysis提示词,可进行端到端分析并提供解读 - 22 个库类别:为所有库提供程序化类别映射(通路、癌症、激酶等)
- 并行库查询:并行查询所有库,实现快速的多数据库分析
- 结构化输出:同时返回人类可读文本和供程序使用的结构化 JSON
- 可配置的输出格式:提供详细、精简或最简格式,以控制令牌用量
- TSV 导出:将完整结果保存为 TSV 文件
工具
suggest_libraries
为研究问题发现最相关的 Enrichr 文库。请在使用 enrichr_analysis 前先调用此工具,为你的具体主题挑选最合适的文库。它会搜索 Enrichr 的实时文库目录,因此绝不会推荐 Enrichr 已停用的文库。若两个文库的相关性相同,则较新的版本排名更靠前(GO_Biological_Process_2026 优先于 ..._2021)。
参数:
query(必需):研究背景(例如,“DNA 修复”“乳腺癌耐药”)category(可选):按类别筛选(例如,cancer、pathways、kinases)maxResults(可选):返回结果的最大数量(默认值:10,最大值:50)
返回:
- 按相关性排序的文库列表,包含相关性分数、类别和描述
- 包含 suggestions 数组的结构化 JSON
enrichr_analysis
并行跨多个 Enrichr 文库执行富集分析。
参数:
genes(必需):基因符号数组(例如,["TP53", "BRCA1", "EGFR"])——至少 2 个libraries(可选):要查询的 Enrichr 文库名称数组(默认使用已配置的文库)background(可选):自定义背景基因集——至少 20 个基因。见下文。description(可选):基因列表的描述maxTerms(可选):每个文库的最大条目数(默认值:50)format(可选):输出格式:detailed、compact、minimaloutputFile(可选):将完整结果保存为 TSV 文件的路径
返回:
- 包含格式化显著条目的文本内容(名称、p 值、优势比、综合得分、重叠基因)
- 包含完整结果数据的结构化 JSON 输出,其中每个文库都有
backgroundCorrected
背景校正
默认情况下,Enrichr 会根据全基因组检验你的基因列表。如果你的基因来自受限的基因范围——例如仅包含在你的组织中表达的基因,或来自定向面板的基因——全基因组默认值会夸大显著性,往往会高出许多个数量级。传入基因列表所来自的基因范围作为 background:
{
"genes": ["TP53", "BRCA1", "ATM", "CHEK2"],
"background": ["TP53", "BRCA1", "ATM", "CHEK2", "ACTB", "GAPDH", "..."],
"libraries": ["GO_Biological_Process_2026"]
}
这并非无关紧要的差异。对于包含 16 个基因的 DNA 损伤列表,排名最高的 GO 条目的校正后 p 值会从 1.2e-16(全基因组)变为 1.8e-5(48 个基因的背景),而“显著”条目的数量会从 359 降至 10。
背景校正通过 Enrichr 独立的 speedrichr 服务运行,该服务有时不可用。失败后会重试;若问题仍然存在,该文库会退回到未经校正的全基因组 p 值,并在结果中标记 backgroundCorrected: false,同时在文本输出中醒目标出 WARNING。绝不会将回退结果伪装成经过背景校正的结果。
资源
| URI | 描述 |
|---|---|
enrichr://libraries | 按类别整理的完整文库目录 |
enrichr://libraries/{category} | 特定类别的文库(例如,enrichr://libraries/cancer) |
提示词
enrichment_analysis
基因集富集分析的引导式工作流。接受基因列表和可选的研究背景,然后逐步进行文库选择、分析和解读。
参数:
genes(必需):基因符号,以逗号或换行符分隔context(可选):用于选择文库的研究背景(会触发suggest_libraries步骤)
库类别
所有 200 多个库分为 22 个类别:
| 类别 | 示例 |
|---|---|
transcription | ChEA_2022, ENCODE_TF_ChIP-seq_2015, TRANSFAC_and_JASPAR_PWMs |
pathways | KEGG_2021_Human, Reactome_2022, WikiPathways_2023_Human, MSigDB_Hallmark_2020 |
ontologies | GO_Biological_Process_2025, GO_Molecular_Function_2025, Human_Phenotype_Ontology |
diseases_drugs | GWAS_Catalog_2023, DrugBank_2022, OMIM_Disease, DisGeNET |
cell_types | GTEx_Tissue_Expression_Up, CellMarker_2024, Tabula_Sapiens |
microRNAs | TargetScan_microRNA_2017, miRTarBase_2022, MiRDB_2019 |
epigenetics | Epigenomics_Roadmap_HM_ChIP-seq, JASPAR_2022, Cistrome_2023 |
kinases | KEA_2015, PhosphoSitePlus_2023, PTMsigDB_2023 |
gene_perturbations | LINCS_L1000_CRISPR_KO_Consensus_Sigs, CRISPR_GenomeWide_2023 |
metabolomics | HMDB_Metabolites, Metabolomics_Workbench_2023, SMPDB_2023 |
aging | Aging_Perturbations_from_GEO_down, GenAge_2023, Longevity_Map_2023 |
protein_families | InterPro_Domains_2019, Pfam_Domains_2019, UniProt_Keywords_2023 |
computational | Enrichr_Submissions_TF-Gene_Coocurrence, ARCHS4_TF_Coexp |
literature | Rummagene_signatures, AutoRIF, GeneRIF |
cancer | COSMIC_Cancer_Gene_Census, TCGA_Mutations_2023, OncoKB_2023, GDSC_2023 |
single_cell | Human_Cell_Landscape, scRNAseq_Datasets_2023, SingleCellSignatures_2023 |
chromosome | Chromosome_Location, Chromosome_Location_hg19 |
protein_interactions | STRING_Interactions_2023, BioGRID_2023, IntAct_2023, MINT_2023 |
structural | PDB_Structural_Annotations, AlphaFold_2023 |
immunology | ImmuneSigDB, ImmPort_2023, Immunological_Signatures_MSigDB |
development | ESCAPE, Developmental_Signatures_2023 |
other | MSigDB_Computational, HGNC_Gene_Families, Open_Targets_2023 |
使用 suggest_libraries 搜索所有类别,或读取 enrichr://libraries/{category} 获取任意类别的完整列表。
配置
命令行选项
| 选项 | 短选项 | 说明 | 默认值 |
|---|---|---|---|
--libraries <libs> | -l | 要查询的 Enrichr 库,以逗号分隔 | pop |
--max-terms <num> | -m | 每个库显示的最大条目数 | 50 |
--format <format> | -f | 输出格式:detailed、compact、minimal | detailed |
--output <file> | -o | 将完整结果保存到 TSV 文件 | (无) |
--compact | -c | 使用紧凑格式(等同于 --format compact) | (标志) |
--minimal | 使用精简格式(等同于 --format minimal) | (标志) | |
--help | -h | 显示帮助信息 | (标志) |
格式选项
detailed:完整详细信息,包括 p 值、优势比和基因列表(默认)compact:条目名称 + p 值 + 基因数(节省约 50% 的令牌)minimal:仅包含条目名称 + p 值(节省约 80% 的令牌)
环境变量
| 变量 | 说明 | 示例 |
|---|---|---|
ENRICHR_LIBRARIES | 库列表,以逗号分隔 | GO_Biological_Process_2025,KEGG_2021_Human |
ENRICHR_MAX_TERMS | 每个库的最大条目数 | 20 |
ENRICHR_FORMAT | 输出格式 | compact |
ENRICHR_OUTPUT_FILE | TSV 输出文件路径 | /tmp/enrichr_results.tsv |
注意:命令行参数的优先级高于环境变量。
多个服务实例
针对不同的研究情境设置不同的实例:
{
"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"]
}
}
}
常用库(默认)
使用默认的 -l pop 配置时:
| 库 | 描述 |
|---|---|
GO_Biological_Process_2026 | 当前的 Gene Ontology 生物过程术语。 |
KEGG_2026 | 当前的 KEGG 代谢和信号通路。 |
Reactome_Pathways_2024 | 当前的 Reactome 版本——经过整理和同行评审的通路。 |
MSigDB_Hallmark_2020 | 代表定义明确的生物状态和过程的标志基因集。 |
ChEA_2022 | 用于识别转录因子与基因相互作用的 ChIP-seq 实验。 |
GWAS_Catalog_2025 | 将基因与性状关联起来的全基因组关联研究结果。 |
Human_Phenotype_Ontology | 与人类疾病相关的表型异常标准化词汇表。 |
PPI_Hub_Proteins | 蛋白质相互作用网络中连接度很高的枢纽蛋白。 |
DGIdb_Drug_Targets_2024 | 来自 Drug Gene Interaction Database 的药物-基因相互作用。 |
CellMarker_2024 | 人类和小鼠细胞类型标记的人工整理集。 |
API 详情
此服务使用 Enrichr API:
- 添加列表:
https://maayanlab.cloud/Enrichr/addList - 富集分析:
https://maayanlab.cloud/Enrichr/enrich - 库目录:
https://maayanlab.cloud/Enrichr/datasetStatistics— 运行时获取并缓存 24h,因此库列表始终是最新的 - 背景校正富集分析:
https://maayanlab.cloud/speedrichr/api/{addList,addbackground,backgroundenrich} - 支持的库:Enrichr 当前提供的所有库(撰写本文时共 228 个)
注意:当某个术语与背景完全重叠时,Enrichr 会为优势比输出裸 Infinity 字面值——这不是有效的 JSON。此服务能正确解析这些响应;对原始响应直接调用 JSON.parse 会抛出错误。
开发
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
要求
- Node.js 18+
- 访问 Enrichr API 所需的互联网连接
许可证
MIT
参考资料
-
Chen EY, Tan CM, Kou Y, Duan Q, Wang Z, Meirelles GV, Clark NR, Ma'ayan A. Enrichr:交互式协作 HTML5 基因列表富集分析工具。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:全面的基因集富集分析 Web 服务,2016 年更新。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. 使用 Enrichr 进行基因集知识发现。Current Protocols, 1, e90. 2021. doi: 10.1002/cpz1.90
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。