1 pointby pramodprasanth8 hours ago1 comment
  • pramodprasanth8 hours ago
    I kept wanting reuse-safe artwork to pair with my writing. Every museum publishes rights signals differently: The Met returns a boolean, AIC embeds a string, Europeana puts a URI in an array, Wikimedia uses template names. Calling all of those "open access" the same way silently lets edge cases slip through, so I built one MCP that federates search across The Met, Cleveland, AIC, Wikimedia Commons, and Europeana (more being added), and applies a strict per-museum verifier on every record. Missing or ambiguous signals are rejected, never defaulted to "open." Records returned are CC0 or Public Domain Mark.

    Three citation styles (full, caption, short) generated deterministically from the same record. The dynasty-aware date parser handles Tang, Edo, Safavid, Mughal and others, so a query like "Dutch genre painting 1640–1680" filters by parsed date intersection.

    Currently dynasty matching is hand-rolled. There's a known false-positive class where "Hanka" used to trip the Han dynasty match, now fixed with word-boundary regex. Plenty more like that to find.

    Repo: https://github.com/cfpramod/open-museum-mcp. Demo: https://pramod.ch/open-museum-mcp.

    Missing museums, missing dynasties, weird records: tell me, or open a PR. A GitHub star helps it reach others doing similar work.