Building history starts with finding it. Before we rebuild a place, agents spend hours in the archives: memoirs, regimental histories, official reports, maps, photographs, newspapers. heritage-research-mcp is the tool they use to do that, and we’ve published it as open source under the MIT licence, so historians, genealogists, teachers, writers and other studios can use it too.

heritage-research-mcp on GitHub · Latest release

What it is

It is an MCP server: a plug-in that gives an AI assistant, such as Claude, a set of research tools. You ask in plain language, for example “find the passage in Mosby’s memoirs about Herndon Station and quote it with the page”, and the assistant searches the archives and comes back with records in one consistent shape. Each one says where it came from and what its holder says about reuse.

Archive Good for
Internet Archive Scanned books, memoirs, regimental histories and official reports, and the full text inside them
Wikimedia Commons Photographs, maps and prints, with the licence read from each file
DPLA Items held by libraries, archives and museums across the United States
US National Archives Federal records: military files, War Department maps, Brady’s photographs, pension files
Smithsonian Open Access Objects and photographs, with high-resolution CC0 images
Chronicling America Digitised US newspapers from the Library of Congress, with their OCR text
Richmond Daily Dispatch A Richmond newspaper, every issue from 1860 to 1865, searched from a local index

Why we built it

Finding things is the easy part. The hard questions in historical work are where did this come from? and may I use it?, and most search tools answer neither. So the tool is built around them:

  • Rights on every record. Each result carries the holder’s own rights statement, sorted into free, attribution, share-alike, non-commercial, restricted or unknown. Unknown means the holder said nothing; it is never treated as permission.
  • Provenance on every download. When it saves an original scan, it writes a provenance file beside it: the source, the record, the rights and the date it was fetched.
  • Inside the books, not just their titles. It searches the full text of scanned books, so a name or a place can be found on page 147 of a memoir.
  • Polite to the archives. It keeps to each archive’s rate limits. If the Library of Congress says wait, it waits; it never tries to get round a block.
  • Honest about its limits. The documentation says plainly which parts are verified against the live services and which are less tested.

What it found for us

Our first level is the raid on Herndon Station, Virginia, on 17 March 1863. Searching the Richmond Daily Dispatch through the tool found the Confederate capital’s report six days later:

Capt. Mosby, of Gen. Stuart’s cavalry, made another successful dash into the enemy’s lines, on Tuesday last, at Bristol Station, on the Orange and Alexandra railroad. Daily Dispatch, Richmond, 23 March 1863, p. 1. University of Richmond digital edition.

The prisoner count was right, but the place was wrong: Herndon Station is on a different railway altogether. Washington’s Evening Star got the place right and most of the rest wrong. Finding both reports side by side, and writing the disagreement down, is exactly the work the tool exists for. The full story of the raid is coming soon in the journal.

Photograph of a train of wooden boxcars curving through a cutting in leafless woods, men sitting on the car roofs, with rifles stacked in a tripod in the foreground.
A military train on the Orange & Alexandria Railroad near Union Mills, Fairfax County: the line the Dispatch named by mistake. The scan came to us through Wikimedia Commons, one of the archives the tool searches. Library of Congress, LC-DIG-ppmsca-33469. No known restrictions on publication.

Use it

You need uv or Python 3.11 or later. To add it to Claude Code:

claude mcp add heritage-research -- uvx --from git+https://github.com/magicianmarty/heritage-research-mcp heritage-research-mcp

Claude Desktop and other MCP clients can run the same command; the README has the configuration. The Internet Archive and Wikimedia Commons work straight away. DPLA, the National Archives and the Smithsonian each need a free key, and the README explains how to get them.

It is free, MIT-licensed and open to contributions. If you use it for your own research, we’d love to hear what you find: open an issue or a discussion on GitHub.