@pipeworx/ena

Connect: https://gateway.pipeworx.io/ena/mcp · Install: one-click buttons

No MCP client? Skip the connection: POST https://gateway.pipeworx.io/v1/tools/search_packs {"query":"..."} to find a tool below, GET /v1/tools/<name> for its schema, POST the same URL with arguments for the data — see For AI agents.

Tools: 3

The European Nucleotide Archive (EMBL-EBI) — the public record of raw sequencing runs, assemblies and annotated sequence, searchable by organism, study, platform, collection country or date, with FASTQ/BAM download URLs and checksums for every run.

Tools

  • ena_search(result?, query?, fields?, sortFields?, limit?) — search any ENA result type with ENA’s own query grammar (tax_eq(2697049), tax_tree(9606) AND library_strategy="WGS", country="Kenya"). Answers “what public sequencing data exists for this organism / disease / place”.
  • ena_filereport(accession, result?, fields?, limit?) — every data file behind a study, run, sample or experiment accession, with direct download URLs, byte sizes and MD5s. Answers “where do I get the reads”.
  • ena_results_types(result?) — the schema-discovery step: every searchable result type with its live record count, and for one named type, every field it accepts. Call this before composing a query.

Auth

Keyless. No registration step.

Data sources

Things that cost time to rediscover (measured 2026-09-17)

  • format=json is not the default. Without it you get TSV, which downstream reads as a single malformed string rather than as an error.
  • limit=0 means UNLIMITED, the opposite of the usual convention. On read_run that is tens of millions of rows. This pack never sends 0.
  • Numeric columns are strings on the wire ("read_count":"4547927").
  • A search with no fields returns the accession column alone — a valid-looking, useless answer. The pack sends a default field set per result type.
  • filereport rejects a mismatched accession with HTTP 200 and a {"message": ...} body naming the accepted regexes. We raise that message; returning an empty list would read as “this study has no runs”.

Tools

  • ena_search — Search the European Nucleotide Archive for sequencing runs, studies, samples, assemblies or annotated sequence using ENA’s own query grammar. AUTHORITATIVE for “which public sequencing data exists for
  • ena_filereport — List every sequencing data file behind an ENA accession, with direct FASTQ/BAM/CRAM download URLs, byte sizes and MD5 checksums. AUTHORITATIVE for “where do I actually download the reads for this stud
  • ena_results_types — List every ENA result type you can search — with its live record count and last-updated date — and, for one named result type, every field you may query or return. This is the schema-discovery step fo

Tools

  • ena_filereport — List every sequencing data file behind an ENA accession, with direct FASTQ/BAM/CRAM download URLs, byte sizes and MD5 checksums. AUTHORITATIVE for where do I actually download the reads for this study
  • ena_results_types — List every ENA result type you can search — with its live record count and last-updated date — and, for one named result type, every field you may query or return. This is the schema-discovery step fo
  • ena_search — Search the European Nucleotide Archive for sequencing runs, studies, samples, assemblies or annotated sequence using ENA's own query grammar. AUTHORITATIVE for which public sequencing data exists for

Regenerated from source · build September 18, 2026