UNPKG

@mseep/rijksmuseum-mcp-oaipmh

Version:

MCP server for Rijksmuseum OAI-PMH API

48 lines 1.63 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.RijksmuseumOaiPmhClient = void 0; const axios_1 = __importDefault(require("axios")); const BASE_URL = 'https://data.rijksmuseum.nl/oai'; class RijksmuseumOaiPmhClient { async request(options) { try { const params = new URLSearchParams(); // Add all options to the params Object.entries(options).forEach(([key, value]) => { if (value) { params.append(key, value); } }); const response = await axios_1.default.get(BASE_URL, { params }); return response.data; } catch (error) { console.error('Error making OAI-PMH request:', error); throw error; } } async identify() { return this.request({ verb: 'Identify' }); } async listRecords(options) { return this.request({ verb: 'ListRecords', ...options }); } async getRecord(options) { return this.request({ verb: 'GetRecord', ...options }); } async listMetadataFormats(identifier) { return this.request({ verb: 'ListMetadataFormats', identifier }); } async listSets() { return this.request({ verb: 'ListSets' }); } } exports.RijksmuseumOaiPmhClient = RijksmuseumOaiPmhClient; exports.default = new RijksmuseumOaiPmhClient(); //# sourceMappingURL=rijksmuseum.js.map