Skip to main content
Glama
kintopp

rijksmuseum-mcp+

by kintopp

rijksmuseum-mcp+

MCP Protocol MCP Apps

Overview

The rijksmuseum-mcp+ MCP server lets you explore the Rijksmuseum's artwork collections through natural conversation with an AI assistant. It does this by creating a bridge between the AI system's chat environment and an enriched copy of the museum's open-access, curated metadata. This in turn enables many features beyond those offered by the Rijksmuseum's own Search API and collections portal, including full-text semantic search, structured provenance analysis, artwork similarity comparisons, AI-supported visual analysis, and geospatial queries. Rijksmuseum-mcp+ works best when used together with rijksmuseum-iconclass-mcp, a sibling resource for searching and exploring Iconclass concepts.

Please do not treat the data made available by this resource as current or authoritative. It is based on data copied from the Rijksmuseum on May 2nd, 2026. For current data, please always use the Rijksmuseum's own search portal and APIs. Nor have the (in small part, also LLM based) enrichments of the museum's provenance data been reviewed or endorsed by the Rijksmuseum. This is an early pre-release of a technology demo that is still in active development. It is likely to include errors.

This tool was developed as a technology demo by the Research and Infrastructure Support (RISE) group at the University of Basel. We are particularly interested in exploring the research opportunities, methodological risks, and technical challenges posed by retrieving and analysing data with LLMs. If you are interested in collaborating with us in this area, please get in touch.

Related MCP server: artic-mcp

Features

  • Finding artworks. You can search by keyword, by structured filters (artist, type, material, technique, date, physical dimensions, production place), or by meaning — a semantic search that handles interpretive queries like "melancholy winter scenes at dusk". There's also iconographic search via Iconclass codes, so you can ask for works depicting a specific scene or motif rather than just matching words in titles.

  • Looking closely at works. Any artwork can be opened in an interactive, inline viewer. You can instruct the AI-assistant to inspect image regions by itself — useful for analysing a specific area of the image you've highlighted for it in the viewer. If an artwork has curator defined related artworks (e.g. preparatory sketches, or different impressions of the same design) these can be accessed through the viewer as well — its < / > buttons step through them in place, without leaving the viewer.

  • Collection-level analysis. You can ask for statistical breakdowns across the whole collection: top creators, distributions by decade, type, or theme, geographic spread, even demographic questions like how works by female artists are distributed across media or centuries.

  • Provenance and ownership history. Tracing who owned a work and when, which works passed through a particular collector or dealer, sales and confiscations in a given city or period, price histories, and how long families held their collections. Made possible by an experimental AAM parser that enables structured, CMOA/PLOD-aligned queries.

  • Scholarly apparatus. Bibliographies for individual works, reverse lookups (which artworks cite a given publication), and conservation histories including technical examinations like X-rays, infrared, and dendrochronology.

  • Relationships between works. A similarity engine ("find images similar to..") compares works across multiple dimensions — visual, thematic, lineage, shared subject — and surfaces pendants, pairs, copies, reproductive prints after paintings, and different impressions of one design.

  • People and places. You can search persons by profession, lifespan, or birthplace and then pull up their works, or run geospatial queries like "works depicting places within 20 km of Haarlem".

  • Linked Open Data. Works carry persistent handle.net URIs and other external IDs, and entities (creators, materials, depicted persons and places, themes) carry identifiers linking them to Wikidata, VIAF, ULAN, and RKD.

  • Command-line interface. The bundled rijks-mcp tool runs the same queries from the terminal — each tool exposed as a verb, with JSONL output for piping into tools such as jq so results are scriptable and reproducible.

Sample Queries

The system is designed to let you search, explore and ask questions about the Rijksmuseum's collections in natural language. For example:

  • What German artworks at the Rijksmuseum evoke vanitas and mortality?

  • Which artworks have a provenance linked to Emperor Bonaparte?

  • List all artworks which include the inscription, 'Amor vincit omnia'

  • Find artworks similar to SK-A-1115

For examples of more complex queries and sample responses, please browse the research scenarios. These demonstrate queries on a variety of topics including subject and iconographic search, curated sets, semantic search, provenance research, inscriptions and marks, and conservation.

Quick Start

The best way to get started is with Claude Desktop or claude.ai by adding rijksmuseum-mcp+ to Claude as a remotely hosted, custom 'Connector' using the URL below. This is currently free for one connector – additional connectors require a paid ('Pro') or higher subscription from Anthropic.

https://rijksmuseum-mcp-plus-production.up.railway.app/mcp

Go to CustomizeConnectorsAdd custom connector → Name it as you like and paste the URL into the Remote MCP Server URL field. You can ignore the Authentication section. Once the connector is configured, optionally set the permissions for its tools (e.g. 'Always allow'). See Anthropic's instructions for more detailed instructions.

Many other desktop and web-based clients such as OpenAI's ChatGPT or Mistral's Chat and open-source applications support remotely hosted, custom MCP servers. Please consult their documentation for more information. Alternatively, you can install rijksmuseum-mcp+ locally on your own computer. Please consult the technical guide for more details.

Afterwards, follow the same procedure to install rijksmuseum-mcp+'s sibling resource for IconClass, rijksmuseum-iconclass-mcp. This allows you to automatically search and explore c. 1.3 million IconClass notations, concepts, and descriptive texts alongside the Rijksmuseum's metadata.

Research skill

The rijksmuseum-mcp+ skill file (.zip archive) gives the AI assistant detailed guidance in natural language on how to use rijksmuseum-mcp+ effectively: which tool to choose for a given question type, how to combine searches, important metadata distinctions and known limitations. The package also includes reference files with full description of the available provenance search patterns and the find_similar functionality. Skills were originally developed by Anthropic for their Claude products but have since become an open standard. Making use of this skill is optional but will significantly improve the quality and efficiency of your AI assistant's responses when exploring the collection. The downloaded skill file can be installed in Claude by following these instructions.

How it works

When you submit your question, the AI assistant decides on the basis of their descriptions which combination of tools and search parameters provided by rijksmuseum-mcp+ will best answer it by drawing on the the museum's metadata. The assistant might search the collection using structured filters (search_artwork), look up an artwork's full metadata (get_artwork_details), query ownership history (search_provenance), or find artworks by meaning or concept (semantic_search). During this process, it will often chain several tools together in sequence (the so-called 'agentic loop'), each result informing the next query. The results from each tool come back as structured data and text, which the AI assistant interprets, contextualises, and when satisfied, finally sends back as an answer in natural language.

At each step, the AI assistant can combine the retrieved data with its own background knowledge — about artists, periods, iconographic traditions, and historical context — to offer interpretations that go beyond what the museum's metadata alone can provide. But the form and content of these statements will also be 'grounded' and 'constrained' by the curated metadata it has retrieved, by the instructions given to the AI assistant in the MCP server, and by the specialised domain knowledge and guidance it draws on from the optional research skill document. Together, these act as a kind of 'harness' for the AI assistant, keeping it factually grounded on the curated metadata and the user's query.

Because rijksmuseum-mcp+ maintains its own copy of Rijksmuseum and (via rijksmuseum-iconclass-mcp) Iconclass metadata, it can organise, enrich, query and analyse this in ways that are not possible by querying the Rijksmuseum collections portal or search API. In essence, this approach trades the conceptual simplicity of a traditional search interface, where you formulate a keyword-based query, receive results, and interpret these yourself, for a more flexible and powerful but also more complex scenario, where an AI assistant can search metadata, combine, and interpret the results on your behalf. In addition, the AI-assistant can offer a certain degree of 'introspection' on its actions – to explain how and why a search was conducted, what the data it retrieved looked like, and recommend options for how best to tackle a research question using Rijksmuseum data.

flowchart LR
    User["You"] <-->|conversation| AI["AI Assistant"]

    AI <-->|"MCP tool calls
    (agentic loop)"| Server["rijksmuseum-mcp+
    19 tools"]

    Server --> Search["Search & Discovery
    structured filters,
    semantic search,
    collection statistics"]

    Server --> Details["Details & Metadata
    provenance chains,
    bibliography & conservation,
    similarity comparison"]

    Server --> Images["Image Inspection
    deep-zoom viewer,
    region crops for AI vision,
    overlay annotations"]

    Search --> VocabDB[("Vocab DB
    834K artworks
    418K vocab terms
    14.8M mappings")]
    Search --> EmbeddingsDB[("Embeddings DB
    834K vectors
    semantic search")]
    Details --> VocabDB
    Images --> IIIF["IIIF Image API
    iiif.micr.io"]

    subgraph Harvest ["Periodic harvest (offline)"]
        OAI["OAI-PMH
        data.rijksmuseum.nl/oai"]
        LA["Linked Art
        id.rijksmuseum.nl
        (harvest-time)"]
    end
    OAI -.->|"834K records"| VocabDB
    LA -.->|"vocab + artwork
    enrichment"| VocabDB
    VocabDB -.->|"embedding
    generation"| EmbeddingsDB

Tips and Limitations

  • If something fails unexpectedly, try disconnecting and reconnecting the connector. Because this is a hosted remote MCP server, changes to its configuration from recent updates can leave your connection in an incorrect state — symptoms include queries never being answered, generic error messages, or the AI assistant reporting that a tool is unavailable. If connecting/disconnecting does not resolve the issue, remove the custom connector (MCP server) entirely and re-add it.

  • Ask the assistant to explain which tools and filters it used. Because rijksmuseum-mcp+ exposes many overlapping search patterns (e.g. keyword filters, semantic search, spatial queries), the AI assistant sometimes picks a narrower or broader strategy than you intended. If a result seems incomplete or suspiciously tidy, ask follow-ups like "let me see the remaining artworks for this query as well", or "explain how you reached this result". Being explicit in your prompt about whether you want a structured search (e.g. "all paintings by X made in Y") versus an exploratory search (e.g. "list a few...") will help the AI assistant to interpret your question.

  • Add the optional research skill to help the AI-assistant improve the quality of its responses.

Technical notes

For local setup (stdio or HTTP, also via cli), deployment, architecture, data sources, and configuration, please see the technical guide.

Roadmap

Ongoing:

  • fix bugs and fine-tune queries and tool descriptions

  • update README and other documentation

Later:

  • paper/presentation

  • investigate DINOv3 image retrieval

  • investigate OCR/HTR of artwork images

Maybe:

  • incorporating historical exhibition data

  • integration with other Linked Open Data resources (e.g. Colonial Collections)

  • supporting inferred geolocation data

  • improving the description signal for find_similar (e.g. via a LLM re-ranker)

Authors

Arno BosseRISE, University of Basel with Claude Code, Anthropic.

Citation

If you use rijksmuseum-mcp+ in your research, please cite it as follows:

APA (7th ed.)

Bosse, A. (2026). rijksmuseum-mcp+ (Version 0.90) [Software]. Research and Infrastructure Support (RISE), University of Basel. https://github.com/kintopp/rijksmuseum-mcp-plus

BibTeX

@software{bosse_2026_rijksmuseum_mcp_plus,
  author    = {Bosse, Arno},
  title     = {{rijksmuseum-mcp+}},
  year      = {2026},
  version   = {0.90},
  publisher = {Research and Infrastructure Support (RISE), University of Basel},
  url       = {https://github.com/kintopp/rijksmuseum-mcp-plus},
  orcid     = {0000-0003-3681-1289},
  note      = {Developed with Claude Code (Anthropic, \url{https://www.anthropic.com})}
}

Image and Data Credits

Collection data and images are provided by the Rijksmuseum, Amsterdam via their Linked Open Data APIs.

Licensing: Information and data that are no longer (or never were) protected by copyright carry the Public Domain Mark and/or CC0 1.0. Where the Rijksmuseum holds copyright, it generally waives its rights under CC0 1.0; in cases where it does exercise copyright, materials are made available under CC BY 4.0. Materials under third-party copyright without express permission are not made available as open data. Individual licence designations appear on the collection website.

Attribution: The Rijksmuseum considers it good practice to provide attribution and/or source citation via a credit line and data citation, regardless of the licence applied. Please see the Rijksmuseum's information and data policy for the full terms.

This project was inspired by @r-huijts/rijksmuseum-mcp, the original Rijksmuseum MCP server based on the museum's now superseded REST API.

License

This project is licensed under the MIT License.

Install Server
A
license - permissive license
A
quality
A
maintenance

Maintenance

Maintainers
2dResponse time
5dRelease cycle
26Releases (12mo)
Commit activity
Issues opened vs closed

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    -
    quality
    D
    maintenance
    Allows you to search for artworks, retrieve detailed information about specific artworks, access image tiles for artworks, and explore user-created collections from the Rijksmuseum.
    43
    70
    MIT
  • A
    license
    B
    quality
    C
    maintenance
    A server that provides access to the Art Institute of Chicago Collection through natural language interactions. This server allows AI models to search the Art Institute of Chicago Collection and have art works available as a Resource.
    6
    14
    5
    MIT
  • F
    license
    -
    quality
    D
    maintenance
    Provides access to European cultural heritage collections and artworks, allowing users to search for items, get detailed information about specific artworks, browse collections by institution, and receive AI-powered recommendations based on interests.
    1
  • A
    license
    -
    quality
    D
    maintenance
    Enables natural language search and exploration of the Dutch WWII Oorlogsbronnen archives, allowing users to query historical documents, photographs, and personal accounts through AI assistants.
    25
    15
    MIT

View all related MCP servers

Related MCP Connectors

  • AI training dataset marketplace: 2M+ museum artworks with Golden Codex enrichment

  • LLM chat, text summarization and AI image generation

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

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/kintopp/rijksmuseum-mcp-plus'

If you have feedback or need assistance with the MCP directory API, please join our Discord server