DISCLAIMER

by shenhai-ran

183 downloads
Not rated
GitHub

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

- 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
- 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.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.