National Archives Catalog MCP for AI. Search Millions of Historical Records & Contributions
Works with every AI agent you already use
…and any MCP-compatible client








Connect to your AI in seconds.
National Archives Catalog MCP Server connects your AI agent directly to the US National Archives (NARA) collection. Search through millions of historical documents, photos, and records using natural language.
You can retrieve metadata for specific IDs, search by user tags or comments, navigate record hierarchies, and even manage community contributions like adding a new tag or transcription.
What your AI can do
Create comment
Adds a new public comment to any specific record ID.
Create tag
Attaches a new organizational tag to a record.
Create transcription
Adds a full text transcription of an archival document.
Find records across NARA using general text, tags (search_records_by_tag), transcriptions, or comments.
Determine which related items belong to a parent record by calling get_record_children.
Search, create, or delete tags and comments added by the public community (e.g., using create_comment or search_tags).
Get detailed information, status metrics, and descriptive data for a given National Archives Identifier.
Add new content like comments (create_comment) or transcriptions to existing records within the catalog.
Ask an AI about this
Waiting for input…
National Archives Catalog MCP Server: 40 Tools for Archival Research
These tools let you search, create, and manage every type of historical data point—from general record searches to specific user comments or tags.
Make your AI actually useful.
Add this MCP to Claude, Cursor, or Windsurf and your AI stops guessing. It gets real tools to look things up, take action, and handle the stuff you keep doing by hand.
Start using National Archives Catalog on VinkiusCreate Comment
Adds a new public comment to any specific record ID.
Create Tag
Attaches a new organizational tag to a record.
Create Transcription
Adds a full text transcription of an archival document.
Delete Comment
Removes or deactivates an existing comment on a record.
Delete Contributions
Deactivates multiple user contributions at once.
Delete Tag
Removes or deactivates a specific tag from a record.
Fetch Coords
Pulls JSON data from an S3 link using a provided URL utility.
Get Announcements
Retrieves a list of all current announcements posted to the catalog.
Get Comment
Fetches the full details for one specific comment using its ID.
Get Comments By Naid
Retrieves all comments associated with a single record's National Archives...
Get Comments By Userid
Gets all comments made by a specific contributor user ID.
Get Contributions By Target Naid
Retrieves all contributions associated with one record's NaId.
Get Contributions By Userid
Gets all historical contributions made by a specific user ID.
Get Justifications
Retrieves a list of official justifications for administrative actions taken on...
Get Latest Announcements
Fetches active announcements currently posted to the catalog system.
Get Record Children
Finds and retrieves all immediate child records belonging to a specified parent ID...
Get Record Stats
Retrieves usage statistics on user contributions for a specific record.
Get Tag
Fetches the details of one single tag by its ID.
Get Tags By Naid
Retrieves all tags currently applied to a specific record's NaId.
Get Tags By Userid
Gets all tags that have been assigned by a particular contributor user ID.
Get Transcription History
Retrieves a history log of changes made to a transcription.
Get Transcription
Fetches the full text transcription for one specific document by its ID.
Get Transcriptions By Naid
Gets all transcriptions associated with a single record's NaId.
Get Transcriptions By Userid
Retrieves all transcriptions created by a specific contributor user ID.
Get User Notifications
Retrieves a list of recent notifications assigned to a specific user.
Get User
Pulls public profile data for any specified user account.
Get Users
Gets public profile data for multiple users, filterable by criteria like email or...
Search Comments
Searches the entire catalog database specifically for comment text and metadata.
Search Contributions
Performs a broad search across all user contributions, tags, and comments.
Search Records By Comment
Narrows down record searches by specific comment text or ID.
Search Records By Contribution
Finds records that are related to a user's contribution (tag, comment, etc.).
Search Records By Tag
Searches for all records that carry a specific tag.
Search Records By Text
Performs general keyword searches across the record's main body text.
Search Records By Transcription
Finds records that contain specific keywords within their full transcriptions.
Search Records
Searches for records using general URL parameters or keywords.
Search Tags
Searches the tag index to find tags matching certain criteria.
Search Transcriptions
Searches the transcription data for specific keywords or phrases.
Update Comment
Modifies an existing comment on a record with new text.
Update Transcription
Adds or modifies the content of an existing transcription.
Update User
Modifies public profile information for a specific user account.
Security and governance baked right in.
Pick your AI client below to get set up. Just create a Vinkius account, subscribe, and you're instantly up and running. We handle the entire backend infrastructure, delivering out-of-the-box support for HTTPS Streamable, SSE, and OAuth2—zero messy routing required.
Choose How to Get Started
Build a custom MCP for your own tools, or connect a ready-made integration from our catalog.
Build Your Own
Turn any API into an MCP. Import a spec, define Agent Skills, or deploy with MCPFusion.
- Import from OpenAPI, Swagger, or YAML specs
- Create Agent Skills with progressive disclosure
- Deploy to edge with MCPFusion framework
- Built in DLP, auth, and compliance on every call
- Real time usage dashboard and cost metering
- Publish to catalog or keep private
Make Your AI Do More
Start with National Archives Catalog, then connect any of our 5,100+ other servers whenever your AI needs more. One click, no limits.
- Use this MCP plus 5,100+ others, all in one place
- Add new capabilities to your AI anytime you want
- Every connection is secured and compliant automatically
- Track usage and costs across all your servers
- Works with Claude, ChatGPT, Cursor, and more
- New servers added to the catalog every week
Independent Platform Disclaimer: Vinkius is an independent platform and is not affiliated with, endorsed by, sponsored by, verified by, or otherwise authorized by National Archives Catalog. All third-party trademarks, logos, and brand names are the property of their respective owners. Their use on this website is strictly for informational purposes to identify service compatibility and interoperability.
VINKIUS INFRASTRUCTURE
Cloud Hosted
Managed infra
V8 Isolated
Sandboxed per request
Zero-Trust Proxy
No stored credentials
DLP Enforced
Policy on every call
GDPR Compliant
EU data residency
Token Compression
~60% cost reduction
Works with Claude, ChatGPT, Cursor, and more
The Model Context Protocol standardizes how applications expose capabilities to LLMs. Instead of operating in isolation, your AI gains direct access to external platforms, live data, and real-world actions through secure, standardized connections.
This connection provides 40 powerful capabilities that interface natively with Claude, ChatGPT, Cursor, and other compatible AI platforms. No middleware. No custom integration required.
Sifting through physical archives takes weeks; modern databases are messy, too.
Today, finding a complete picture of an event means jumping between dozens of tabs: checking the main document metadata, then cross-referencing related files in one folder, and finally searching for notes or tags added by other researchers. You spend more time clicking through structures than reading history.
With this MCP server, you just ask your agent to find all documents related to a specific NaId and its children. The system uses `get_record_children` and `get_tags_by_naid` in sequence, compiling the entire context for you. You get the full story, instantly.
National Archives Catalog MCP Server: Manage Community Contributions
Before this server, if a researcher added a useful tag or comment to an online record, that information often lived in a separate, hard-to-access field. Finding those notes meant guessing which database table held the community input.
Now, you can use `get_comments_by_naid` and `search_records_by_comment`. This means all collaborative findings—the tags, comments, and transcriptions—are treated as first-class data points. Your agent brings them to the front.
What your AI can actually do with this
WHO IT'S FOR: The National Archives Catalog MCP Server connects your AI agent directly to the US National Archives (NARA) collection. You can search through millions of historical documents, photos, and records using natural language. It lets you retrieve metadata for specific IDs, track contributions made by others, navigate record relationships, and even manage community additions like creating a new tag or transcription.
SEARCHING AND DISCOVERING RECORDS:
You can find records across NARA using general keywords or URL parameters with search_records. If you're looking for something specific in the main body text, use search_records_by_text. To narrow it down to full transcriptions, run a search using search_records_by_transcription. You can also target records by community input: find items linked to a specific tag with search_records_by_tag, or limit your scope only to those records that mention a certain comment ID with search_records_by_comment.
For the deepest dive, you can use search_contributions to query across all user input—tags, comments, and everything in between.
MANAGING RELATIONSHIPS AND METADATA:
You'll know exactly what belongs together. Use get_record_children to pull a list of immediate records that are related to a specific parent ID (NaId). You can pull usage statistics on contributions for any record using get_record_stats. To track down the details on one single tag, run get_tag, or see every tag currently applied to a record by calling get_tags_by_naid.
You'll also get all tags assigned by a specific contributor user ID using get_tags_by_userid.
ACCESSING COMMUNITY CONTRIBUTIONS:
The system lets you track down every comment associated with one NaId via get_comments_by_naid, or check out the full history of comments made by a particular contributor using get_comments_by_userid. You can retrieve all contributions—including tags and comments—for both a specific record (get_contributions_by_target_naid) and a specific user (get_contributions_by_userid). For full transparency, you've got access to get_justifications, which retrieves the official reasons for any administrative action taken on records.
You can also check what recent notifications are sitting in a user’s inbox using get_user_notifications.
VIEWING TRANSCIPTIONS AND USER DATA:
You'll get all transcriptions related to one record with get_transcriptions_by_naid, or see every transcription created by a specific contributor using get_transcriptions_by_userid. You can fetch the full text of a document using get_transcription and review its change log history via get_transcription_history. For user profiles, you can grab public data for one person with get_user, or pull details on multiple users at once using get_users, which filters by role or email.
MODIFYING AND ADDING CONTENT:
Want to contribute? You can add a brand new public comment to any record ID using create_comment. If you need to tweak that text later, use update_comment. To manage tags, you'll either create_tag or remove one using delete_tag. Similarly, if you find a document that needs transcribing, you can add the full text with create_transcription, and then modify it later with update_transcription.
You also have tools to clean up contributions by deactivating multiple records inputs at once using delete_contributions.
CLEANING UP AND DELETING:
To remove a comment, you run delete_comment. If you need to take down a tag that was attached incorrectly, use delete_tag. You can also pull the list of all current announcements posted to the catalog using get_announcements or get_latest_announcements, and check out the general status metrics for any given NaId with get_record_stats.
019e38c5-f27b-71e0-9c09-ebe2cc652e61 Here's how it actually works
The bottom line is that your AI client handles all the complex API calls; you just ask it what history you're looking for.
Subscribe to the National Archives Catalog server and supply your NARA API Key.
Your AI client sends a request (e.g., 'Find all tags for record NaId 12345').
The agent executes the necessary tool (get_tags_by_naid) and returns structured, usable historical data to you.
Who is this actually for?
This server is built for professional researchers, academic historians, and genealogists. If you spend time sifting through physical archives or dealing with clunky government databases, this is for you. It removes the need to manually navigate complex catalog structures.
Retrieves primary source documents and metadata on specific events or periods using search_records_by_text.
Searches millions of records and transcriptions for family history data, relying heavily on tools like get_transcriptions_by_naid.
Uses the full suite of tools to manage community contributions—checking tags with get_tags_by_naid or adding a new comment using create_comment.
What Changes When You Connect
You don't have to manually click through different sections. Instead, you ask your agent to 'Find all records tagged World War II,' and the search_records_by_tag tool returns everything instantly.
Need to know what a record is related to? Use get_record_children to automatically pull up immediate connected files without guessing which folder they're in. It maps the structure for you.
Community data is now searchable. You can use search_records_by_comment to find records based on specific notes or opinions added by other researchers, not just the original content.
Managing contributions is simple. Instead of finding a record and then navigating to its details page to add a tag, you run create_tag directly in your chat workflow.
Transcription review is faster than ever. You can use search_records_by_transcription to pull up documents based on keywords found only in the handwritten transcriptions.
See it in action
Tracing a Family Line Through Metadata
A genealogist finds an old record but needs more context. Instead of manually checking related folders, they ask their agent to 'What other records are related to NaId 573036?' The agent runs get_record_children, providing immediate links like the 'Logbook of the USS Constitution' and 'Correspondence files', solving the structural problem.
Correlating Tags Across Eras
A historian is studying military records. They ask their agent to find all documents tagged 'Pacific Theater'. The agent executes search_records_by_tag, pulling up a focused list of relevant documents from across different collections, saving hours of manual filtering.
Updating Research Notes Collaboratively
A researcher finds key details in an old document. Instead of emailing someone to write notes, they ask their agent to 'Add a comment saying this record relates to the treaty signing.' The agent uses create_comment, instantly logging the finding directly onto the official record.
Pinpointing Specific Evidence in Transcriptions
You suspect an old diary mentions a specific person's name. You use your agent to run search_records_by_transcription with that name. The server returns all records—regardless of their primary subject matter—that contain that exact text, solving the deep-search problem.
The honest tradeoffs
Treating NARA like a simple search engine
Manually searching for 'Apollo 11' only to get general results. You miss related files because the system treats tags and children records as separate searches.
Tell your agent: 'Find all record children of NaId 594912.' The get_record_children tool automatically traverses the structure, showing you every connected file—not just the main document.
Manually tracking user contributions
You find a useful tag on one record and have to manually check if it's applied elsewhere. You waste time trying to remember which tool handles cross-record tagging.
Use search_records_by_tag with the tag name. This instantly pulls up every single document that carries that specific community-created tag, giving you a comprehensive view.
Overlooking transcription data
You know an event happened but can't find it using keywords in the record title or description. You assume the text isn't digitized.
Always check transcriptions. Use search_records_by_transcription to query records based on full-text searches of digitized, handwritten notes.
When It Fits, When It Doesn't
Use this server if your research requires deep structural knowledge—meaning you need to know not just what a record is (metadata), but who contributed to it (get_contributions_by_userid), or which files are physically related to it (get_record_children). It excels at managing complex, collaborative data sets.
Don't use this if you only need simple keyword searching on modern web content. For basic searches that don't involve historical context, specialized database tools might be better. If all you want is a list of users by email, get_users works, but for everything else—the history, the structure, the community notes—this server is necessary.
Questions you might have
How do I find related records using the National Archives Catalog MCP Server? Using `get_record_children`? +
Use get_record_children and provide the parent record's NaId. This tool retrieves all immediate files that are structurally linked to that main item, giving you a complete view of the related collection.
Can I search for records by tags using National Archives Catalog MCP Server? Using `search_records_by_tag`? +
Yes. Running search_records_by_tag lets you pull up every record that has a specific tag applied, no matter how far apart those records are in the physical archives.
What if I only know part of a handwritten note? Can I use National Archives Catalog MCP Server? Using `search_records_by_transcription`? +
You can. The search_records_by_transcription tool searches records using keywords found specifically within the full text transcriptions, not just the main record description.
How do I find all contributions by a specific user on National Archives Catalog MCP Server? Using `get_contributions_by_userid`? +
Pass the contributor's user ID to get_contributions_by_userid. This retrieves every piece of work they've added—tags, comments, or data—across all records.
What credentials do I need when setting up the National Archives Catalog using `get_user`? +
You'll need an active NARA API Key. You must provide this key during initial server setup so your agent can authenticate requests and retrieve public user data.
If I use `delete_comment`, is the comment permanently removed from the record? +
No, it typically deactivates or removes the contribution marker. The system keeps a history of deleted contributions for auditing purposes, so you won't lose the metadata.
How do I use `search_records_by_comment` if I only know general keywords? +
You search records by providing keywords, names, or dates found within the comment body. This pulls records based on community discussions rather than just official metadata.
What does `get_record_stats` provide for a specific National Archives Identifier (NaId)? +
It gives you metrics like the total count of tags, comments, and contributions linked to that record. This is useful for understanding how much community interaction exists.
Can I search for records specifically by the text in their transcriptions? +
Yes. Use the search_records_by_transcription tool. This is particularly useful for handwritten documents that have been digitized and transcribed by volunteers.
How do I see the individual items within a larger archival series? +
Use the get_record_children tool with the parent NaId. This will list the immediate sub-records or files contained within that specific collection or series.
Can I contribute to the archives by adding tags via the AI? +
Yes, the create_tag tool allows you to add descriptive tags to a record using its National Archives Identifier (NaId), helping improve searchability for the community.
We've already built the connector for National Archives Catalog. Just plug in your AI agents and start using Vinkius.
No hosting. No infrastructure. No complex setup.
All 40 tools are live and waiting.
You're up and running in seconds.
Vinkius gives your AI agents access to the full catalog of app connectors, all fully managed, secure, and enterprise-ready. One subscription, every tool you need.
Built, hosted, and secured by Vinkius. You just connect and go.