mcp-adr-analysis-server
Version:
MCP server for analyzing Architectural Decision Records and project architecture
65 lines • 2.19 kB
TypeScript
/**
* Configuration management for MCP ADR Analysis Server
* Handles environment variables and default settings
*/
import { z } from 'zod';
/**
* Configuration schema for validation
*/
declare const ConfigSchema: z.ZodObject<{
projectPath: z.ZodString;
adrDirectory: z.ZodDefault<z.ZodString>;
logLevel: z.ZodDefault<z.ZodEnum<["DEBUG", "INFO", "WARN", "ERROR"]>>;
cacheEnabled: z.ZodDefault<z.ZodBoolean>;
cacheDirectory: z.ZodDefault<z.ZodString>;
maxCacheSize: z.ZodDefault<z.ZodNumber>;
analysisTimeout: z.ZodDefault<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
cacheEnabled: boolean;
projectPath: string;
adrDirectory: string;
logLevel: "DEBUG" | "INFO" | "WARN" | "ERROR";
cacheDirectory: string;
maxCacheSize: number;
analysisTimeout: number;
}, {
projectPath: string;
cacheEnabled?: boolean | undefined;
adrDirectory?: string | undefined;
logLevel?: "DEBUG" | "INFO" | "WARN" | "ERROR" | undefined;
cacheDirectory?: string | undefined;
maxCacheSize?: number | undefined;
analysisTimeout?: number | undefined;
}>;
export type ServerConfig = z.infer<typeof ConfigSchema>;
/**
* Load and validate configuration from environment variables
*/
export declare function loadConfig(): ServerConfig;
/**
* Get the absolute path for ADR directory
*/
export declare function getAdrDirectoryPath(config: ServerConfig): string;
/**
* Get the absolute path for cache directory
*/
export declare function getCacheDirectoryPath(config: ServerConfig): string;
/**
* Validate that the project path exists and is accessible
*/
export declare function validateProjectPath(projectPath: string): Promise<void>;
/**
* Create logger with configured log level
*/
export declare function createLogger(config: ServerConfig): {
debug: (message: string, ...args: any[]) => void;
info: (message: string, ...args: any[]) => void;
warn: (message: string, ...args: any[]) => void;
error: (message: string, ...args: any[]) => void;
};
/**
* Print configuration summary for debugging
*/
export declare function printConfigSummary(config: ServerConfig): void;
export {};
//# sourceMappingURL=config.d.ts.map