mcpField
E
Enrichr MCP Server

Enrichr MCP Server

本地服务
github.com/tianqitang1科研与教育1515 周前更新

关于 Enrichr MCP Server

Enrichr MCP Server 为生命科学研究者连接 Enrichr 基因集富集分析。它可检索最新文库、支持自定义背景基因集,并以文本和结构化形式返回显著结果。

主要功能

  1. 01跨 Enrichr 文库运行富集分析
  2. 02根据研究主题推荐文库
  3. 03应用自定义背景校正
  4. 04返回文本和结构化 JSON
  5. 05将结果导出为 TSV
  6. 06选择详细、紧凑或精简格式

适用场景

  1. 01分析基因列表中的富集条目
  2. 02为研究问题筛选文库
  3. 03按实验基因范围校正分析
  4. 04保存结果供后续处理

MCP 相关

该服务向 MCP 客户端提供分析和文库发现工具、文库目录资源及引导式分析提示词。它使用 Enrichr API,并返回统计显著的结果。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"enrichr": {
"command": "npx",
"args": [
"-y",
"enrichr-mcp-server"
]
}
}
}
启动命令npx -y enrichr-mcp-server

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmenrichr-mcp-server

工具

2

收录的工具列表 · 更新于 3 周前

参数类型必填说明
genesarray是要分析的基因符号列表(例如,['TP53', 'BRCA1', 'EGFR'])
librariesarray否要查询的 Enrichr 库。默认为已配置的库。使用 suggest_libraries 查找有效名称。
backgroundarray否要检验的自定义背景基因集,用于替代全基因组——例如,实验中检测到的所有基因。当基因列表来自受限范围(表达基因、靶向面板)时,强烈建议使用,因为全基因组默认值会夸大显著性。必须包含基因列表所来自的整个范围,而不能仅包含基因列表本身。
descriptionstring否基因列表的可选描述
maxTermsinteger否每个库显示的最大术语数
formatenum否输出格式detailed | compact | minimal
outputFilestring否将完整结果保存为 TSV 文件的路径

详细介绍

Enrichr MCP 服务

Enrichr MCP 服务图标

一个使用 Enrichr API 进行基因集富集分析的模型上下文协议(MCP)服务。此服务支持 Enrichr 中所有可用的基因集库,并且仅返回统计学上显著的结果(校正后-$p$ < 0.05),供大模型工具解读。

Smithery

安装

Claude Desktop

下载最新的 MCPB bundle(.mcpb 文件),然后通过 ☰ (左上角) -> File -> Settings 安装,再将文件拖放到 Settings 窗口中。

Cursor / VS Code

使用下方按钮,按默认设置安装:

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

或者作为 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、minimal
  • outputFile(可选):将完整结果保存为 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 个类别:

类别示例
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

使用 suggest_libraries 搜索所有类别,或读取 enrichr://libraries/{category} 获取任意类别的完整列表。

配置

命令行选项
选项短选项说明默认值
--libraries <libs>-l要查询的 Enrichr 库,以逗号分隔pop
--max-terms <num>-m每个库显示的最大条目数50
--format <format>-f输出格式:detailed、compact、minimaldetailed
--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_FILETSV 输出文件路径/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

  • Enrichr

  • Model Context Protocol

  • MCP TypeScript SDK

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。