by r-huijts
A Model Context Protocol (MCP) server that provides access to the Rijksmuseum's collection through natural language interactions, enabling AI models to explore, analyze, and interact with artworks and collections.
Rijksmuseum MCP Server is a Model Context Protocol (MCP) server designed to facilitate natural language interactions with the Rijksmuseum's extensive art collection. It allows AI models to explore, analyze, and interact with artworks and collections from the Rijksmuseum, bridging the gap between AI capabilities and rich cultural data.
There are two primary ways to install and use the Rijksmuseum MCP Server:
Using Claude Desktop with NPM Package:
~/Library/Application Support/Claude/claude_desktop_config.json
) with the provided JSON snippet, ensuring to replace "your_api_key_here"
with a valid API key obtained from the Rijksmuseum API Portal.From Source:
npm install
.cp .env.example .env
..env
file (RIJKSMUSEUM_API_KEY=your_api_key_here
)./path/to/rijksmuseum-server
with the actual path to your installation and adding your API key in the env
section.The server provides several tools for interacting with the Rijksmuseum's collection:
search_artwork
): Search and filter artworks using various criteria such as text, artist name, artwork type, materials, time periods, and colors.get_artwork_details
): Retrieve comprehensive information about specific artworks, including basic details, physical properties, historical context, visual information, curatorial information, and exhibition history.get_artwork_image
): Access high-resolution image data with deep zoom capabilities, multiple zoom levels, tile-based loading, and full resolution support.get_user_sets
& get_user_set_details
): Explore user-created collections, browse curated sets, view thematic groupings, and analyze collection patterns.open_image_in_browser
): Open artwork images directly in your browser for detailed viewing.get_artist_timeline
): Generate chronological timelines of artists' works to track artistic development and analyze periods and styles.This server enables a wide range of interactions, including:
Q: What is an MCP server? A: An MCP (Model Context Protocol) server allows AI models to interact with external data sources and services, in this case, the Rijksmuseum's collection, through natural language.
Q: Do I need an API key to use this server? A: Yes, a Rijksmuseum API key is required. You can obtain one from the Rijksmuseum API Portal.
Q: Can I configure the server?
A: Yes, the server can be configured through environment variables such as RIJKSMUSEUM_API_KEY
(required), PORT
(default: 3000), and LOG_LEVEL
(default: 'info').
Q: Where can I find API documentation for the Rijksmuseum? A: Detailed information about the Rijksmuseum API endpoints used by this server can be found at Rijksmuseum API Documentation.
Q: How can I contribute to this project? A: Contributions are welcome! You can submit pull requests or create issues for bugs and feature requests.
A Model Context Protocol (MCP) server that provides access to the Rijksmuseum's collection through natural language interactions. This server enables AI models to explore, analyze, and interact with artworks and collections from the Rijksmuseum.
The server provides several tools for interacting with the Rijksmuseum's collection:
search_artwork
)Search and filter artworks using various criteria including:
get_artwork_details
)Retrieve comprehensive information about specific artworks, including:
get_artwork_image
)Access high-resolution image data with deep zoom capabilities:
get_user_sets
& get_user_set_details
)Explore user-created collections:
open_image_in_browser
)Open artwork images directly in your browser for detailed viewing.
get_artist_timeline
)Generate chronological timelines of artists' works:
Here are some example queries you can ask the AI when using this server:
"Show me all paintings by Rembrandt from the 1640s"
"Find artworks that prominently feature the color blue"
"What are the most famous masterpieces in the collection?"
"Search for still life paintings from the Dutch Golden Age"
"Tell me everything about The Night Watch"
"What are the dimensions and materials used in Van Gogh's Self Portrait?"
"Show me high-resolution details of the brushwork in Vermeer's The Milkmaid"
"Compare the colors used in different versions of The Potato Eaters"
"Create a timeline of Rembrandt's self-portraits"
"How did Van Gogh's use of color evolve throughout his career?"
"Show me all works by Frans Hals in chronological order"
"What techniques did Jan Steen use in his paintings?"
"Find all artworks depicting biblical scenes"
"Show me paintings of Amsterdam in the 17th century"
"What artworks feature flowers or still life arrangements?"
"Find portraits that include musical instruments"
"Show me the most popular user-curated collections"
"Find sets that focus on landscape paintings"
"What are the recent additions to the museum's collection?"
"Show me collections featuring works from multiple artists"
"Let me examine the details in the background of The Night Watch"
"Show me a close-up of the jewelry in Girl with a Pearl Earring"
"Can you display the highest resolution version of The Jewish Bride?"
"I want to study the facial expressions in The Syndics"
You can install this server in two ways:
Update your Claude configuration file (~/Library/Application Support/Claude/claude_desktop_config.json
):
{
"mcpServers": {
"rijksmuseum-server": {
"command": "npx",
"args": [
"-y",
"mcp-server-rijksmuseum"
],
"env": {
"RIJKSMUSEUM_API_KEY": "your_api_key_here"
}
}
}
}
You can get an API key from the Rijksmuseum API Portal.
npm install
cp .env.example .env
.env
file:
RIJKSMUSEUM_API_KEY=your_api_key_here
{
"mcpServers": {
"rijksmuseum-server": {
"command": "node",
"args": [
"/path/to/rijksmuseum-server/build/index.js"
],
"env": {
"RIJKSMUSEUM_API_KEY": "your_api_key_here"
}
}
}
}
Make sure to:
/path/to/rijksmuseum-server
with the actual path to your installationenv
sectionAfter updating the configuration, restart Claude Desktop for the changes to take effect.
The server can be configured through environment variables:
RIJKSMUSEUM_API_KEY
: Your Rijksmuseum API key (required)PORT
: Server port (default: 3000)LOG_LEVEL
: Logging level (default: 'info')For detailed information about the Rijksmuseum API endpoints used by this server, visit: Rijksmuseum API Documentation
Contributions are welcome! Please feel free to submit pull requests or create issues for bugs and feature requests.
This project is licensed under the MIT License - see the LICENSE file for details.
Reviews feature coming soon
Stay tuned for community discussions and feedback