/** * Unified Tool Registry * * Single source of truth for all MCP tool definitions. * Eliminates duplication between tools/index.ts and server.ts registration. */ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'; import { CallToolResult } from '@modelcontextprotocol/sdk/types.js'; import { ZodSchema } from 'zod'; import { ServiceContainer } from '../core/container.js'; /** * Tool definition with type safety * Now uses factory functions that accept ServiceContainer */ export interface ToolDefinition { name: string; description: string; schema: ZodSchema; executorFactory: (container: ServiceContainer) => (input: TInput) => Promise; } /** * Complete tool registry * Single source of truth for tool metadata and handlers */ export declare const TOOL_REGISTRY: ToolDefinition[]; /** * Register all tools with the MCP server * Converts registry entries to MCP tool registrations * * @param server - MCP server instance * @param container - Service container with dependencies (GraphQL client, cache, config) */ export declare function registerTools(server: McpServer, container: ServiceContainer): void; /** * Get tool names for listing */ export declare function getToolNames(): string[]; /** * Find tool by name */ export declare function findTool(name: string): ToolDefinition | undefined; //# sourceMappingURL=registry.d.ts.map