@pipeworx/us-national-archives

Connect: https://gateway.pipeworx.io/us-national-archives/mcp · Install: one-click buttons

No MCP client? Skip the connection: POST https://gateway.pipeworx.io/v1/tools/search_packs {"query":"..."} to find a tool below, GET /v1/tools/<name> for its schema, POST the same URL with arguments for the data — see For AI agents.

Tools: 3

The US National Archives Catalog (NARA) — descriptions of the federal government’s permanent records from every agency and presidential library, with direct links to the digitised page images where they exist.

Tools

  • nara_search(query, limit?, page?, available_online?, level_of_description?, record_group_number?, include_digital_objects?) — keyword search across the catalog.
  • nara_record(naid) — one record in full, with its archival hierarchy.
  • nara_digital_objects(naid, limit?) — the scans attached to a record, with public-domain download URLs.

Auth

Keyless. No x-api-key is needed or used — see below.

Data sources

Things worth knowing:

  • The documented /api/v2/ path with an x-api-key is not routed. Every catalog.archives.gov/api/v2/... URL returns the catalog’s single-page app as text/html with a 200 and the same ETag as a deliberately nonsensical path, with or without a key. It is not an outage and a key would not fix it; the path simply is not served. The endpoint the catalog’s own front end calls is /proxy/v3/records/search, and it is unauthenticated.
  • /proxy/records/search (no v3) rejects most page sizes. limit 1, 10, 20, 50, 100 and 1000 return JSON; 2, 3, 4, 5, 15 and 25 return the SPA HTML with a 200. Deterministic over three runs each. /proxy/v3/records/search accepts any limit, which is why this pack only calls v3 — and it still checks the content type before parsing, because a 200 that is secretly HTML is exactly the shape of a silent failure.
  • Paging is page (1-based). offset and from are ignored.
  • A single record is naId_is=, not naId=; the latter is the comma-list multi-fetch form.
  • NAIDs are JSON numbers in the body and strings in arguments. Reading only the string form blanks every id in a search result without erroring.
  • The payload is raw Elasticsearch: body.hits.total.value and body.hits.hits[]._source.record.

Tools

  • nara_search — 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, t
  • nara_record — Fetch one US National Archives Catalog record in full by its NAID (National Archives Identifier, the number in a catalog.archives.gov/id/ URL). Returns title, scope and content note, dates, access and
  • nara_digital_objects — List the digitised files attached to one US National Archives Catalog record — scanned page images, PDFs, audio and video — with a direct, public-domain download URL, file type and size for each. Use

Tools

  • nara_digital_objects — List the digitised files attached to one US National Archives Catalog record — scanned page images, PDFs, audio and video — with a direct, public-domain download URL, file type and size for each. Use
  • nara_record — Fetch one US National Archives Catalog record in full by its NAID (National Archives Identifier, the number in a catalog.archives.gov/id/ URL). Returns title, scope and content note, dates, access and
  • nara_search — 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, t

Regenerated from source · build September 18, 2026