open-museum-mcp
Cited, research-grade search across open-access museum collections, in one MCP server.
- Open-access records reachable
- 500K+
- Sources always live
- 10
- Version
- v0.18 · MIT
Federated:The MetClevelandArt Institute of ChicagoRijksmuseumWaltersSMK DenmarkWellcomeNational Gallery of ArtGettyWikimedia Commons
With a free key:EuropeanaSmithsonianHarvard Art Museums
open-museum-mcp federates open-access museum collections behind one Model Context Protocol server. Ask Claude (or any MCP client) for “Dutch genre painting between 1640 and 1680”, or for “an Edo-period work to pair with this Vermeer”, and the server returns rights-verified records in a single normalised shape, with full citations.
One query, normalised metadata, and reuse-safe rights across every integrated collection in one response. It exists because every museum’s rights model is different, and asking each API by hand was getting in the way of writing.
- Art-history students and researchers: cited references and rights-cleared images for papers, slides, and theses, across institutions in one query.
- Writers, educators, and journalists: reuse-safe artwork to pair with essays, lessons, and articles.
- MCP and agent builders: a worked example of strict-default-deny rights verification across heterogeneous APIs.

Johannes Vermeer, A Maid Asleep, ca. 1656–57. Oil on canvas. The Metropolitan Museum of Art, CC0. https://www.metmuseum.org/art/collection/search/437878

Katsushika Hokusai, The Great Wave off Kanagawa (神奈川沖浪裏). Wikimedia Commons, PD. https://commons.wikimedia.org/wiki/File:Great_Wave_off_Kanagawa2.jpg
Two works, two centuries apart, two continents, found in one search.
In the wild
The engine has a museum
open-museum.art runs entirely on this engine: digital exhibitions with narrated guided tours and museum-grade print sets, a daily work, and search across the whole federation. The current show, The Horse That Changed the World, walks one animal through six rooms and six thousand years, every work rights-verified through the pipeline described on this page. If you want to see what the server does before installing it, visit the museum it built.
Three workflows
What it looks like in practice
Each panel below is one prompt sent to an MCP client, the underlying tool call, and the rights-verified records that come back. The cross-tradition pair, the date-windowed scan, and the counterpoint discovery are the three queries researchers and writers run most.
Workflow 1 · Cross-tradition pairing
Two paintings, two centuries apart
“Find a 17th-century Dutch genre painting and a same-period East Asian work I can pair as a comparison.”

Pieter de Hooch, Interior with a Young Couple, probably ca. 1662–65. Oil on canvas. The Metropolitan Museum of Art, CC0. https://www.metmuseum.org/art/collection/search/436675

Unknown artist, Horse Race at the Kamo Shrine, early to mid-1600s. Pair of six-panel folding screens; ink and color on gilded paper. Cleveland Museum of Art, CC0. https://clevelandart.org/art/1976.95
Workflow 2 · Date-windowed scan
Dutch genre painting, 1640–1680
“Show me Dutch genre painting between 1640 and 1680. Six works, full citations, prefer different artists.”
search_artworks({query: "Dutch genre painting", year_min: 1640, year_max: 1680, limit: 6})
Johannes Vermeer, Young Woman with a Lute, ca. 1662–63.

Pieter de Hooch, The Visit, ca. 1657.

Jan Steen, Merry Company on a Terrace, ca. 1670.

Gerard ter Borch the Younger, Curiosity, ca. 1660–62.

Hendrick Sorgh, A Kitchen, ca. 1643.

Adriaen Brouwer, The Smokers, ca. 1636.
Six results from the federated query. The year-range filter accepts records whose parsed date range intersects 1640–1680, so Brouwer’s Smokers (ca. 1636) just makes it on its 1641 upper bound. The Met dominates this slice; relevance ranking surfaces Vermeer and his Dutch contemporaries first.
What one result looks like
{
"id": "met:437880",
"title": "Young Woman with a Lute",
"artist": { "name": "Johannes Vermeer", "lifespan": "1632–1675" },
"yearStart": 1662, "yearEnd": 1663,
"medium": "Oil on canvas",
"museum": { "code": "met", "name": "The Metropolitan Museum of Art" },
"license": { "type": "CC0", "verificationSource": "met.isPublicDomain", "confidence": "high" },
"imageUrls": { "full": "https://images.metmuseum.org/.../DP354965.jpg" },
"source": { "pageUrl": "https://www.metmuseum.org/art/collection/search/437880" }
}Same shape across every integrated museum. Fields normalised, license verified at source, stable URL for citation.
Workflow 3 · Counterpoint discovery
Find me a counterpoint
“Suggest a non-canonical Edo-period work to pair with Vermeer’s A Maid Asleep. Explain the contrast.”
discover_random({region: "japan", period: "edo period"})
Johannes Vermeer, A Maid Asleep, ca. 1656–57. Oil on canvas. The Metropolitan Museum of Art, CC0. https://www.metmuseum.org/art/collection/search/437878

Unknown artist, Beauty of the Kanbun Era, late 17th century. Hanging scroll; ink, color, and gold on paper. The Metropolitan Museum of Art, CC0. https://www.metmuseum.org/art/collection/search/53441
Both works are single-figure portraits within a decade or two of each other. The Vermeer reads in oil as Western interior: modelled in light, the figure pinned to the depth of a tiled floor, a glass of wine half-finished on the table. The Kanbun-era scroll reads in line and gold on paper: same subject, no depth, the figure made by the cut of the kosode and the curve of the sleeve. Two cultures asking the same question of one woman, in two visual grammars that share almost nothing.
Federation
Multiple museums, one query
A sample of the federation, one work per source shown. The always-live set runs from the Met to the Getty; Europeana, the Smithsonian, and the Harvard Art Museums join the same federated query the moment their free API keys are attached. The Art Institute of Chicago is shown here at its public IIIF default (843 px); for slide decks or print, swap one segment in the URL to /full/1686,/0/default.jpg for a 2× tier from the same endpoint. Most sources ship their full-resolution originals.
Only CC0 / PD or otherwise reuse-safe records are returned. Strict default-deny across every fetcher: a record whose open-access status is missing or unclear never reaches you. The rights layer emits against openclearance.org, the published Clearance Manifest standard, with this engine as its reference implementation. Each record comes back with title, creator, date range, medium, rights status, institution, image URL, and a stable page URL, plus a ready-to-paste citation line.
Install
Three ways to install
Option A · Claude Desktop · one click
Download the Desktop Extension and double-click it. Claude Desktop opens the bundle, installs the server, and you're done. No Node, no npm, no JSON.
Download for Claude DesktopView release notes
Always points at the latest release. Requires Claude Desktop with Desktop Extensions support (June 2025+).
Option B · VS Code or Cursor · one click
Click the link for your editor. Each opens the editor with the install dialog prefilled. Confirm to add open-museum-mcp to your MCP servers list.
Install in VS CodeInstall in Cursor
Requires the editor to be installed. VS Code needs the Copilot Chat extension; Cursor's MCP support is built in.
Option C · Any MCP client · JSON config
For ChatGPT, Cline, Goose, Continue, Zed, and anything else: drop this JSON into your client's MCP config and restart. Full client-specific instructions in the GitHub README.
{
"mcpServers": {
"open-museum": {
"command": "npx",
"args": ["-y", "open-museum-mcp"]
}
}
}Europeana, Smithsonian, and Harvard Art Museums queries each require a free API key. The server runs without them; a key-gated fetcher is dropped from the federation rather than failing the call, and activates the moment its key is attached.
Next
Roadmap
Provenance ships next, in v0.20: each record can carry its custody chain exactly as the source museum publishes it, verbatim and ungraded, with gaps preserved as first-class entries. The design rule is blunt: "no claim located" must never render as "no claim exists". Alongside it, a federated-sources page on open-museum.art, derived automatically from the same source registry this page describes.
Used in the wild. open-museum.art runs on this engine, and every paired essay on this site carries companion artwork found through it. The rights layer's output format is published as a standard at openclearance.org.
Read “The companion you earn”, the essay about thisOpen the repo on GitHub




