@rhofkens/mcp-quotes-server-claude-code
Version:
Model Context Protocol (MCP) server for managing and serving quotes
96 lines • 3 kB
TypeScript
/**
* Configuration Management
*
* Handles loading and validating environment variables
* Provides typed configuration object for the application
*/
import { z } from 'zod';
/**
* Log levels supported by the application
*/
export declare const LogLevel: z.ZodEnum<["debug", "info", "warn", "error"]>;
export type LogLevel = z.infer<typeof LogLevel>;
/**
* Node environment types
*/
export declare const NodeEnv: z.ZodEnum<["development", "test", "production"]>;
export type NodeEnv = z.infer<typeof NodeEnv>;
/**
* Transport types supported by the MCP server
*/
export declare const TransportType: z.ZodEnum<["stdio", "http"]>;
export type TransportType = z.infer<typeof TransportType>;
/**
* Configuration schema using Zod for validation
*/
declare const ConfigSchema: z.ZodObject<{
serperApiKey: z.ZodString;
nodeEnv: z.ZodDefault<z.ZodEnum<["development", "test", "production"]>>;
logLevel: z.ZodDefault<z.ZodEnum<["debug", "info", "warn", "error"]>>;
serverPort: z.ZodDefault<z.ZodNumber>;
serverHost: z.ZodDefault<z.ZodString>;
transport: z.ZodDefault<z.ZodEnum<["stdio", "http"]>>;
httpPort: z.ZodDefault<z.ZodNumber>;
httpHost: z.ZodDefault<z.ZodString>;
httpPath: z.ZodDefault<z.ZodString>;
apiTimeout: z.ZodDefault<z.ZodNumber>;
maxRetries: z.ZodDefault<z.ZodNumber>;
cacheTtl: z.ZodDefault<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
serperApiKey: string;
nodeEnv: "development" | "test" | "production";
logLevel: "debug" | "info" | "warn" | "error";
serverPort: number;
serverHost: string;
transport: "stdio" | "http";
httpPort: number;
httpHost: string;
httpPath: string;
apiTimeout: number;
maxRetries: number;
cacheTtl: number;
}, {
serperApiKey: string;
nodeEnv?: "development" | "test" | "production" | undefined;
logLevel?: "debug" | "info" | "warn" | "error" | undefined;
serverPort?: number | undefined;
serverHost?: string | undefined;
transport?: "stdio" | "http" | undefined;
httpPort?: number | undefined;
httpHost?: string | undefined;
httpPath?: string | undefined;
apiTimeout?: number | undefined;
maxRetries?: number | undefined;
cacheTtl?: number | undefined;
}>;
/**
* Configuration interface
*/
export type Config = z.infer<typeof ConfigSchema>;
/**
* Get the configuration instance
* @throws {Error} If configuration validation fails
*/
export declare function getConfig(): Config;
/**
* Reset configuration (useful for testing)
*/
export declare function resetConfig(): void;
/**
* Check if running in production
*/
export declare function isProduction(): boolean;
/**
* Check if running in development
*/
export declare function isDevelopment(): boolean;
/**
* Check if running in test
*/
export declare function isTest(): boolean;
/**
* Get environment-specific configuration
*/
export declare function getEnvironmentConfig(): Partial<Config>;
export {};
//# sourceMappingURL=config.d.ts.map