@mastercard/developers-mcp
Version:
MCP server for Mastercard Developers Platform
54 lines (53 loc) • 1.87 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.parseArgs = parseArgs;
exports.main = main;
const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
const mcp_1 = require("@mastercard/developers-agent-toolkit/mcp");
function parseArgs(args) {
const result = {};
for (const arg of args) {
if (!arg || !arg.startsWith('--')) {
continue;
}
const [key, value] = arg.split('=', 2);
if (!key || !value) {
console.error(`Invalid argument format: ${arg}. Use --key=value format.`);
}
const keyName = key.slice(2); // Remove '--'
if (keyName === 'service') {
result.service = value;
}
else if (keyName === 'api-specification') {
result.apiSpecification = value;
}
else {
console.error(`Unknown argument: ${keyName}`);
}
}
return result;
}
async function main() {
const args = parseArgs(process.argv.slice(2));
const config = {
...(args.service && { service: args.service }),
...(args.apiSpecification && {
apiSpecification: args.apiSpecification,
}),
};
const server = new mcp_1.MastercardDevelopersAgentToolkit(config);
const transport = new stdio_js_1.StdioServerTransport();
await server.connect(transport);
console.error('Mastercard Developers MCP Server running on stdio');
if (args.service) {
console.error(`Configured Service ID: ${args.service}`);
}
if (args.apiSpecification) {
console.error(`Configured API Specification: ${args.apiSpecification}`);
}
}
main().catch((error) => {
const errorMessage = error instanceof Error ? error.message : String(error);
console.error(`Fatal error in main(): ${errorMessage}`);
});