Skip to main content
Glama

smithsonian-mcp-server

Get Smithsonian Object Media

smithsonian_get_media
Read-onlyIdempotent

Return every CC0 (open-access) image for a Smithsonian object at multiple resolutions. The tool never returns an empty list — it names the reason instead: an object with nothing digitized, an object whose media is entirely non-image (scanned books, 3D models, sound recordings), and an object whose images are entirely non-CC0 each fail with their own reason. Each image entry includes thumbnail (~120px), screen-size (~800px), and high-resolution JPEG/TIFF URLs with pixel dimensions. The cc0_only filter on smithsonian_search_objects surfaces objects that have downloadable CC0 images.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesrecord_id of the object (e.g. "nasm_A19670093000") from smithsonian_search_objects or smithsonian_get_object.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
errorNoPresent when the call failed. Absent on success.
titleNoObject title from the catalog record.
imagesNoCC0-licensed images for this object.
is_cc0NoTrue when the object-level metadata is CC0. The Open Access corpus is CC0 throughout, so this rarely varies; the per-image is_cc0 flag is what gates delivery.
record_idNoSmithsonian catalog record ID for the object.

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already cover readOnly, idempotent, and openWorld hints. The description goes beyond these by disclosing the never-empty-list guarantee and explaining the three distinct failure reasons (nothing digitized, non-image media, non-CC0 images). It also describes the output structure (thumbnail, screen-size, high-res URLs with pixel dimensions), providing meaningful behavioral context without contradicting annotations.

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?

The description is reasonably concise given the amount of behavioral detail it conveys. It front-loads the core purpose, then efficiently covers edge cases and output structure. Each sentence contributes information, though it could be slightly tightened without loss. Overall it is well structured and not padded.

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?

For a single-parameter, read-only tool with an existing output schema and annotations covering safety, the description provides complete operational context. It covers the main behavior, failure modes, output characteristics, and even cross-references a sibling tool's filter for workflow integration. Nothing essential 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 description coverage is 100% for the single 'id' parameter, including a format example and source references. The description does not add additional semantic detail about the parameter beyond what the schema already provides, so the baseline of 3 is appropriate.

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 description states a specific verb ('Return'), a specific resource ('every CC0 image for a Smithsonian object'), and the scope ('at multiple resolutions'). It clearly distinguishes itself from sibling tools that handle search, browsing, or related-objects, and the mention of the cc0_only filter on smithsonian_search_objects further differentiates the workflow.

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 gives a clear usage hint by pointing to the cc0_only filter on smithsonian_search_objects, implying the agent should search first to find objects with downloadable CC0 images and then call this tool with the record_id. However, it does not explicitly state when *not* to use this tool or list alternatives for other scenarios, so it lacks full exclusion guidance.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.6/5.0
Disambiguation5/5

Each tool has a clearly distinct role: browsing an exact category, searching free-text, retrieving object metadata, fetching media, listing vocabulary, and finding related objects. Overlaps like browse_category vs search_objects are well-explained with explicit guidance on when to use each, eliminating ambiguity.

Naming Consistency5/5

All tools follow the same pattern: 'smithsonian_' prefix with lowercase snake_case verb_noun names (e.g., browse_category, get_media, list_terms). The naming is perfectly uniform and intuitive.

Tool Count5/5

Six tools cover the full spectrum of Smithsonian discovery and retrieval without bloat. Each tool addresses a distinct need, and the count is well-scoped for a read-only museum API.

Completeness5/5

The surface covers search, exact-category browsing, term vocabulary enumeration, object metadata retrieval, media access, and related-object discovery. There are no obvious dead ends—record IDs flow from search to other tools, and gaps like non-CC0 media are explicitly handled.