UNPKG

firewalla-mcp-server

Version:

Model Context Protocol (MCP) server for Firewalla MSP API - Provides real-time network monitoring, security analysis, and firewall management through 28 specialized tools compatible with any MCP client

59 lines 2.27 kB
/** * @fileoverview Configuration management for Firewalla MCP Server * * Provides centralized configuration loading from environment variables with validation * and type safety. Handles MSP API credentials, timeout settings, rate limiting, and * caching configuration for optimal Firewalla API integration. * * Required environment variables: * - FIREWALLA_MSP_TOKEN: MSP API access token * - FIREWALLA_MSP_ID: MSP domain (e.g., 'yourdomain.firewalla.net') * - FIREWALLA_BOX_ID: Firewalla box Global ID (GID) * * Optional environment variables: * - API_TIMEOUT: Request timeout in milliseconds (default: 30000) * - API_RATE_LIMIT: Requests per minute limit (default: 100) * - CACHE_TTL: Cache time-to-live in seconds (default: 300) * - DEFAULT_PAGE_SIZE: Default pagination page size (default: 100) * - MAX_PAGE_SIZE: Maximum allowed pagination page size (default: 10000) * * @version 1.0.0 * @author Alex Mittell <mittell@me.com> (https://github.com/amittell) * @since 2025-06-21 */ import type { FirewallaConfig } from '../types'; /** * Creates and validates the complete Firewalla configuration * * Loads all required and optional configuration values from environment variables, * validates their presence and format, and returns a typed configuration object * ready for use by the Firewalla client. * * @returns {FirewallaConfig} Complete validated configuration object * @throws {Error} If any required environment variables are missing * @throws {Error} If numeric environment variables cannot be parsed * * @example * ```typescript * const config = getConfig(); * console.log(`Using MSP: ${config.mspId}`); * console.log(`Box ID: ${config.boxId}`); * ``` */ export declare function getConfig(): FirewallaConfig; /** * Default configuration instance for the Firewalla MCP Server * * Pre-loaded configuration object that can be imported and used throughout * the application. This instance is created at module load time and includes * all validated environment variables. * * @constant {FirewallaConfig} * @example * ```typescript * import { config } from './config/config.js'; * const client = new FirewallaClient(config); * ``` */ export declare const config: FirewallaConfig; //# sourceMappingURL=config.d.ts.map