Skip to main content
Glama
ianderso

nara-catalog-mcp

by ianderso

get_partner_digital_objects

Read-only

Retrieve digital object IDs that commercial partners matched to a NARA record by NAID, useful when NARA's own pages are not online. An empty list means no matched partner metadata, not an error.

Instructions

List digital object ids a partner has matched to this record.

NARA indexes metadata supplied by commercial partners — Ancestry among them — against its own records. A hit tells you the partner holds imagery for this NAID, which is worth knowing when NARA's own pages are not online.

An empty list is the common answer and is not an error. It means no partner metadata has been matched, not that no partner holds the record.

The ids are pointers into the partner's index, not a citation. Cite the archival record by NAID and reference unit.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
naidYesThe record's NAID, e.g. '54765873'.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations cover the safety profile (readOnlyHint, openWorldHint), and the description adds genuinely non-obvious behavior: an empty list is the common, non-error outcome, and it means no partner metadata was matched rather than no partner holding the record. It also warns the ids are pointers into a partner index, not a citable reference. Return format is described in prose since no output schema exists.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the action and result, then two short paragraphs of caveats. Every sentence carries information, though the four-paragraph layout is slightly heavier than the tool's complexity warrants.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the return-value burden itself and does so well: it states what the list contains, what an empty result means, and how the ids should (not) be used for citation. Nothing needed to call or interpret this tool is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for the single 'naid' parameter, and the schema already gives an example value. The description only refers to it obliquely as 'this record' and adds no format or lookup guidance beyond the schema, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The first sentence gives a specific verb and resource ('List digital object ids a partner has matched to this record') and scopes it to partner-supplied metadata, which cleanly separates it from siblings like get_online_availability, get_record_images, and get_extracted_text. An agent can pick this tool without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description supplies a clear use condition — it is 'worth knowing when NARA's own pages are not online' — which implicitly routes the agent to this tool after checking NARA's own availability. It does not name the sibling tool (e.g., get_online_availability) explicitly, so the alternative is implied rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.