import type { MCPInvoker } from "./providers/mcp"; import type { MCPProviderConfig } from "./types"; /** * Manages MCP server connections for knowledge providers. * Implements MCPInvoker interface to allow MCPKnowledgeProvider to invoke tools. * * Based on SkillMcpManager pattern but simplified for knowledge provider use case. */ export declare class KnowledgeMcpManager implements MCPInvoker { private clients; private pendingConnections; private serverConfigs; private cleanupRegistered; private cleanupInterval; private readonly IDLE_TIMEOUT; /** * Register an MCP server configuration. * The server will be started lazily on first invoke. */ registerServer(config: MCPProviderConfig): void; /** * Unregister an MCP server and disconnect if connected. */ unregisterServer(serverName: string): Promise; /** * Check if an MCP server is available (registered and can connect). */ isServerAvailable(serverName: string): Promise; /** * Invoke a tool on an MCP server. */ invoke(serverName: string, toolName: string, args: Record): Promise; /** * Get or create a client for the given server. */ private getOrCreateClient; /** * Create a new MCP client connection. */ private createClient; private createStdioTransport; private createSseTransport; /** * Disconnect a specific server. */ private disconnectServer; /** * Disconnect all servers and clean up. */ disconnectAll(): Promise; private registerProcessCleanup; private startCleanupTimer; private stopCleanupTimer; private cleanupIdleClients; /** * Get list of registered server names. */ getRegisteredServers(): string[]; /** * Get list of connected server names. */ getConnectedServers(): string[]; /** * Check if a server is currently connected. */ isConnected(serverName: string): boolean; }