mcp-adr-analysis-server
Version:
MCP server for analyzing Architectural Decision Records and project architecture
101 lines • 2.77 kB
TypeScript
/**
* 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