/** * Shared MCP tool definitions and handlers * Used by both stdio and HTTP transports to ensure consistency */ import { OECDClient } from './oecd-client.js'; /** * MCP tool definitions (schemas) * These define the interface for each tool */ export declare const TOOL_DEFINITIONS: ({ name: string; description: string; inputSchema: { type: string; properties: { query: { type: string; description: string; }; limit: { type: string; description: string; default: number; }; category?: undefined; dataflow_id?: undefined; filter?: undefined; start_period?: undefined; end_period?: undefined; last_n_observations?: undefined; indicator?: undefined; }; required: string[]; }; } | { name: string; description: string; inputSchema: { type: string; properties: { category: { type: string; description: string; }; limit: { type: string; description: string; default: number; }; query?: undefined; dataflow_id?: undefined; filter?: undefined; start_period?: undefined; end_period?: undefined; last_n_observations?: undefined; indicator?: undefined; }; required?: undefined; }; } | { name: string; description: string; inputSchema: { type: string; properties: { dataflow_id: { type: string; description: string; }; query?: undefined; limit?: undefined; category?: undefined; filter?: undefined; start_period?: undefined; end_period?: undefined; last_n_observations?: undefined; indicator?: undefined; }; required: string[]; }; } | { name: string; description: string; inputSchema: { type: string; properties: { dataflow_id: { type: string; description: string; }; filter: { type: string; description: string; }; start_period: { type: string; description: string; }; end_period: { type: string; description: string; }; last_n_observations: { type: string; description: string; }; query?: undefined; limit?: undefined; category?: undefined; indicator?: undefined; }; required: string[]; }; } | { name: string; description: string; inputSchema: { type: string; properties: { query?: undefined; limit?: undefined; category?: undefined; dataflow_id?: undefined; filter?: undefined; start_period?: undefined; end_period?: undefined; last_n_observations?: undefined; indicator?: undefined; }; required?: undefined; }; } | { name: string; description: string; inputSchema: { type: string; properties: { indicator: { type: string; description: string; }; category: { type: string; description: string; }; query?: undefined; limit?: undefined; dataflow_id?: undefined; filter?: undefined; start_period?: undefined; end_period?: undefined; last_n_observations?: undefined; }; required: string[]; }; } | { name: string; description: string; inputSchema: { type: string; properties: { dataflow_id: { type: string; description: string; }; filter: { type: string; description: string; }; query?: undefined; limit?: undefined; category?: undefined; start_period?: undefined; end_period?: undefined; last_n_observations?: undefined; indicator?: undefined; }; required: string[]; }; })[]; /** * Tool handler function type */ export type ToolHandler = (client: OECDClient, args: any) => Promise<{ content: Array<{ type: string; text: string; }>; isError?: boolean; }>; /** * Tool handlers implementation * Each handler takes the client and arguments, returns MCP-formatted response */ export declare const TOOL_HANDLERS: Record; /** * Execute a tool by name with error handling */ export declare function executeTool(client: OECDClient, name: string, args: any): Promise<{ content: Array<{ type: string; text: string; }>; isError?: boolean; }>; //# sourceMappingURL=tools.d.ts.map