SuperAPI AI 工具集

enrichr-mcp-server

Enrichr MCP Server 是一个基于 Model Context Protocol(MCP)的服务器,通过调用 Enrichr API 提供基因集富集分析功能。它支持 Enrichr 提供的所有基因集库,并只返回统计显著的结果(校正 p 值 < 0.05),供大语言模型工具解读。该服务器提供两个工具:enrichr_analysis 用于运行富集分析,suggest_libraries 用于发现相关基因集库,还带有引导式分析工作流。它支持自定义背景基因集校正、运行时获取实时库目录、并行查询多个基因集库、结构化 JSON 输出、可配置输出格式以及 TSV 导出。

访问官网

工具介绍

用途

Enrichr MCP Server 是一个 Model Context Protocol(MCP)服务器,用于提供基因集富集分析(gene set enrichment analysis),底层调用 Enrichr API。它面向需要通过大语言模型工具进行富集分析的研究场景,支持 Enrichr 当前提供的所有基因集库,并且只返回统计显著的结果(校正 p 值 < 0.05),供 LLM 工具解读。

主要能力

  • 两个工具:enrichr_analysis 用于运行富集分析,suggest_libraries 用于发现相关基因集库。
  • 自定义背景校正:可针对自己的背景基因集(例如仅测定中表达的基因)进行检验,而非使用全基因组。
  • 实时库目录:库列表在运行时从 Enrichr 获取,新发布的库会自动出现,已退役的库不会被推荐。
  • 引导式工作流:提供 enrichment_analysis 提示,支持从库选择、分析到解读的端到端流程。
  • 22 个库类别:为所有库提供程序化类别映射(通路、癌症、激酶等)。
  • 并行库查询:所有库并行查询,实现快速的多数据库分析。
  • 结构化输出:同时返回人类可读文本和结构化 JSON,便于程序化使用。
  • 可配置输出格式:detailed、compact 或 minimal,用于管理 token 用量。
  • TSV 导出:可将完整结果保存为 TSV 文件。

工具说明

suggest_libraries

为研究问题发现最相关的 Enrichr 库。建议在 enrichr_analysis 之前使用,以为具体主题挑选最合适的库。它搜索 Enrichr 的实时库目录,因此不会推荐 Enrichr 已退役的库。当两个库相关度相同时,更新的版本排在前(例如 GO_Biological_Process_2026 优先于 ..._2021)。

参数:

  • query(必填):研究背景(例如 "DNA repair"、"breast cancer drug resistance")。
  • 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 将你的基因列表与全基因组进行检验。如果你的基因来自受限的基因集合——例如仅组织表达的基因,或靶向 panel——全基因组默认值会夸大显著性,往往夸大许多数量级。可通过 background 传入列表所抽取的基因集合(universe):

差别并非表面性的。对于一个 16 基因的 DNA 损伤列表,最靠前的 GO 条目经调整后的 p 值从 1.2e-16(全基因组)变为 1.8e-5(48 基因背景),且 "显著" 条目数量从 359 降到 10。

背景校正针对 Enrichr 的独立 speedrichr 服务运行,该服务会间歇性不可用。失败会自动重试;若持续失败,库会回退到未校正的全基因组 p 值,结果会被标记为 backgroundCorrected: false,并在文本输出中给出醒目的 WARNING。回退结果永远不会被当作已进行背景校正来呈现。

引导式工作流

enrichment_analysis 提供基因集富集分析的引导式工作流。接受基因列表和可选的研究背景,然后依次完成库选择、分析和解读。

  • genes(必填):基因符号,以逗号或换行分隔。
  • context(可选):用于库选择的研究背景(触发 suggest_libraries 步骤)。

库类别

所有 200+ 个库被组织为 22 个类别。可使用 suggest_libraries 搜索所有类别,或读取 enrichr://libraries/{category} 获取任意类别的完整列表。

使用方式

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

Cursor / VS Code:使用默认设置安装。

也可作为 Claude Code 插件安装。

手动配置:添加到 MCP 客户端配置(例如 .cursor/mcp.json)。

命令行选项

  • detailed:完整细节,包括 p 值、优势比和基因列表(默认)。
  • compact:条目名称 + p 值 + 基因数量(节省约 50% token)。
  • minimal:仅条目名称 + p 值(节省约 80% token)。

环境变量

注意:CLI 参数优先于环境变量。

多服务器实例

可为不同的研究背景设置不同的实例。

常用库(默认)

使用默认的 -l pop 配置时适用。

依赖的 Enrichr API

  • 添加列表:https://maayanlab.cloud/Enrichr/addList
  • 富集:https://maayanlab.cloud/Enrichr/enrich
  • 库目录:https://maayanlab.cloud/Enrichr/datasetStatistics —— 运行时获取并缓存 24 小时,因此库列表不会过期
  • 背景校正富集:https://maayanlab.cloud/speedrichr/api/{addList,addbackground,backgroundenrich}
  • 支持的库:Enrichr 当前提供的所有库(撰写时为 228 个)

注意:当某个条目与背景完全重叠时,Enrichr 会输出裸 Infinity 字面量作为优势比,这不是合法的 JSON。本服务器能正确解析这些响应;对原始响应直接使用 JSON.parse 会抛错。

适用场景

  • 在 LLM 工具/客户端中执行基因集富集分析。
  • 跨多个 Enrichr 数据库进行多数据库富集分析。
  • 需要自定义背景基因集校正的富集分析。
  • 需要发现适合特定研究主题的基因集库。

限制

  • 需要联网访问 Enrichr API。
  • 背景校正依赖 speedrichr 服务,该服务间歇性不可用,失败时会回退到未校正结果并标记。
  • 部分功能与配置细节(如具体环境变量名称、完整默认库列表、支持的 MCP 客户端范围等)资料中暂未提供。