rijksmuseum-mcp+
The rijksmuseum-mcp+ server provides AI assistants with a rich MCP interface to explore the Rijksmuseum's artwork collections through natural language, offering far richer search, analysis, and visualization capabilities than the museum's native API.
Search & Discovery
Structured filter search: Filter ~834K artworks by type, material, technique, date, creator, subject, depicted person/place, dimensions, provenance/image availability, and ~30 more combinable fields
Semantic/concept search: Find artworks by meaning or concept (e.g. "a sense of loneliness in domestic interiors") using multilingual vector embeddings across title, description, inscription, and curatorial narrative fields
Proximity/geospatial search: Find artworks related to places within a given radius
Curated set browsing: Explore thematic and sub-collection groupings curated by Rijksmuseum staff
Recent changes feed: Track OAI-PMH delta records changed within a date range
Artwork Details & Metadata
Full artwork metadata: Titles, creator demographics, dimensions, materials, provenance chain, inscriptions, exhibition history, themes, and authority IDs (VIAF, ULAN, RKD, Getty, Wikidata)
Bibliography & citations: Scholarly references for artworks, or reverse-lookup which artworks cite a given publication
Conservation & technical history: X-ray, dendrochronology, IR reflectography, paint-sample analyses, and restoration treatment records
Provenance Analysis
Query ~48K parsed ownership histories by party name, transfer type (sale, gift, bequest, confiscation, restitution, etc.), date range, location, and historical price — enabling tracing of collectors, confiscated works, and cross-century auction price comparisons
Similarity & Comparison
Find artworks similar to a given work across nine dimensions (visual, iconographic, thematic, artistic lineage, depicted persons/places, etc.), generating a custom comparison webpage
Image Viewing & AI Visual Analysis
Interactive deep-zoom viewer: In-chat viewer with pan, zoom, rotation, flip, and related-variant navigation
AI visual inspection: Fetch full or cropped image regions (base64) for the LLM to analyze — read inscriptions, identify species, examine details — with auto-sync to the open viewer
Viewer navigation: Programmatically zoom/pan or switch to a different artwork
Aggregate Statistics
Compute counts, percentages, and histograms across the collection grouped by any dimension (e.g. artwork types by century, most-depicted persons, provenance transfer-type distributions per artist)
Inscriptions
Search structured, parsed inscription records including collector's marks (Lugt numbers), signatures, dates, and transcribed text
Iconclass Integration
Search and explore artworks tagged with structured Iconclass vocabulary for iconographic/subject queries
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@rijksmuseum-mcp+find paintings by Vermeer"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
rijksmuseum-mcp+
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-mcptool runs the same queries from the terminal — each tool exposed as a verb, with JSONL output for piping into tools such asjqso 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/mcpGo to Customize → Connectors → Add 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"| EmbeddingsDBTips 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
descriptionsignal for find_similar (e.g. via a LLM re-ranker)
Authors
Arno Bosse — RISE, 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.
Maintenance
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
- Alicense-qualityDmaintenanceAllows you to search for artworks, retrieve detailed information about specific artworks, access image tiles for artworks, and explore user-created collections from the Rijksmuseum.4370MIT
- AlicenseBqualityCmaintenanceA 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.6145MIT
- Flicense-qualityDmaintenanceProvides 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
- Alicense-qualityDmaintenanceEnables natural language search and exploration of the Dutch WWII Oorlogsbronnen archives, allowing users to query historical documents, photographs, and personal accounts through AI assistants.2515MIT
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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