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
104 lines • 2.96 kB
TypeScript
/**
* Standardized limit configuration for Firewalla MCP Server
* Centralizes all parameter limits to ensure consistency across tools
*/
/**
* Standard maximum limits for different types of operations
*/
export declare const STANDARD_LIMITS: {
readonly BASIC_QUERY: 1000;
readonly SEARCH_FLOWS: 1000;
readonly SEARCH_ALARMS: 1000;
readonly SEARCH_RULES: 1000;
readonly SEARCH_DEVICES: 1000;
readonly SEARCH_TARGET_LISTS: 1000;
readonly GEOGRAPHIC_FLOWS: 1000;
readonly GEOGRAPHIC_ALARMS: 1000;
readonly GEOGRAPHIC_STATS: 1000;
readonly CROSS_REFERENCE: 2000;
readonly BANDWIDTH_ANALYSIS: 500;
readonly RULES_SUMMARY: 2000;
readonly OFFLINE_DEVICES: 1000;
readonly STATISTICS: 100;
readonly RULE_PAUSE_DURATION_MINUTES: 1440;
readonly TREND_INTERVAL_SECONDS: 86400;
};
/**
* Entity-specific limit mappings for tools
*/
export declare const ENTITY_LIMITS: {
readonly alarms: 1000;
readonly flows: 1000;
readonly rules: 1000;
readonly devices: 1000;
readonly target_lists: 1000;
};
/**
* Performance tier limits based on operation complexity
*/
export declare const PERFORMANCE_TIER_LIMITS: {
readonly SIMPLE: 1000;
readonly MODERATE: 500;
readonly COMPLEX: 200;
readonly STATISTICAL: 100;
};
/**
* Get the appropriate limit for a specific tool
*/
export declare function getToolLimit(toolName: string): number;
/**
* Get the appropriate performance tier for a tool
*/
export declare function getToolPerformanceTier(toolName: string): keyof typeof PERFORMANCE_TIER_LIMITS;
/**
* Get the appropriate total timeout for a specific tool based on its complexity
*/
export declare function getToolTimeout(toolName: string): number;
/**
* Validation configuration for common parameter types
*/
export declare const VALIDATION_CONFIG: {
readonly LIMIT: {
readonly min: 1;
readonly integer: true;
};
readonly DURATION_MINUTES: {
readonly min: 1;
readonly max: 1440;
readonly integer: true;
};
readonly INTERVAL_SECONDS: {
readonly min: 60;
readonly max: 86400;
readonly integer: true;
};
readonly CURSOR: {
readonly maxLength: 1000;
};
readonly OFFSET: {
readonly min: 0;
readonly integer: true;
};
};
/**
* Get validation configuration for a limit parameter
*/
export declare function getLimitValidationConfig(toolName: string): {
max: number;
min: 1;
integer: true;
};
/**
* Performance monitoring thresholds
*/
export declare const PERFORMANCE_THRESHOLDS: {
readonly WARNING_MS: 1000;
readonly ERROR_MS: 5000;
readonly TIMEOUT_MS: 30000;
readonly SIMPLE_OPERATION_TIMEOUT: 15000;
readonly SEARCH_OPERATION_TIMEOUT: 30000;
readonly COMPLEX_OPERATION_TIMEOUT: 45000;
readonly PER_ATTEMPT_TIMEOUT: 10000;
readonly MIN_PER_ATTEMPT_TIMEOUT: 2000;
};
//# sourceMappingURL=limits.d.ts.map