Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

Smithsonian MCP Server

by cyanheadsversion 0.4.0i★ –iComputer or cloud
Registry nameio.github.cyanheads/smithsonian-mcp-server

Install

Overview

Description from the maker (original English)

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

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Computer or cloud
  • Transport: stdio, Streamable HTTP
  • Category: Design, images & audio
  • You need to fill in: SMITHSONIAN_API_KEY

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 3 of 3 passed
  • Runs on the maker’s server: what you ask it goes through their server.
  • Can do 6 things (tools) smithsonian_search_objects, smithsonian_list_terms, smithsonian_get_object, smithsonian_get_media …
  • You fill in yourself: SMITHSONIAN_API_KEY, MCP_LOG_LEVEL

You need

  • Runs in the cloudNothing to install; it connects over the internet
  • npmNode.js installed (for the npx command)

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Works in Claude on the web, desktop and mobile:

  1. Open Settings → Connectors
  2. Press Add custom connector
  3. Paste the address below and press Add
  4. If it asks you to sign in, sign in with the maker
SettingsConnectors1+ Add2https://…3
https://smithsonian.caseyjhand.com/mcp

Or run it on your computer

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "smithsonian": {
      "command": "npx",
      "args": [
        "-y",
        "@cyanheads/smithsonian-mcp-server"
      ],
      "env": {
        "SMITHSONIAN_API_KEY": "your-value",
        "MCP_LOG_LEVEL": "your-value"
      }
    }
  }
}

Run this in your terminal

claude mcp add --transport http smithsonian https://smithsonian.caseyjhand.com/mcp

Or run it on your computer

claude mcp add smithsonian --env SMITHSONIAN_API_KEY=your-value --env MCP_LOG_LEVEL=your-value -- npx -y @cyanheads/smithsonian-mcp-server

Fill in the empty values before running it.

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "smithsonian": {
      "url": "https://smithsonian.caseyjhand.com/mcp"
    }
  }
}

Or run it on your computer

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "smithsonian": {
      "command": "npx",
      "args": [
        "-y",
        "@cyanheads/smithsonian-mcp-server"
      ],
      "env": {
        "SMITHSONIAN_API_KEY": "your-value",
        "MCP_LOG_LEVEL": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "smithsonian": {
      "type": "http",
      "url": "https://smithsonian.caseyjhand.com/mcp"
    }
  }
}

Or run it on your computer

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "smithsonian": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@cyanheads/smithsonian-mcp-server"
      ],
      "env": {
        "SMITHSONIAN_API_KEY": "your-value",
        "MCP_LOG_LEVEL": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

ChatGPT connects only to servers on the internet:

  1. Open ChatGPT on the web → Settings → Connectors (Apps)
  2. Press Create or Add (some plans need Developer mode under Advanced first)
  3. Paste the address below, give it a name and save
  4. If it asks you to sign in, sign in with the maker
SettingsConnectors1+ Create2https://…3
https://smithsonian.caseyjhand.com/mcp

Menu names can differ slightly by plan and over time.

Your choice stays on this device in a cookie; no account needed.

Values you fill in

  • SMITHSONIAN_API_KEY required env
    Required. Free API key from https://api.data.gov/signup — approval is instant.
  • MCP_LOG_LEVEL env
    Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Tool names and descriptions exactly as the server reported them on Nov 6, 2026. The maker wrote them, not us; we show them as plain text.

  • smithsonian_search_objects

    Recommended first step for open-ended or topic discovery: free-text search across 14.5 million Smithsonian objects, with optional exact filters. Filters narrow by museum unit, object type, indexed date term, culture, geographic place, subject topic, named party, and online/CC0 av

  • smithsonian_list_terms

    Enumerate the valid term vocabulary for an indexed Smithsonian filter field (unit_code, culture, place, date, online_media_type, topic). Terms are a controlled vocabulary — often plural or qualified (e.g. "Paintings", not "Painting") — so guessed filter values tend to return noth

  • smithsonian_get_object

    Fetch a normalized catalog metadata projection for a Smithsonian object by its record_id (from smithsonian_search_objects results). Returns title, dates, description, labeled notes, makers, materials, dimensions, places, cultures, topics, exhibitions, credit line, identifiers, ri

  • smithsonian_get_media

    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 (3D models, scanned books, documents), and an o

  • smithsonian_browse_category

    Browse Smithsonian objects within one exact category — a single museum (mode "museum"), culture, indexed date term (mode "period"), object type (mode "medium"), or subject term (mode "topic"). The value must be an exact indexed category term, not free text: resolve museum, cultur

  • smithsonian_find_related

    Discover objects across Smithsonian collections related to a given anchor object, matched on shared metadata signals — culture, period, object type, named parties, and topic terms. Each related object is tagged with the signals that connected it to the anchor; a named-party signa

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account cyanheads, which owns the repo

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • ✓ Pass

    Endpoint responds

    Responded in 133 ms (HTTP 200)

  • – Not applicable

    Sign-in with OAuth

    No sign-in needed

  • ✓ Pass

    No hidden instructions in tool descriptions

    Read 6 tool descriptions and found no hidden instructions to the AI

Compared with others in Design, images & audioi

  • More stars than 0% of the other 2752 servers in this category
  • Published to the registry more recently than 84% of the other 2752 servers in this category
  • Basic checks equal to or better than 100% of the other 2752 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is Smithsonian MCP Server safe?

It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

You need to fill in: SMITHSONIAN_API_KEY

Does it run on my computer or in the cloud?

Either way works: install it on your computer or connect to the cloud version.

Is it still maintained?

The GitHub repo last changed –, and the latest version (0.4.0) reached the registry 6 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.

What can I use instead?

In the same category: Figma Context MCP, Claude Real Video, Figma MCP Server

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.

Runs on your computer★ 16,165MITUpdated 5 months ago
Install

Claude Real Video

by HUANGCHIHHUNGLeo

Let any LLM watch a video locally — and search everything it has ever watched.

Runs on your computer★ 2,284MITUpdated 2 months ago
Install

Figma’s official server gives AI your design data so it can turn designs into code or describe them accurately. Connects to Figma’s cloud.

Runs in the cloud★ 2,152Updated 13 months ago
Install

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

@cyanheads/smithsonian-mcp-server Search 14.5M Smithsonian Open Access objects across 20+ museums via MCP, and retrieve CC0 images for the 5.2M that carry openly-licensed media. STDIO or Streamable HTTP. 6 Tools

Public Hosted Server: https://smithsonian.caseyjhand.com/mcp


Overview

The Smithsonian's Open Access catalog: 14.5 million objects across 20+ museums, 5.2 million with CC0 images. Search by free text or category, browse by museum, culture, date, or topic, and discover connections across collections.

Tools
ToolDescription
smithsonian_search_objectsSearch across 14.5M objects by text query with optional filters (museum, type, date term, culture, place, topic, name, scientific name, media type, online-only, CC0). Returns curated summaries with total count.
smithsonian_list_termsEnumerate the valid term vocabulary for an indexed filter field (unit_code, culture, place, date, online_media_type, topic). Call before filtering to avoid empty results from invalid values; pass contains to resolve a guessed value to its exact term(s). unit_code terms come back with their museum names.
smithsonian_get_objectFetch a normalized catalog metadata projection for an object by ID: title, dates, materials, dimensions, exhibition history, credit line, and identifiers.
smithsonian_get_mediaReturn all CC0-licensed images for an object at multiple resolutions (thumbnail, screen, high-res JPEG/TIFF). Only CC0 images returned, never an empty list — a distinct error reason names why, whether the object has nothing digitized, only non-image media, or only restricted images.
smithsonian_browse_categoryBrowse objects within one exact category (museum, culture, period, medium, topic) with total count, a page of objects, and museum breakdown. Requires an exact indexed category term.
smithsonian_find_relatedDiscover cross-collection objects related to an anchor, matched on shared culture, named-party, topic, and period signals.
Skill
SkillDescription
smithsonian-guideGates for agents querying the catalog: query syntax (OR never widens a search), counting a museum's or a place's holdings, finding a person's indexed name, genus-level scientific names, and mirror-served pages

Ships in skills/ for plugin installs, the npm package, the Docker image, and the .mcpb bundle, and is served over MCP as skill://smithsonian-guide/SKILL.md.


Capability reference

smithsonian_search_objects tool
  • Free-text search over 14.5M objects from 20+ museums
  • Filters append hard AND constraints. Plain words and quoted phrases keep their matching semantics; active Lucene expressions are grouped to preserve Boolean precedence.
  • filters.online_media_type accepts exact smithsonian_list_terms media categories such as Images, 3D Models, and Sound recordings. These describe the index; even Images does not guarantee attached or CC0 images. Check smithsonian_get_object.media_summary for deliverability. Media categories feed search, with no media-type browse mode.
  • Filters: museum unit code, object type, indexed date term (1920s, 500-1500, 21st century, -2500), culture, geographic place, subject topic, named party (name), scientific name (scientific_name), indexed media category (online_media_type), online-only, CC0-only
  • topic and name are hard indexed constraints, not free text — topic: "Quilts" matches 1,134 objects where the bare word matches 2,677, and name: "Warhol, Andy" matches 421 against 715
  • Returns curated summaries: title, date, museum, object type, thumbnail URL, CC0 flag, record_id, plus holding_museum_name when the holding unit differs from the indexed unit_code (the 3D digitization scans)
  • An unknown filters key is rejected by name
  • Use start + rows for standard pagination (offset-based, default 20, up to 1,000 per page — a larger rows is served at 1,000 with a notice). When objects remain, the notice names the next start

smithsonian_list_terms tool
  • Fields: unit_code, culture, place, date, online_media_type, topic — a controlled vocabulary, often plural (e.g. Paintings, not Painting); ground filter values here before searching or browsing
  • contains filters the vocabulary by a case-insensitive substring — resolves a guessed value (e.g. greek → Greek, Attic) in one call; for unit_code it also matches museum names (National Air and Space → NASM), and each unit_code term comes back with a labels map of its museum name
  • Paginate with start + rows (default 50, up to 40,000 per page — a larger rows is served at 40,000 with a notice); topic (133k terms) and place (114k) are large enough to pair with contains
  • No per-term object counts are available upstream — only the term values themselves
  • Each field's vocabulary is cached for SMITHSONIAN_TERMS_CACHE_TTL_SECONDS (default 3600 seconds, 0 disables) — upstream ignores paging and returns the whole set on every call, so paging a large vocabulary uncached re-downloads it each time
  • object_type is not enumerable here — harvest its values from the object_type field in smithsonian_search_objects results

smithsonian_get_object tool
  • Input: record_id from smithsonian_search_objects — do not construct IDs manually
  • Returns the exposed catalog fields: title, dates (all labeled), makers (with roles), materials, dimensions, place associations, culture terms, topic/subject terms, exhibition history, accession identifiers, credit line, rights statement
  • Media summary included — call smithsonian_get_media for full image URLs. media_summary.non_image_media[] lists every media item that is not an image (3D models, scanned books, documents) as { type, url?, is_cc0 }, in catalog order
  • holding_museum_name names the holding unit when it differs from unit_code, the code the record is indexed under (the 3D digitization scans); the text output renders it as Held by
  • All nonempty notes retain their catalog labels and source order. description selects recognized prose labels; administrative notes stay labeled.
  • Natural-history metadata includes all scientific_names, reported taxonomy ranks, and valid decimal collection coordinates with their own locality when present. The arrays are empty when no names or valid points are available; absent ranks are omitted. No accepted name, geocoding, or accuracy is inferred. Use scientific_names as exact filters.scientific_name values in search; this field is not enumerable via smithsonian_list_terms.

smithsonian_get_media tool
  • Only CC0-licensed images are returned, never restricted content
  • Three distinct failure reasons when nothing is returnable: no_media (nothing digitized), no_images (media exists but is entirely non-image — 3D models, scanned books, documents; the recovery hint names the types present and points to smithsonian_get_object's media_summary.non_image_media, which links each item), not_cc0 (images exist but none are CC0, thrown as Forbidden)
  • Each image entry includes thumbnail (~120px), screen-size (~800px), and high-resolution JPEG/TIFF URLs with pixel dimensions
  • Use smithsonian_search_objects with filters.cc0_only: true to find objects with downloadable CC0 images before calling this tool

smithsonian_browse_category tool
  • Five modes: museum (by unit code, e.g. "NASM" — matched exactly, not by museum name), culture (e.g. "Aztecs"), period (indexed date term, e.g. "1940s" or "500-1500"), medium (object type, e.g. "Paintings"), topic (subject term, e.g. "Quilts")
  • value must be an exact indexed category term — resolve museum, culture, period, and topic vocabulary with smithsonian_list_terms first; object_type is not enumerable there, so harvest it from smithsonian_search_objects results
  • Returns total count, a page of sample objects, and a museum breakdown showing which institutions hold matching items (computed from the current page)
  • Use start + rows for standard pagination (offset-based, default 10, up to 1,000 per page — a larger rows is served at 1,000 with a notice). When objects remain, the notice names the next start — adjacent pages retrieve the objects a capped sample omits
  • A category value that matches nothing throws invalid_category with a mode-specific recovery hint: a value outside the vocabulary gets the exact smithsonian_list_terms call that resolves it, and a value the index enumerates but that matches no objects is named as such and routed elsewhere
  • For open-ended or topic discovery, use smithsonian_search_objects instead — this tool requires an exact category value

smithsonian_find_related tool
  • Matches shared culture, named-party, topic, and period+type metadata signals against the wider catalog; cross-museum discovery is the differentiator — an NASM aerospace anchor may surface related objects from NMNH, SAAM, and NMAH
  • The named-party signal carries the catalog's own role for the party (maker, collector, donor, issuing authority, …) rather than a fixed maker label, prefers the indexed name facet as a hard filter when the record has one, and is dropped when its value only repeats the culture signal
  • The topic signal is a hard topic: filter, so every object it tags carries that subject term rather than merely mentioning the word
  • similarity_signals on each result names every metadata term that conne

Only the beginning is shown; read the rest in the repo

Ask PopNx