/** * MCP Availability Service * * Checks if external MCP servers are installed, configured, and ready to use. * Used by the orchestrator to display MCP status in processing feedback. */ import type { MCPClientManagerService } from './mcp-client-manager.service.js'; /** * MCP availability status */ export type MCPAvailabilityStatus = 'connection_failed' | 'disabled' | 'not_configured' | 'not_installed' | 'ready'; /** * Result of checking MCP availability */ export interface MCPAvailabilityResult { /** Server ID */ serverId: string; /** Server display name */ name: string; /** Availability status */ status: MCPAvailabilityStatus; /** Number of tools available (if ready) */ toolCount?: number; /** Error message (if not ready) */ error?: string; /** Risk level from config */ riskLevel?: string; } /** * Summary of MCP availability check */ export interface MCPAvailabilitySummary { /** All checked MCPs */ results: MCPAvailabilityResult[]; /** Count of ready MCPs */ readyCount: number; /** Count of unavailable MCPs */ unavailableCount: number; /** Server IDs that are ready */ readyServers: string[]; } /** * MCP Availability Service */ export declare class MCPAvailabilityService { private clientManager; constructor(clientManager: MCPClientManagerService); /** * Check availability of specific MCP servers by tool names * @param mcpTools - Array of MCP tool names (e.g., ['mcp_playwright', 'mcp_github']) */ checkAvailability(mcpTools: string[]): Promise; /** * Check availability of a single MCP server */ checkServerAvailability(serverId: string): Promise; /** * Check if server configuration is valid */ private checkConfiguration; /** * Extract server ID from MCP tool name * mcp_playwright -> playwright * mcp_chrome_devtools -> chrome-devtools */ private extractServerId; /** * Get status display string for processing feedback */ getStatusDisplay(result: MCPAvailabilityResult): string; /** * Get status icon for processing feedback */ getStatusIcon(status: MCPAvailabilityStatus): string; } /** * Get the MCP Availability Service instance */ export declare function getMCPAvailabilityService(clientManager: MCPClientManagerService): MCPAvailabilityService; /** * Reset the singleton (for testing) */ export declare function resetMCPAvailabilityService(): void; //# sourceMappingURL=mcp-availability.service.d.ts.map