@mseep/rijksmuseum-mcp-oaipmh
Version:
MCP server for Rijksmuseum OAI-PMH API
77 lines (52 loc) • 2.13 kB
Markdown
# 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
```bash
# 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
```bash
# 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
```bash
# 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](https://data.rijksmuseum.nl/docs/oai-pmh/verbs).