UNPKG

mcp-adr-analysis-server

Version:

MCP server for analyzing Architectural Decision Records and project architecture

101 lines 2.77 kB
/** * Environment Capability Registry * * Auto-detects and queries available runtime environment capabilities: * - Kubernetes/OpenShift clusters * - Docker/Podman containers * - Operating system resources * - Red Hat tooling (Ansible, etc.) */ export interface EnvironmentCapability { name: string; type: 'kubernetes' | 'openshift' | 'docker' | 'podman' | 'os' | 'ansible' | 'cloud' | 'database'; detector: () => Promise<boolean>; executor: (query: string) => Promise<any>; metadata?: { version?: string; provider?: string; available?: boolean; }; } export interface CapabilityQueryResult { capability: string; found: boolean; data: any; confidence: number; timestamp: string; } type ExecFunction = (command: string) => Promise<{ stdout: string; stderr: string; }>; export declare class EnvironmentCapabilityRegistry { private capabilities; private logger; private projectPath; private discoveryComplete; private execAsync; constructor(projectPath?: string, execFunction?: ExecFunction); /** * Discover all available environment capabilities */ discoverCapabilities(): Promise<void>; /** * Register Operating System capability (always available) */ private registerOSCapability; /** * Register Docker capability */ private registerDockerCapability; /** * Register Podman capability (Red Hat container runtime) */ private registerPodmanCapability; /** * Register Kubernetes capability */ private registerKubernetesCapability; /** * Register OpenShift capability (Red Hat Kubernetes distribution) */ private registerOpenShiftCapability; /** * Register Ansible capability (Red Hat automation) */ private registerAnsibleCapability; /** * Register a capability if it's available */ registerCapability(capability: EnvironmentCapability): Promise<void>; /** * Query capabilities for research question */ query(question: string): Promise<CapabilityQueryResult[]>; /** * Match capabilities to question */ private matchCapabilities; /** * Get keywords for capability type */ private getCapabilityKeywords; /** * Calculate confidence for capability data */ private calculateCapabilityConfidence; /** * List all available capabilities */ listCapabilities(): string[]; /** * Check if capability is available */ has(capabilityName: string): boolean; /** * Get capability metadata */ getCapabilityMetadata(capabilityName: string): any; } export {}; //# sourceMappingURL=environment-capability-registry.d.ts.map