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
TypeScript
/**
* @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