/** * External MCP Integrator * * Coordinates external MCP server connections during command execution. * Handles approval workflows and connection lifecycle. */ import type { ConnectedMCPServer, ExternalMCPRequirement } from '../types/mcp-client.types.js'; import type { MCPApprovalCacheService } from './mcp-approval-cache.service.js'; import type { MCPApprovalWorkflow } from './mcp-approval-workflow.js'; import type { MCPAuditLoggerService } from './mcp-audit-logger.service.js'; import type { MCPClientManagerService } from './mcp-client-manager.service.js'; /** * Result of MCP integration check */ export interface MCPIntegrationResult { /** Connected servers */ connectedServers: ConnectedMCPServer[]; /** Errors encountered during connection */ errors: Array<{ error: string; serverId: string; }>; /** Whether all required MCPs were connected successfully */ success: boolean; } /** * External MCP Integrator * * Responsibilities: * - Check command MCP requirements * - Trigger approval workflows for required MCPs * - Connect to approved MCP servers * - Handle optional vs required MCPs */ export declare class ExternalMCPIntegrator { private clientManager; private approvalCache; private auditLogger; private approvalWorkflow; constructor(clientManager: MCPClientManagerService, approvalCache: MCPApprovalCacheService, auditLogger: MCPAuditLoggerService, approvalWorkflow: MCPApprovalWorkflow); /** * Check and connect external MCPs required by a command */ checkAndConnectMCPs(requirements: ExternalMCPRequirement[], requestedBy: string): Promise; /** * Process a single MCP requirement */ private processRequirement; /** * Disconnect all connected servers */ disconnectAll(): Promise; /** * Get all currently connected servers */ getConnectedServers(): ConnectedMCPServer[]; /** * Check if a specific server is connected */ isConnected(serverId: string): boolean; } /** * Get the External MCP Integrator instance */ export declare function getExternalMCPIntegrator(clientManager: MCPClientManagerService, approvalCache: MCPApprovalCacheService, auditLogger: MCPAuditLoggerService, approvalWorkflow: MCPApprovalWorkflow): ExternalMCPIntegrator; /** * Reset the singleton (for testing) */ export declare function resetExternalMCPIntegrator(): void; //# sourceMappingURL=external-mcp-integrator.d.ts.map