Rijksmuseum OAI-PMH MCP Server logo

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
    • Identifyrijksmuseum_identify
    • ListMetadataFormatsrijksmuseum_list_metadata_formats
    • ListSetsrijksmuseum_list_sets
    • ListRecordsrijksmuseum_list_records
    • GetRecordrijksmuseum_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.