What the SNAC Archives MCP server does
The SNAC Archives MCP server helps research agents locate archival material rather than interpret the contents of documents. It searches the SNAC Cooperative index of people, families, organizations, and the collections associated with them. Results can identify a collection, its repository and address, an OCLC number, available links, and possible duplicate catalogue records.
The service is suited to genealogy, local history, institutional research, and archival discovery. It can help answer questions such as which repository may hold a family’s correspondence, a church’s registers, a business’s records, or papers connected to two people. It does not maintain a family tree, write data, or establish that a person appears in a document.
How it works
The SNAC Archives MCP server communicates with the SNAC REST API over MCP stdio. SNAC supplies the indexed collection and name data; the server presents that information through read-only tools. ArchiveGrid is handled differently: the server constructs a fielded search URL or a record URL from an OCLC number, but does not query ArchiveGrid automatically.
Responses should be treated as leads to finding aids. A collection record may be brief or detailed, and a name record may represent an ambiguous heading. In a name’s linked collections, creatorOf indicates the person or organization’s own papers, while referencedIn indicates an indexing relationship. Repository finding aids and current call numbers should be checked before citing or requesting material.
Requests are cached on disk for 30 days by default. Calls are serialized with at least a one-second interval, and temporary 429 or 5xx responses are retried. Cached empty results can be refreshed with refresh=true when an absence needs confirmation.
Setup and configuration
Python 3.11 or later and uv are required. The simplest launch command is:
A cloned checkout can be installed and started with uv sync followed by uv run snac-archives-mcp. The process normally runs as a client-launched stdio server.
Claude Desktop can start it with a configuration using uvx and the snac-archives-mcp argument. Claude Code can register it with claude mcp add snac -- uvx snac-archives-mcp. If a desktop client cannot find uvx, configure the full path returned by which uvx.
No configuration is mandatory and no API key or account is needed. Optional environment variables include SNAC_API_URL for the HTTPS SNAC endpoint, SNAC_CACHE_DIR for the response cache location, SNAC_TIMEOUT for request timeouts, and SNAC_CONTACT for an email address or URL included in the User-Agent. A .env file is read only from the server’s startup directory.
Tools and capabilities
The SNAC Archives MCP server exposes eight tools:
search_collections searches collection titles and reports repositories, addresses, OCLC numbers, links, and likely duplicates.
get_collection retrieves a collection’s abstract, extent, repository, links, and associated names.
repository_holdings lists collections connected to a repository with title filtering and pagination.
search_names searches person, family, and corporate-body records.
get_name returns headings, dates, places, biographical information, identifiers, and, with detail="full", linked collections and related names.
collections_in_common finds collections connected to two names.
archivegrid_search_link creates an ArchiveGrid search or OCLC-based record link without a network request.
cache_status reports live calls and cache hits for the current session without making a request.
Limitations and notes
Collection and name indexes are not substitutes for repository descriptions. SNAC data may be old, records may have moved or been renumbered, and duplicate records are only probable matches. Title searches match collection-title words, not every word in an abstract; use name searches or an ArchiveGrid link when a place or subject appears only in descriptive text. ArchiveGrid’s location refers to the repository, while place refers to a place associated with the papers.
The project is independent of the SNAC Cooperative, the University of Virginia, and OCLC. The provided material does not specify a software license.