mcpField
E
Ena

Ena

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

关于 Ena

Ena 是用于搜索 European Nucleotide Archive 测序记录并查询相关文件的 MCP 服务,面向需要查找公共序列数据的研究人员和数据使用者。它提供 accession 对应的下载链接与校验和。

主要功能

  1. 01按 ENA 查询语法搜索记录
  2. 02列出 accession 对应的文件
  3. 03提供下载链接、大小和 MD5
  4. 04查询结果类型、字段与记录数

适用场景

  1. 01按生物或研究项目查找公共测序数据
  2. 02定位读段文件并核验校验和

MCP 相关

向 MCP 客户端提供 ENA 搜索、文件报告和架构发现工具。可通过 Pipeworx 网关使用,也可作为独立的 stdio MCP 服务运行。

配置

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

服务地址https://gateway.pipeworx.io/ena/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/ena

欧洲核苷酸档案(EMBL-EBI)——公开的原始测序运行、组装和已注释序列记录,可按生物体、研究、平台、采集国家或日期搜索,并为每个运行提供 FASTQ/BAM 下载 URL 和校验和。

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

工具

  • ena_search(result?, query?, fields?, sortFields?, limit?) — 使用 ENA 自有的查询语法搜索任意 ENA 结果类型(tax_eq(2697049)、tax_tree(9606) AND library_strategy="WGS"、country="Kenya")。回答“这个生物体/疾病/地点有哪些公开测序数据”。
  • ena_filereport(accession, result?, fields?, limit?) — 获取研究、运行、样本或实验登录号对应的所有数据文件,包括直接下载 URL、字节大小和 MD5。回答“从哪里获取测序读段”。
  • ena_results_types(result?) — 用于发现架构的步骤:列出每种可搜索结果类型及其实时记录数;指定一种类型时,还会列出它接受的所有字段。请在编写查询前调用。

身份验证

无需密钥,也无需注册。

数据源

重新摸索这些问题很费时间(测量日期:2026-09-17)
  • format=json 不是默认格式。 不指定时会返回 TSV,下游会将其读取为单个格式错误的字符串,而不是报错。
  • limit=0 表示不设上限,与通常的约定相反。对于 read_run,这意味着数千万行。此工具包不会发送 0。
  • 数值列在线路传输中是字符串("read_count":"4547927")。
  • 搜索时不指定 fields 只会返回登录号列——看起来有效,实际上毫无用处。此工具包会为每种结果类型发送一组默认字段。
  • filereport 遇到不匹配的登录号时会返回 HTTP 200,并在 {"message": ...} 响应正文中列出可接受的正则表达式。我们会抛出该消息;若返回空列表,则会被误解为“此研究没有任何运行”。

快速开始

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

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

https://gateway.pipeworx.io/ena/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/ena_search \
  -H 'Content-Type: application/json' \
  -d '{"result":"read_run","query":"tax_eq(2697049)","limit":3}'

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

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

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

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

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

npx -y @pipeworx/mcp-ena

它通过 stdin/stdout 使用 MCP,并响应 initialize/tools/list/tools/call,仅提供此软件包的工具,不包含上方网关连接额外提供的共享元工具。相同的源代码,相同的工具,无需 ask_pipeworx 路由。

使用 ask_pipeworx

你也可以用通俗的英语提问,而不是直接调用工具——这既适用于上方的软件包端点,也适用于完整网关:

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

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

更多信息

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

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

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