ENA (European Nucleotide Archive)
liveBiologyScienceEuropean Nucleotide Archive (ENA) — EMBL-EBI's public record of raw sequencing runs, assemblies and annotated sequence, searchable by organism, study, platform, collection country or date, with the FASTQ/BAM download URLs and checksums for every run.
Tools
ena_searchSearch 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
No parameters required.
Try it
ena_filereportList 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
No parameters required.
Try it
ena_results_typesList 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
No parameters required.
Try it
Test with curl
The gateway speaks JSON-RPC 2.0 over HTTP POST. You can test any pack directly from the terminal.
curl -X POST https://gateway.pipeworx.io/ena/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'curl -X POST https://gateway.pipeworx.io/ena/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"ena_search","arguments":{}}}'Use with the SDK
Install @pipeworx/sdk to call tools from any TypeScript/Node project.
import { Pipeworx } from '@pipeworx/sdk';
const px = new Pipeworx();
const result = await px.call("ena_search", {});// Or ask in plain English:
const answer = await px.ask("european nucleotide archive (ena) — embl-ebi's public record of raw sequencing runs, assemblies and annotated sequence, searchable by organism, study, platform, collection country or date, with the fastq/bam download urls and checksums for every run");