/** * External MCP management — connect, load, reconnect external MCP servers. * * Extracted from beam.ts. All shared state is passed explicitly via * ExternalMCPState rather than module-level globals. */ import { Client } from '@modelcontextprotocol/sdk/client/index.js'; import type { ExternalMCPInfo } from '../types.js'; import type { PhotonConfig } from './types.js'; /** Mutable containers that external MCP functions read/write */ export interface ExternalMCPState { externalMCPs: ExternalMCPInfo[]; externalMCPClients: Map; externalMCPSDKClients: Map; } /** * Generate a unique ID for an external MCP based on its name. */ export declare function generateExternalMCPId(name: string): string; /** * Load external MCPs from config.json mcpServers section. * * Populates state.externalMCPClients and state.externalMCPSDKClients as * side effects. Returns the ExternalMCPInfo[] array to be pushed into * state.externalMCPs by the caller. */ export declare function loadExternalMCPs(config: PhotonConfig, state: ExternalMCPState): Promise; /** * Reconnect a failed external MCP. * * Uses re-find-after-await pattern for safe access to state.externalMCPs. */ export declare function reconnectExternalMCP(name: string, state: ExternalMCPState): Promise<{ success: boolean; error?: string; }>; //# sourceMappingURL=external-mcp.d.ts.map