@mseep/rijksmuseum-mcp-oaipmh
Version:
MCP server for Rijksmuseum OAI-PMH API
48 lines • 1.63 kB
JavaScript
;
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