mcp-adr-analysis-server
Version:
MCP server for analyzing Architectural Decision Records and project architecture
105 lines • 3.29 kB
TypeScript
/**
* Code Quality Resource
*
* Provides comprehensive code quality assessment including metrics, analysis,
* and recommendations. Bridges to deployment-readiness-tool for TreeSitter
* analysis and smart-score-tool for quality scoring.
*
* URI: adr://code_quality
*
* Query Parameters:
* - scope: Analysis scope (full, changes, critical) - default: full
* - includeMetrics: Include detailed metrics (true, false) - default: true
* - includeRecommendations: Include improvement recommendations (true, false) - default: true
* - threshold: Minimum quality score threshold (0-100) - default: 70
* - format: Output format (summary, detailed) - default: detailed
*
* Example URIs:
* - adr://code_quality
* - adr://code_quality?scope=changes
* - adr://code_quality?threshold=80&format=summary
* - adr://code_quality?includeRecommendations=true
*/
import { URLSearchParams } from 'url';
export interface CodeQualityResult {
scope: string;
timestamp: string;
overallScore: number;
grade: 'A' | 'B' | 'C' | 'D' | 'F';
metrics: {
productionCodeScore: number;
mockCodeIndicators: number;
productionCodeThreshold: number;
codebaseSize: {
totalFiles: number;
totalLines: number;
productionFiles: number;
testFiles: number;
mockFiles: number;
};
complexity?: {
average: number;
highest: number;
distribution: Record<string, number>;
};
maintainability?: {
score: number;
issues: string[];
};
documentation?: {
coverage: number;
missing: string[];
};
};
qualityGates?: Array<{
gate: string;
passed: boolean;
threshold: number;
actual: number;
severity: 'critical' | 'high' | 'medium' | 'low';
}>;
issues?: Array<{
file: string;
line?: number;
type: 'error' | 'warning' | 'info';
category: 'complexity' | 'duplication' | 'style' | 'security' | 'performance';
message: string;
severity: 'critical' | 'high' | 'medium' | 'low';
}>;
recommendations?: Array<{
priority: 'critical' | 'high' | 'medium' | 'low';
category: string;
title: string;
description: string;
impact: string;
effort: 'low' | 'medium' | 'high';
}>;
trends?: {
qualityTrend: 'improving' | 'stable' | 'declining';
recentChanges: Array<{
date: string;
score: number;
change: number;
}>;
};
metadata: {
scope: string;
analysisType: 'comprehensive' | 'basic';
confidence: number;
timestamp: string;
dataSource: 'comprehensive-tool' | 'basic-analysis';
};
}
export interface ResourceGenerationResult {
data: CodeQualityResult;
contentType: string;
lastModified: string;
cacheKey: string;
ttl: number;
etag?: string;
}
/**
* Generate code quality resource
*/
export declare function generateCodeQualityResource(_params?: Record<string, string>, searchParams?: URLSearchParams): Promise<ResourceGenerationResult>;
//# sourceMappingURL=code-quality-resource.d.ts.map