/** * MCP Tool type definitions */ export interface JsonSchemaProperty { type?: string; description?: string; enum?: string[]; items?: JsonSchemaProperty; properties?: Record; required?: string[]; minItems?: number; maxItems?: number; } export interface ToolInputSchema { type: 'object'; properties: Record; required?: string[]; anyOf?: Array<{ required: string[]; }>; } export type ToolScope = 'admin' | 'customer' | 'shared'; export interface ToolDefinition { name: string; description: string; inputSchema: ToolInputSchema; scope: ToolScope; } export type Handler = (args: Record) => Promise;