NCBI E-utilities

liveBiologyHealth

NCBI E-utilities — federated Entrez search/fetch across PubMed, Gene, Nucleotide, Protein, Taxonomy, ClinVar, dbSNP, OMIM, etc. Keyless.

8tools
0msauth
free tier50 calls/day

Tools

einfo

List all available Entrez databases (omit db) or return field definitions and link names for a specific database (e.g. db=pubmed). Use before esearch to discover valid search fields and databases.

No parameters required.

▶Try it
esearch

Search an Entrez database (e.g. pubmed, gene, nucleotide) by query term and return a list of matching UIDs (up to 10,000) with hit count. Supports pagination via retstart and sort (e.g. pub_date).

No parameters required.

▶Try it
esummary

Fetch document summaries for one or more Entrez UIDs in a given database (e.g. pubmed), returning title, authors, journal, and publication date without the full record body.

No parameters required.

▶Try it
efetch

Full records. Returns text (XML/GenBank/FASTA/…) per rettype.

No parameters required.

▶Try it
egquery

Global query across all Entrez databases.

No parameters required.

▶Try it
geo_series

Look up an NCBI GEO (Gene Expression Omnibus) series by its GSE accession, e.g. GSE75310 -> title, organism, number of samples and their GSM ids, platform (GPL id and name), experiment type (expressio

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.

List available tools
bash
curl -X POST https://gateway.pipeworx.io/ncbi-eutils/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
Call a tool
bash
curl -X POST https://gateway.pipeworx.io/ncbi-eutils/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"einfo","arguments":{}}}'

Use with the SDK

Install @pipeworx/sdk to call tools from any TypeScript/Node project.

TypeScript
import { Pipeworx } from '@pipeworx/sdk';
const px = new Pipeworx();
const result = await px.call("einfo", {});
ask_pipeworx
// Or ask in plain English:
const answer = await px.ask("ncbi e-utilities — federated entrez search/fetch across pubmed, gene, nucleotide, protein, taxonomy, clinvar, dbsnp, omim, etc");