DISCLAIMER
About
DISCLAIMER is a Model Context Protocol (MCP) server that provides access to the Rijksmuseum OAI-PMH API. It exposes the museum’s collection metadata through standard OAI-PMH verbs as individual MCP tools, making it easy for MCP‑compatible clients to query records, sets, and…
Details
- Author
- shenhai-ran
- Downloads
- 183
- Categories
- Other
Jump to
- Implements five OAI-PMH verbs as MCP tools (Identify, ListMetadataFormats, ListSets, ListRecords, GetRecord)
- RESTful API following MCP standards
- Comprehensive error handling
- TypeScript implementation with hot‑reloading development mode
- Includes a direct test and an MCP test client
Clone the repository, install dependencies with npm install, then start the server using npm run dev (or npm run watch for hot reloading). The server listens on a local HTTP port and exposes endpoints such as GET / for server info and POST /tools/{toolName} to invoke specific OAI-PMH tools.
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 tools
- POST /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.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



