/** * MCP Client for Franklin. * Connects to MCP servers, discovers tools, and wraps them as CapabilityHandlers. * Supports stdio and HTTP (SSE) transports. */ import type { CapabilityHandler } from '../agent/types.js'; export interface McpServerConfig { /** Transport type */ transport: 'stdio' | 'http'; /** For stdio: command to run */ command?: string; /** For stdio: arguments */ args?: string[]; /** For stdio: environment variables */ env?: Record; /** For http: server URL */ url?: string; /** For http: headers */ headers?: Record; /** Human-readable label */ label?: string; /** Disable this server */ disabled?: boolean; } export interface McpConfig { mcpServers: Record; } /** * Connect to all configured MCP servers and return discovered tools. * Each connection has a 5s timeout to avoid blocking startup. */ export declare function connectMcpServers(config: McpConfig, debug?: boolean): Promise; /** * Disconnect all MCP servers. */ export declare function disconnectMcpServers(): Promise; /** * List connected MCP servers and their tools. */ export declare function listMcpServers(): Array<{ name: string; transport: 'stdio' | 'http'; toolCount: number; tools: string[]; }>;