snac-archives-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SNAC_API_URL | No | The SNAC REST endpoint. Default `https://api.snaccooperative.org/`. Must be https; its host is the only one the server will contact. | https://api.snaccooperative.org/ |
| SNAC_CONTACT | No | An email address or URL added to the User-Agent, so the SNAC team can reach you if your use causes trouble. Optional, and courteous. | |
| SNAC_TIMEOUT | No | HTTP timeout in seconds. Default 60. Holdings lists get 120. | 60 |
| SNAC_CACHE_DIR | No | Response cache directory. Default `~/.cache/snac-archives-mcp`. | ~/.cache/snac-archives-mcp |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_collectionsA | Find archival collections by words in their title, with who holds each. Matches the collection TITLE only, and every word must appear: a county or
second surname named only in the abstract will not match, so use
archivegrid_search_link or search_names for those. The same papers often
appear two or three times (a WorldCat record plus harvested finding aids);
|
| get_collectionA | Read one collection description in full, with the names SNAC links to it. Depth varies: a one-line MARC record with no box or folder list is normal,
and a terse description does not mean a person is absent from the papers.
Follow |
| search_namesA | Find SNAC name records for a person, family or organisation. A heading such as "Anderson family." matches hundreds of unrelated families, usually one record per source collection, with no place or date to tell them apart. A SNAC record is a machine-built authority record, not an identification: narrow with get_name, reading the collections it links to and their places and dates, before treating any record as your family. |
| get_nameA | Read one SNAC name record: who or what it is, and the collections linked to it. In |
| collections_in_commonA | List the collections linked to both of two names. Useful for intermarried families and the associates around an ancestor: papers that mention both are where to look for letters between them. Two names on one collection do not show the two people knew each other. |
| repository_holdingsA | List the collections SNAC links to one repository, filtered by title. The first call for a large repository is slow (10 to 20 seconds; it is SNAC building a list of thousands) and is then cached. The list is SNAC's link table, not the repository's catalogue: it includes printed and microform items and misses recent accessions. Survey "repositories" such as a state historical documents inventory record what a town or church held when surveyed decades ago; the material may since have moved. |
| archivegrid_search_linkA | Build an ArchiveGrid search address for the user to open. Makes no network call. ArchiveGrid often finds what SNAC cannot: collections known only by place or subject, and HTML or PDF finding aids. OCLC forbids automated access, so give the link to the user; never fetch it. Fielded indexes cover catalogue records and EAD only; HTML and PDF finding aids match keywords only. Over 90% of hits are collection-level WorldCat records, and microfilm held by many libraries (county or church records) is usually missing. |
| cache_statusA | Report this session's SNAC calls and cache use. Makes no network call. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 8 tools
Each tool targets a distinct object or action: collection search vs. name search, collection retrieval vs. name retrieval, cross-name collection overlap, repository holdings, external link building, and cache reporting. The descriptions explicitly clarify boundaries and limitations, so an agent should not confuse them.
All names use snake_case and are readable, with consistent search_/get_ pairs for the core lookup tools. However, several tools use noun phrases (collections_in_common, repository_holdings, cache_status) rather than the verb_noun pattern, which is a minor deviation.
Eight tools are well-scoped for a read-only archival discovery server. Each tool earns its place by covering a distinct part of the SNAC research workflow without obvious redundancy.
The surface covers core discovery and retrieval: searching and reading collections and names, finding shared collections, browsing repository holdings, and generating an external ArchiveGrid link. Minor gaps exist, such as direct subject/place search within SNAC or citation export, but agents can work around these via the provided tools and link builder.