UNPKG

tuxcare-eportal-mcp

Version:

TuxCare ePortal MCP server for integrating with TuxCare ePortal API

49 lines 1.67 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ToolRegistry = void 0; const types_js_1 = require("@modelcontextprotocol/sdk/types.js"); class ToolRegistry { constructor() { this.tools = new Map(); this.handlers = new Map(); } addTool(tool, handler) { this.tools.set(tool.name, tool); this.handlers.set(tool.name, handler); } registerWithServer(server, client) { // Register all tools for (const tool of this.tools.values()) { server.addTool(tool); } // Set up the handler server.setRequestHandler(types_js_1.CallToolRequestSchema, async (request) => { const { name, arguments: args } = request.params; const handler = this.handlers.get(name); if (!handler) { return { content: [{ type: "text", text: `Tool ${name} not found` }], isError: true }; } try { return await handler(args, client); } catch (error) { const errorMessage = error instanceof Error ? error.message : 'Unknown error'; return { content: [{ type: "text", text: `Error executing tool ${name}: ${errorMessage}` }], isError: true }; } }); } } exports.ToolRegistry = ToolRegistry; //# sourceMappingURL=tool-registry.js.map