mcpField
G
Gprofiler

Gprofiler

远程服务
pipeworx.io科研与教育02 天前更新

关于 Gprofiler

Gprofiler 是面向基因列表分析研究者的 MCP 服务,接入塔尔图大学的 g:Profiler,提供功能富集、标识符转换和跨物种直系同源映射,并显示转换歧义。

主要功能

  1. 01分析基因列表的功能富集
  2. 02使用 GO、KEGG、Reactome 等数据源
  3. 03转换基因、蛋白质和转录本标识符
  4. 04跨物种映射直系同源基因
  5. 05标记存在歧义的标识符匹配

适用场景

  1. 01识别基因列表中富集的生物通路
  2. 02将标识符转换为目标命名空间
  3. 03将人类基因映射到其他物种
  4. 04检查输入符号是否匹配多条记录

MCP 相关

向 MCP 客户端提供 g:Profiler 功能富集、标识符转换和直系同源映射工具。可通过 stdio 本地运行,或经 Pipeworx 网关访问。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://gateway.pipeworx.io/gprofiler/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

详细介绍

@pipeworx/gprofiler

针对基因列表进行功能富集分析,数据源包括 GO、KEGG、Reactome、WikiPathways、TRANSFAC、miRTarBase、CORUM、HPA 和 HPO;还支持基因/蛋白标识符转换及跨物种直系同源映射。数据来自塔尔图大学的 g:Profiler。

属于 Pipeworx 的一部分——一个 MCP 网关,可将 AI Agent 连接到 1879+ 个实时数据源。这是独立的非官方集成,与上游提供方无关联、未获其认可,也非由其发布。

工具

  • gprofiler_enrich(organism, query[], sources?, user_threshold?, no_iea?, ordered?, domain_scope?, background?, significant?, limit?) — g:GOSt。返回每个富集条目及其已调整的 p 值(g:SCS)、条目大小、查询大小、重叠数、精确率和召回率。省略每个基因的 intersections 和本体的 parents:它们会显著增大载荷,但回答中不会用到。
  • gprofiler_convert_ids(organism, query[], target?, numeric_namespace?) — g:Convert。在基因/蛋白/转录本/探针命名空间之间进行映射,并报告 hitsForInput,因此会将含义不明确的符号标记为有歧义,而不是悄悄解析为某个基因。
  • gprofiler_orthologs(organism, target, query[]) — 基于 Ensembl Compara 的 g:Orth。人类 TP53 → 小鼠 Trp53;会标记一对多映射,而不会将其合并。

身份验证

无需密钥。g:Profiler 要求以编程方式调用的客户端标明身份;该工具包会发送 pipeworx-mcp-gprofiler User-Agent。

数据源

  • POST https://biit.cs.ut.ee/gprofiler/api/gost/profile/ — 富集分析。
  • POST https://biit.cs.ut.ee/gprofiler/api/convert/convert/ — ID 转换。
  • POST https://biit.cs.ut.ee/gprofiler/api/orth/orth/ — 直系同源映射。
  • 文档:https://biit.cs.ut.ee/gprofiler/page/apis

注意事项

物种代码必须使用 g:Profiler 自有的格式,其他格式均无效。 取属名首字母加完整种名,全部小写:hsapiens、mmusculus、rnorvegicus、drerio、dmelanogaster、celegans、scerevisiae、athaliana。"human" 和 "9606" 都会被拒绝。这是最常见的初次错误,而且会明确报错——这反而是好事。

如果将单个基因作为裸字符串传入,上游会将其拆分成字符。 该工具包会先按空格、逗号或分号拆分字符串,再发送,因此 "TP53" 会变成 ["TP53"],而不是返回四个查找失败但 HTTP 状态码为 200 的结果。

富集结果为空时,含义不明确,工具包会对此作出提示。 对于较小或功能无关的列表,没有显著条目可能是合理结果;但错误的物种代码或无法识别的标识符也会产生完全相同的结果。note 字段会提示调用方使用 gprofiler_convert_ids 来区分这两种情况。

pValue 已经过多重检验校正(默认使用 g:SCS)。请勿再次校正。

转换结果中的 n_incoming > 1 表示多个记录匹配了输入项,而非输出值有多个。该信息会显示在 hitsForInput 中,并汇总到 ambiguousInputs。

针对所有数据源对大型列表进行富集分析确实很慢(以秒计,而非毫秒)。如果已知所需的注释集,请传入 sources。

快速开始

添加到你的 MCP 客户端(Claude Desktop、Cursor、Windsurf 等):

{
  "mcpServers": {
    "gprofiler": {
      "url": "https://gateway.pipeworx.io/gprofiler/mcp"
    }
  }
}
此端点实际提供的内容

https://gateway.pipeworx.io/gprofiler/mcp 上的 tools/list 会返回上表中的工具,以及 Pipeworx 共享元工具——ask_pipeworx、 discover_tools、search_within、remember/recall 和网关范围内的其他工具。因此,你看到的工具数量会多于此表:目前,单个工具包端点会列出大约 30 个共享工具,以及该工具包自身的工具。连接的 initialize 响应会说明其确切范围,是当天情况的权威依据。

这是有意为之,并非意外的多路复用。元工具让限定范围的连接也能回答此工具包未涵盖的问题——通过 ask_pipeworx 跨整个目录路由——无需再添加第二个 MCP 服务。目前无法挂载不含这些元工具的工具包端点;如果额外的架构定义所占用的上下文超过了路由带来的价值,请连接一次完整网关,而不是连接多个工具包端点。

或者连接完整的 Pipeworx 网关,直接列出每个工具包的工具,而不仅仅是此工具包的工具:

{
  "mcpServers": {
    "pipeworx": {
      "url": "https://gateway.pipeworx.io/mcp"
    }
  }
}

两个 URL 都会连接到同一个网关和同样的 1879+ 个数据源。唯一的区别在于直接列出的是哪个工具包的工具;无论连接哪个端点,ask_pipeworx 都能访问所有工具。

没有 MCP 客户端?通过 HTTP 调用

curl -X POST https://gateway.pipeworx.io/v1/tools/gprofiler_enrich \
  -H 'Content-Type: application/json' \
  -d '{"organism":"hsapiens","query":["TP53","BRCA1","BRCA2","ATM","CHEK2","PALB2"],"sources":["REAC"],"limit":5}'

首次调用无需账户。查看任意工具:GET https://gateway.pipeworx.io/v1/tools/gprofiler_enrich。查找工具:使用 {"query":"..."} 向 https://gateway.pipeworx.io/v1/tools/search_packs 发送 POST 请求。

独立运行(无需网关账户)

此软件包也可以作为本地 stdio MCP 服务运行——无需 Pipeworx 账户,也无需往返网关:

{
  "mcpServers": {
    "gprofiler": {
      "command": "npx",
      "args": ["-y", "@pipeworx/mcp-gprofiler"]
    }
  }
}

或者直接运行,以确认它能够启动:

npx -y @pipeworx/mcp-gprofiler

它通过 stdin/stdout 使用 MCP 通信,并仅针对该工具包的工具响应 initialize/tools/list/tools/call——不包含上述网关连接所添加的任何共享元工具。源代码相同,工具相同,但没有 ask_pipeworx 路由。

使用 ask_pipeworx

你也可以用通俗的英语提问,而不是直接调用工具——在上面的工具包端点和完整网关上都可以使用:

ask_pipeworx({ question: "your question about Gprofiler data" })

网关会选择合适的工具并自动填入参数。

更多信息

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

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

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