UNPKG

mcp-quickbase

Version:

Work with Quickbase via Model Context Protocol

66 lines 1.72 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.toolRegistry = exports.ToolRegistryImpl = void 0; const logger_1 = require("../utils/logger"); const logger = (0, logger_1.createLogger)("ToolRegistry"); /** * Implementation of the MCP Tool Registry * Manages all available MCP tools */ class ToolRegistryImpl { constructor() { this.tools = new Map(); } /** * Get a tool by name * @param name Tool name * @returns The tool or undefined if not found */ getTool(name) { return this.tools.get(name); } /** * Register a tool * @param tool Tool to register */ registerTool(tool) { if (this.tools.has(tool.name)) { logger.warn(`Tool with name ${tool.name} already exists, overwriting`); } this.tools.set(tool.name, tool); logger.info(`Registered tool: ${tool.name}`); } /** * Get all registered tools * @returns Array of all registered tools */ getAllTools() { return Array.from(this.tools.values()); } /** * Get tool names * @returns Array of tool names */ getToolNames() { return Array.from(this.tools.keys()); } /** * Check if a tool exists * @param name Tool name * @returns True if the tool exists */ hasTool(name) { return this.tools.has(name); } /** * Get tool count * @returns Number of registered tools */ getToolCount() { return this.tools.size; } } exports.ToolRegistryImpl = ToolRegistryImpl; // Create singleton instance exports.toolRegistry = new ToolRegistryImpl(); //# sourceMappingURL=registry.js.map