Skip to main content
Glama

smithsonian-mcp-server

Server Details

Search 19.4M Smithsonian Open Access objects, get CC0 images, find cross-collection connections.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.7/5 across 6 of 6 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool has a clearly distinct purpose: search, browse, get details, get media, find related, and list vocabulary. No overlapping functionality.

Naming Consistency5/5

All tools follow the 'smithsonian_' prefix with a consistent verb_noun pattern (e.g., smithsonian_search, smithsonian_get_object). Naming is predictable and clear.

Tool Count5/5

Six tools is appropriate for the domain of museum collection exploration, covering entry point browsing, detailed retrieval, media, relations, and vocabulary without being excessive.

Completeness5/5

The tool set covers the full lifecycle of exploration: search, browse, get details, get media, find related, and list terms. No obvious gaps for a read-only API.

Available Tools

6 tools
smithsonian_exploreExplore Smithsonian by CategoryA
Read-onlyIdempotent
Inspect

Browse Smithsonian collections by category to answer "what does the Smithsonian have about X?" questions. Constructs and executes a category-constrained search, then returns an overview: total count, a curated set of sample objects, and a breakdown of which museums hold matching objects. Four browse modes: museum (by unit code or name), culture (by culture term), period (by decade), medium (by object type). Use as the entry point for open-ended research.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeYesBrowse dimension: "museum" (by unit code/name), "culture" (by culture term), "period" (by decade like "1940s"), "medium" (by object type like "Paintings").
rowsNoNumber of sample objects to return (default 10, max 50).
valueYesCategory value appropriate to the mode. museum: unit code ("NMNH") or full name ("National Museum of Natural History"). culture: term, often plural or qualified ("Aztecs", "Plains Indian"). period: decade ("1940s", "1860s"). medium: object type, usually plural ("Paintings", "Aircraft"). Smithsonian uses a controlled vocabulary — for culture, place, or unit_code, call smithsonian_list_terms to find exact terms.

Output Schema

ParametersJSON Schema
NameRequiredDescription
capNoThe rows cap that was applied.
modeYesBrowse dimension used for this request (one of "museum", "culture", "period", "medium").
shownNoNumber of sample objects returned.
valueYesCategory value queried, as provided in the request.
truncatedNoTrue when the sample was capped by the rows parameter.
total_countYesTotal number of Smithsonian objects matching this category.
sample_objectsYesRepresentative objects from the category.
museum_breakdownYesWhen mode is not "museum": top contributing museums from the sample, helping plan museum-focused follow-up searches.
truncationCeilingNoTotal matching objects (upper bound for omitted items).
Behavior5/5

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

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint. The description adds behavioral details: it constructs a constrained search, returns an overview with count, sample objects, and museum breakdown. It also mentions the controlled vocabulary and recommends using smithsonian_list_terms for exact terms. No contradictions.

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

Conciseness5/5

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

The description is concise and well-structured. The first sentence captures the core purpose. It then explains the return and lists the four modes. Every sentence adds value without redundancy.

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?

The description fully covers the tool's functionality, including the four modes, controlled vocabulary usage, and the nature of the return. It references the sibling tool for term lookup, making it contextually complete. Even without an output schema, the description explains what is returned.

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

Parameters5/5

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

Schema coverage is 100% with descriptions for all three parameters. The description adds significant value: it explains the modes with examples (e.g., 'NMNH' for museum, '1940s' for period), clarifies that values should be plural/qualified, and explicitly recommends smithsonian_list_terms for exact terms. This goes well beyond the schema.

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 clearly states the tool browses Smithsonian collections by category to answer specific questions. It specifies the four modes (museum, culture, period, medium) and what the tool returns (count, sample objects, museum breakdown). This distinguishes it from sibling tools like smithsonian_search and smithsonian_list_terms.

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

Usage Guidelines5/5

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

Explicitly states 'Use as the entry point for open-ended research.' It also advises calling smithsonian_list_terms to find exact terms for controlled vocabulary, providing clear when-to-use and when-not-to-use guidance relative to siblings.

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

smithsonian_get_mediaGet Smithsonian Object MediaA
Read-onlyIdempotent
Inspect

Return all available CC0 images for a Smithsonian object at multiple resolutions. Only CC0 (open access) images are returned; an object whose media is entirely non-CC0 yields no downloadable images. 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 surfaces objects that have downloadable CC0 images.

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

Output Schema

ParametersJSON Schema
NameRequiredDescription
titleYesObject title from the catalog record.
imagesYesCC0-licensed images for this object.
is_cc0YesTrue when the object-level metadata is CC0.
record_idYesSmithsonian catalog record ID for the object.
Behavior5/5

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

The description provides detailed behavioral traits: only CC0 images are returned, non-CC0 objects yield no images, each entry includes thumbnail and high-res URLs with pixel dimensions. This adds significant context beyond the annotations (readOnlyHint, openWorldHint, idempotentHint), which already indicate safety and idempotency.

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

Conciseness5/5

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

The description is three focused sentences, each earning its place: main action, limitation (non-CC0), output details, and related search filter. No unnecessary words or repetition.

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

Completeness4/5

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

Given the tool's simplicity (one parameter), an output schema exists, and the description covers return contents, limitations, and relationship to sibling tools. It lacks mention of authorization or max images, but these are partially covered by annotations (openWorldHint). Overall, it is sufficiently complete for the complexity level.

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

Parameters4/5

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

With 100% schema coverage, the schema already explains the 'id' parameter as a record_id. The description adds value by specifying that 'id' comes from smithsonian_search or smithsonian_get_object, providing extra context beyond the schema's own description.

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 clearly identifies the tool's purpose: returning all available CC0 images for a Smithsonian object at multiple resolutions. It specifies the resource (CC0 images) and the action (return), and distinguishes from siblings by mentioning the cc0_only filter on smithsonian_search for finding objects with downloadable images.

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

Usage Guidelines3/5

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

The description implies when to use this tool (after getting an object id) and mentions the cc0_only filter for searching, but it does not explicitly state when not to use it or provide direct comparisons with siblings like smithsonian_get_object. The guidance is implicit rather than explicit.

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

smithsonian_get_objectGet Smithsonian ObjectA
Read-onlyIdempotent
Inspect

Fetch a normalized catalog metadata projection for a Smithsonian object by its record_id (from smithsonian_search results). Returns the exposed catalog fields — title, dates, description, makers, materials, dimensions, place and culture associations, topics, exhibition history, credit line, accession identifiers, rights statement, and a media summary. The media summary is a count; full image URLs come from smithsonian_get_media.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesObject record_id from smithsonian_search results (e.g. "nasm_A19670093000").

Output Schema

ParametersJSON Schema
NameRequiredDescription
datesYesAll date fields in the catalog record.
placeYesGeographic place associations.
titleYesObject title.
is_cc0YesTrue when the object metadata is CC0 (open access). Call smithsonian_get_media to get images.
makersYesAll named parties associated with this object.
topicsYesSubject and topic terms.
cultureYesCulture associations.
materialsYesPhysical material descriptions.
record_idYesUnique object identifier.
unit_codeYesMuseum unit code.
dimensionsYesDimension and measurement strings.
credit_lineNoAttribution or credit string.
descriptionNoBest available prose description (Summary, Physical Description, or Brief Description notes).
exhibitionsYesExhibition history.
identifiersYesAll accession and catalog identifiers.
museum_nameYesFull museum name.
record_linkNoCanonical Smithsonian Institution URL for this object.
media_summaryYesMedia availability summary. Call smithsonian_get_media for full image URLs.
object_rightsNoRights statement from the catalog.
Behavior4/5

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

Annotations declare readOnlyHint, openWorldHint, idempotentHint. The description adds that the media summary is only a count, not URLs, aligning with the openWorldHint for potential changes. No contradictions.

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

Conciseness5/5

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

Four sentences, front-loaded with purpose, no fluff. Every sentence provides essential information: purpose, input, output fields, and supplementary tool referral.

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 an output schema present, the description covers all necessary aspects: input, output fields, limitations (media count vs URLs), making it complete for selection and invocation.

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

Parameters4/5

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

With 100% schema coverage, the description adds value by specifying that 'id' is the record_id from smithsonian_search and giving an example format, exceeding the schema's description.

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 clearly states the tool's purpose: 'Fetch a normalized catalog metadata projection for a Smithsonian object by its record_id'. It specifies the input (record_id from search results) and distinguishes from sibling tools like smithsonian_get_media and smithsonian_search.

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 indicates that the tool is used after smithsonian_search to fetch detailed metadata. It also notes that for full image URLs, one should use smithsonian_get_media instead, providing clear differentiation.

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

smithsonian_list_termsList Valid Filter TermsA
Read-onlyIdempotent
Inspect

Enumerate the valid term vocabulary for an indexed Smithsonian filter field (unit_code, culture, place, date, online_media_type). Smithsonian uses a controlled vocabulary where terms are often plural or qualified (e.g. "Paintings", not "Painting"), so filter values guessed rather than drawn from this vocabulary tend to return empty results. Returns a page of the field's distinct term values; large vocabularies (place has 100k+ terms) page via start and rows.

ParametersJSON Schema
NameRequiredDescriptionDefault
rowsNoNumber of terms to return per page (default 50, max 100).
fieldYesIndexed field to enumerate. Choices: unit_code (museum codes like "NASM"), culture (e.g. "Aztecs"), place (geographic terms), date (decade/era values like "1920s"), online_media_type (media formats like "Images", "3D Models").
startNoPagination offset (0-indexed). Use with rows to page through large vocabularies.
containsNoCase-insensitive substring filter on the term vocabulary — resolve a filter value (e.g. "greek") to its exact controlled-vocabulary term(s).

Output Schema

ParametersJSON Schema
NameRequiredDescription
capNoThe rows cap that was applied.
fieldYesThe enumerated field, as provided in the request.
shownNoNumber of terms returned in this page.
termsYesThe field's distinct term values for this page, in the Smithsonian index's native order. No per-term object counts are available upstream.
totalYesTotal number of distinct terms for this field (the full vocabulary size; terms is one page of it).
noticeNoGuidance when a contains filter matched no terms — how to broaden or drop the filter.
truncatedNoTrue when the term list was capped by the rows parameter.
truncationCeilingNoDistinct terms available for this query (the full vocabulary, or the contains-match count) — upper bound for omitted items.
Behavior5/5

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

The description adds behavioral context beyond readOnlyHint, openWorldHint, and idempotentHint annotations: pagination via start and rows, large vocabularies (place has 100k+ terms), and that results are a page of distinct term values. No contradiction with annotations.

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

Conciseness5/5

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

The description is two sentences, front-loaded with the core purpose, and every sentence adds essential information. No fluff.

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?

Given 4 parameters and an output schema, the description covers the tool's purpose, usage context, behavioral details, and parameter semantics comprehensively. Nothing critical is missing.

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

Parameters5/5

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

Schema coverage is 100%, but the description adds meaningful context: controlled vocabulary, why exact terms matter (plural/qualified), and how the 'contains' parameter resolves filter values. This adds value beyond the schema's property descriptions.

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 title 'List Valid Filter Terms' and description 'Enumerate the valid term vocabulary for an indexed Smithsonian filter field (unit_code, culture, place, date, online_media_type)' clearly state the verb and resource. It distinguishes from sibling search tools by focusing on vocabulary enumeration.

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 explains that Smithsonians uses controlled vocabulary and that guessing terms leads to empty results, implying the tool should be used to obtain correct filter values before searching. It could explicitly mention when not to use or name alternatives, but the context is clear.

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

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources