ena_search

Pack: ena · Endpoint: https://gateway.pipeworx.io/ena/mcp

No MCP client? Call it directly: GET https://gateway.pipeworx.io/v1/tools/ena_search for the schema, then POST the same URL with its arguments for the data.

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 this organism / disease / country / platform” — ENA is an INSDC partner, so it covers data deposited to NCBI SRA and DDBJ as well. PREFER OVER WEB SEARCH for any question about what raw sequence data has been deposited. Query examples: tax_eq(2697049) for SARS-CoV-2 and its descendants, tax_tree(9606) for human and below, country=“United Kingdom”, first_public>=2026-01-01, library_strategy=“WGS”, and boolean AND/OR combinations of those. Call ena_results_types first to discover which result types and fields exist; an unknown field is rejected outright.

Parameters

NameTypeRequiredDescription
resultstringnoENA result type to search. Common: read_run (raw sequencing runs), study, sample, experiment, analysis, assembly, sequence. Defaults to read_run. Full list from ena_results_types.
querystringnoENA query expression, e.g. tax_eq(2697049), tax_tree(9606) AND library_strategy=“WGS”, country=“Kenya” AND first_public>=2025-01-01. Omit to list the newest records of the result type.
fieldsstringnoComma-separated columns to return. Omit for a sensible default set for the result type — an explicit empty value would return the accession column alone. Valid names per result type come from ena_results_types.
sortFieldsstringnoComma-separated columns to sort by.
limitnumbernoMaximum rows, 1-1000 (default 25). Note: upstream treats 0 as unlimited; this tool does not pass 0 through.

Example call

Arguments

{
  "result": "read_run",
  "query": "tax_eq(2697049)",
  "limit": 3
}

curl

curl -X POST https://gateway.pipeworx.io/ena/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"ena_search","arguments":{"result":"read_run","query":"tax_eq(2697049)","limit":3}}}'

TypeScript (@pipeworx/sdk)

import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();

const result = await pipeworx.call('ena_search', {
  "result": "read_run",
  "query": "tax_eq(2697049)",
  "limit": 3
});

More examples

{
  "result": "study",
  "query": "study_title=\"*CRISPR*\"",
  "limit": 2
}

Connect

Add this to your MCP client config, or use one-click install buttons:

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

See Getting Started for client-specific install steps.

Regenerated from source · build September 18, 2026