/** * MCP manager — orchestrates MCP server connections using MCPClient directly. * Created once at startup, provides tools from connected MCP servers. */ import type { McpConfig, McpServerConfig, McpServerStatus, McpSkippedServer } from './types.js'; /** Summary of MCP initialization result. */ export interface McpInitResult { connected: McpServerStatus[]; failed: McpServerStatus[]; skipped: McpSkippedServer[]; totalTools: number; } /** Public interface for the MCP manager returned by createMcpManager(). */ export interface McpManager { /** Connect to all configured MCP servers and collect their tools. */ init(): Promise; /** Start init in the background. Returns a promise that resolves with status when done. */ initInBackground(): Promise; /** Disconnect all servers, reload config from disk, reconnect. */ reload(): Promise; /** Reconnect a single server by name. Returns updated status. */ reconnectServer(name: string): Promise; /** Disconnect from all MCP servers and clean up. */ disconnect(): Promise; /** Get all tools from connected MCP servers (namespaced as serverName_toolName). */ getTools(): Record; /** Check if any MCP servers are configured (or skipped). */ hasServers(): boolean; /** Get status of all servers. */ getServerStatuses(): McpServerStatus[]; /** Get servers that were skipped during config loading. */ getSkippedServers(): McpSkippedServer[]; /** Get config file paths for display. */ getConfigPaths(): { project: string; global: string; claude: string; }; /** Get the merged config. */ getConfig(): McpConfig; /** Get captured stderr logs for a server. */ getServerLogs(name: string): string[]; } /** * Create an MCP manager that wraps MCPClient with config-file discovery * and per-server status tracking. */ export declare function createMcpManager(projectDir: string, configDirName?: string, extraServers?: Record): McpManager; //# sourceMappingURL=manager.d.ts.map