United States National Library of Medicine · Capability
NCBI E-Utilities API — Search
NCBI E-Utilities API — Search. 2 operations. Lead operation: Search Entrez Database. Self-contained Naftiko capability covering one United States National Library Of Medicine business surface.
What You Can Do
GET
Searchdatabase
— Search Entrez Database
/v1/esearch-fcgi
GET
Checkspelling
— Check Query Spelling
/v1/espell-fcgi
MCP Tools
search-entrez-database
Search Entrez Database
read-only
idempotent
check-query-spelling
Check Query Spelling
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: NCBI E-Utilities API — Search
description: 'NCBI E-Utilities API — Search. 2 operations. Lead operation: Search Entrez Database. Self-contained Naftiko
capability covering one United States National Library Of Medicine business surface.'
tags:
- United States National Library Of Medicine
- Search
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
UNITED_STATES_NATIONAL_LIBRARY_OF_MEDICINE_API_KEY: UNITED_STATES_NATIONAL_LIBRARY_OF_MEDICINE_API_KEY
capability:
consumes:
- type: http
namespace: ncbi-e-utilities-search
baseUri: https://eutils.ncbi.nlm.nih.gov/entrez/eutils
description: NCBI E-Utilities API — Search business capability. Self-contained, no shared references.
resources:
- name: esearch.fcgi
path: /esearch.fcgi
operations:
- name: searchdatabase
method: GET
description: Search Entrez Database
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: db
in: query
type: string
description: Target Entrez database (e.g. pubmed, nuccore, protein, gene, snp, mesh, pmc)
required: true
- name: term
in: query
type: string
description: Entrez text query with optional field tags and Boolean operators
required: true
- name: api_key
in: query
type: string
description: NCBI API key for increased rate limits
- name: retmax
in: query
type: integer
description: Maximum number of UIDs to return (default 20, max 10000)
- name: retstart
in: query
type: integer
description: Index of first UID in results (for pagination)
- name: retmode
in: query
type: string
description: Output format
- name: sort
in: query
type: string
description: Sort order for results
- name: datetype
in: query
type: string
description: Date type for date range filtering
- name: mindate
in: query
type: string
description: Minimum date for range filter (YYYY/MM/DD)
- name: maxdate
in: query
type: string
description: Maximum date for range filter (YYYY/MM/DD)
- name: usehistory
in: query
type: string
description: Store results on NCBI server (y/n)
- name: espell.fcgi
path: /espell.fcgi
operations:
- name: checkspelling
method: GET
description: Check Query Spelling
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: db
in: query
type: string
description: Target Entrez database
required: true
- name: term
in: query
type: string
description: Query term to check spelling for
required: true
- name: api_key
in: query
type: string
authentication:
type: apikey
key: api_key
value: '{{env.UNITED_STATES_NATIONAL_LIBRARY_OF_MEDICINE_API_KEY}}'
placement: query
exposes:
- type: rest
namespace: ncbi-e-utilities-search-rest
port: 8080
description: REST adapter for NCBI E-Utilities API — Search. One Spectral-compliant resource per consumed operation, prefixed
with /v1.
resources:
- path: /v1/esearch-fcgi
name: esearch-fcgi
description: REST surface for esearch.fcgi.
operations:
- method: GET
name: searchdatabase
description: Search Entrez Database
call: ncbi-e-utilities-search.searchdatabase
with:
db: rest.db
term: rest.term
api_key: rest.api_key
retmax: rest.retmax
retstart: rest.retstart
retmode: rest.retmode
sort: rest.sort
datetype: rest.datetype
mindate: rest.mindate
maxdate: rest.maxdate
usehistory: rest.usehistory
outputParameters:
- type: object
mapping: $.
- path: /v1/espell-fcgi
name: espell-fcgi
description: REST surface for espell.fcgi.
operations:
- method: GET
name: checkspelling
description: Check Query Spelling
call: ncbi-e-utilities-search.checkspelling
with:
db: rest.db
term: rest.term
api_key: rest.api_key
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: ncbi-e-utilities-search-mcp
port: 9090
transport: http
description: MCP adapter for NCBI E-Utilities API — Search. One tool per consumed operation, routed inline through this
capability's consumes block.
tools:
- name: search-entrez-database
description: Search Entrez Database
hints:
readOnly: true
destructive: false
idempotent: true
call: ncbi-e-utilities-search.searchdatabase
with:
db: tools.db
term: tools.term
api_key: tools.api_key
retmax: tools.retmax
retstart: tools.retstart
retmode: tools.retmode
sort: tools.sort
datetype: tools.datetype
mindate: tools.mindate
maxdate: tools.maxdate
usehistory: tools.usehistory
outputParameters:
- type: object
mapping: $.
- name: check-query-spelling
description: Check Query Spelling
hints:
readOnly: true
destructive: false
idempotent: true
call: ncbi-e-utilities-search.checkspelling
with:
db: tools.db
term: tools.term
api_key: tools.api_key
outputParameters:
- type: object
mapping: $.