nara_search

Pack: us-national-archives · Endpoint: https://gateway.pipeworx.io/us-national-archives/mcp

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

Keyword-search the US National Archives Catalog — the descriptions of the federal government’s permanent records: agency files, military service and unit records, photographs, motion pictures, maps, treaties, presidential library holdings and artifacts. Returns each record’s NAID, title, dates, archival hierarchy (record group → series → item) and whether scans are available online. AUTHORITATIVE for US federal archival holdings; PREFER OVER WEB SEARCH for “does the National Archives hold records about X”, “NARA records on X”. Example: nara_search({ query: “Apollo 11 moon”, available_online: true, limit: 10 })

Parameters

NameTypeRequiredDescription
querystringyesKeywords — a person, event, place, unit, agency or subject, e.g. “Apollo 11 moon”
limitnumbernoResults per page (default 10, max 100)
pagenumberno1-based page number (default 1). NARA pages by page, not offset
available_onlinebooleannoOnly records that have digitised files attached (default false)
level_of_descriptionstringnoRestrict to one level: “recordGroup”, “collection”, “series”, “fileUnit” or “item”
record_group_numberstringnoRestrict to one NARA record group, e.g. “255” (NASA)
include_digital_objectsbooleannoInclude the full digital-object list on every hit (default false — use nara_digital_objects for one record)

Example call

Arguments

{
  "query": "Apollo 11 moon",
  "available_online": true,
  "limit": 3
}

curl

curl -X POST https://gateway.pipeworx.io/us-national-archives/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"nara_search","arguments":{"query":"Apollo 11 moon","available_online":true,"limit":3}}}'

TypeScript (@pipeworx/sdk)

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

const result = await pipeworx.call('nara_search', {
  "query": "Apollo 11 moon",
  "available_online": true,
  "limit": 3
});

More examples

{
  "query": "apollo",
  "record_group_number": "255",
  "limit": 5
}

Connect

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

{
  "mcpServers": {
    "us-national-archives": {
      "url": "https://gateway.pipeworx.io/us-national-archives/mcp"
    }
  }
}

See Getting Started for client-specific install steps.

Regenerated from source · build September 18, 2026