UNPKG

mcp-adr-analysis-server

Version:

MCP server for analyzing Architectural Decision Records and project architecture

98 lines 3.35 kB
/** * ADR Validation Tool - Research-Driven Architecture Compliance Checker * * Validates existing ADRs against actual infrastructure state using: * - Research Orchestrator (live environment data) * - AI Executor (intelligent analysis) * - Knowledge Graph (ADR relationships) */ export interface ADRValidationResult { adrPath: string; adrTitle: string; isValid: boolean; confidence: number; findings: Array<{ type: 'compliance' | 'drift' | 'outdated' | 'missing_evidence' | 'conflict'; severity: 'critical' | 'high' | 'medium' | 'low'; description: string; evidence: string; }>; recommendations: string[]; researchData: { sources: string[]; confidence: number; needsWebSearch: boolean; }; } /** * Validate an ADR against current infrastructure reality * * @description Performs comprehensive validation of Architecture Decision Records (ADRs) * against actual project infrastructure and environment state. Uses research orchestration, * AI analysis, and knowledge graph relationships to detect compliance issues, drift, * and outdated decisions. * * @param {Object} args - Validation configuration parameters * @param {string} args.adrPath - Path to the ADR file to validate * @param {string} [args.projectPath] - Path to project root (defaults to cwd) * @param {string} [args.adrDirectory] - ADR directory relative to project (defaults to 'docs/adrs') * @param {boolean} [args.includeEnvironmentCheck] - Enable environment validation (defaults to true) * @param {number} [args.confidenceThreshold] - Minimum confidence for findings (0-1, defaults to 0.6) * * @returns {Promise<ADRValidationResult>} Comprehensive validation results with findings and recommendations * * @throws {McpAdrError} When ADR file doesn't exist or validation process fails * * @example * ```typescript * // Validate specific ADR * const result = await validateAdr({ * adrPath: 'docs/adrs/0001-use-microservices.md' * }); * * console.log(result.isValid); // false * console.log(result.confidence); // 0.92 * console.log(result.findings); // Array of compliance issues * console.log(result.recommendations); // Suggested actions * ``` * * @example * ```typescript * // Validate with custom settings * const result = await validateAdr({ * adrPath: 'docs/adrs/0002-database-choice.md', * projectPath: '/path/to/project', * includeEnvironmentCheck: false, * confidenceThreshold: 0.8 * }); * * // Check for critical issues * const criticalIssues = result.findings.filter(f => f.severity === 'critical'); * if (criticalIssues.length > 0) { * console.warn('Critical compliance issues found:', criticalIssues); * } * ``` * * @since 2.0.0 * @category ADR * @category Validation * @category Tools * @mcp-tool */ export declare function validateAdr(args: { adrPath: string; projectPath?: string; adrDirectory?: string; includeEnvironmentCheck?: boolean; confidenceThreshold?: number; }): Promise<any>; /** * Validate multiple ADRs in a directory */ export declare function validateAllAdrs(args: { projectPath?: string; adrDirectory?: string; includeEnvironmentCheck?: boolean; minConfidence?: number; }): Promise<any>; //# sourceMappingURL=adr-validation-tool.d.ts.map