UNPKG

mcp-adr-analysis-server

Version:

MCP server for analyzing Architectural Decision Records and project architecture

95 lines 3.29 kB
/** * Architectural Context Resource - Current architectural state and decisions * URI Pattern: adr://architecture/context */ import { URLSearchParams } from 'url'; import { ResourceGenerationResult } from './index.js'; import type { KnowledgeGraphManager } from '../utils/knowledge-graph-manager.js'; export interface ArchitecturalContextData { summary: { totalAdrs: number; activeDecisions: number; deprecatedDecisions: number; proposedDecisions: number; technologiesUsed: string[]; architecturalPatterns: string[]; }; decisions: Array<{ id: string; title: string; status: string; category: string; impact: 'high' | 'medium' | 'low'; dependencies: string[]; }>; technologyStack: { frontend: string[]; backend: string[]; database: string[]; infrastructure: string[]; devops: string[]; }; patterns: Array<{ name: string; description: string; usedIn: string[]; relatedAdrs: string[]; }>; recommendations: string[]; timestamp: string; projectPath: string; } /** * Generate architectural context resource showing current state and decisions. * * Returns a comprehensive view of the project's architectural state: * - Summary of all ADRs by status * - Technology stack analysis * - Architectural patterns in use * - Recommendations for improvements * * **URI Pattern:** `adr://architecture/context` * * **Query Parameters:** * - `projectPath`: Override project root path (default: process.cwd()) * - `includeDeprecated`: Include deprecated decisions (default: true) * - `includeProposed`: Include proposed decisions (default: true) * - `maxDecisions`: Maximum decisions to return (default: 50) * * @param params - URL path parameters (none for this resource) * @param searchParams - URL query parameters for customization * @param kgManager - Optional knowledge graph manager instance * * @returns Promise resolving to resource generation result containing: * - data: Complete architectural context data * - contentType: "application/json" * - lastModified: ISO timestamp of generation * - cacheKey: Unique identifier "architectural-context" * - ttl: Cache duration (300 seconds / 5 minutes) * - etag: Entity tag for cache validation * * @throws {McpAdrError} When context generation fails * * @example * ```typescript * // Get full architectural context * const context = await generateArchitecturalContextResource( * {}, * new URLSearchParams() * ); * * console.log(`Total ADRs: ${context.data.summary.totalAdrs}`); * console.log(`Technologies: ${context.data.summary.technologiesUsed.join(', ')}`); * * // Exclude deprecated decisions * const active = await generateArchitecturalContextResource( * {}, * new URLSearchParams('includeDeprecated=false') * ); * ``` * * @since v2.2.0 * @see {@link KnowledgeGraphManager} for knowledge graph queries */ export declare function generateArchitecturalContextResource(_params: Record<string, string>, searchParams: URLSearchParams, kgManager?: KnowledgeGraphManager): Promise<ResourceGenerationResult>; //# sourceMappingURL=architectural-context-resource.d.ts.map