open-museum-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OMM_CACHE_PATH | No | Optional path to the cache database. Default is ~/.open-museum-mcp/cache.db | |
| EUROPEANA_API_KEY | No | Optional API key for Europeana (free, per-user). If not set, Europeana fetcher is disabled. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
| resources | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_artworksA | Search across registered open-access museum collections. Returns artwork records that pass source-specific rights verification (ambiguous records excluded by default). Supports an optional date-range filter for researcher queries like "Dutch genre painting 1640–1680". |
| get_artworkA | Fetch a single artwork by its normalized ID (e.g. met:436533). |
| citeA | Render a citation for an artwork. Styles: "full" (artist, title, date, museum, license, URL), "caption" (image caption form), "short" (inline reference). |
| discover_randomA | Pick one random artwork from the local cache that matches the given constraints. Useful for breaking out of repetitive search territory (e.g. surface a random Edo-period work to satisfy a no-back-to-back-European-pre-1900 pairing rule). On a cold cache with |
| list_traditionsA | List the regions and periods present in non-expired cached records, with per-museum record counts. Helps you see which traditions are well-represented before searching, and where holdings are sparse. Returns { regions, periods } where each entry has { tag, label, coverage: { museumCode: count } }. On an empty cache, returns a hint to run search_artworks first — list_traditions is a meta-tool over what you have already collected, not a search trigger. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 5 tools
Each tool has a distinct, non-overlapping purpose: cite for citations, discover_random for random selection, get_artwork for specific artwork retrieval, list_traditions for metadata exploration, and search_artworks for querying. No ambiguity.
All tool names follow a consistent verb_noun pattern in lowercase snake_case (e.g., search_artworks, list_traditions), with 'cite' being a concise verb that fits the pattern. Highly predictable and readable.
With 5 tools covering search, retrieval, citation, random discovery, and metadata listing, the set is well-scoped for a museum API. Each tool earns its place without redundancy.
The tool set covers all essential operations for a read-only museum data API: searching, fetching single items, citing, random discovery, and exploring available traditions. No obvious gaps given the domain.