Rijksmuseum OAI-PMH MCP Server
by shenhai-ran
This server is a Model Context Protocol (MCP) implementation for accessing the Rijksmuseum's OAI-PMH API. It allows users to retrieve the Rijksmuseum's collection data using the MCP protocol.
View on GitHub
Last updated: N/A
DISCLAIMER
All code in this repository is generated by Windsurf with AI and has not been human-checked at all.
Rijksmuseum OAI-PMH MCP Server
A Model Context Protocol (MCP) server implementation for the Rijksmuseum OAI-PMH API. This server allows you to access the Rijksmuseum's rich collection data using the MCP protocol.
Features
- Implements all major OAI-PMH verbs as MCP tools
Identify
→rijksmuseum_identify
ListMetadataFormats
→rijksmuseum_list_metadata_formats
ListSets
→rijksmuseum_list_sets
ListRecords
→rijksmuseum_list_records
GetRecord
→rijksmuseum_get_record
- Simple RESTful API following MCP standards
- Comprehensive error handling
- TypeScript implementation
Installation
# Clone the repository
git clone https://github.com/shenhai-ran/rijksmuseum-mcp-oaipmh.git
cd rijksmuseum-mcp-oaipmh
# Install dependencies
npm install
# Start the server
npm run dev
API Usage
The server exposes the following endpoints:
GET /
- Returns server information and available toolsPOST /tools/{toolName}
- Executes a specific tool with the provided parameters
Examples
# Get information about the Rijksmuseum repository
curl -X POST http://localhost:3000/tools/rijksmuseum_identify
# List metadata formats
curl -X POST http://localhost:3000/tools/rijksmuseum_list_metadata_formats
# Get a specific record
curl -X POST http://localhost:3000/tools/rijksmuseum_get_record \
-H "Content-Type: application/json" \
-d '{"identifier": "https://id.rijksmuseum.nl/2001", "metadataPrefix": "oai_dc"}'
Development
# Run the server in development mode with hot reloading
npm run watch
# Run the direct test against the Rijksmuseum API
npm run direct-test
# Run the MCP test client against the local server
npm run mcp-test
License
MIT
About the Rijksmuseum API
The Rijksmuseum API provides access to the museum's collection data through various protocols, including OAI-PMH. For more information, visit Rijksmuseum API Documentation.