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

173 lines 5.41 kB
/** * Advanced search tool handlers */ import { BaseToolHandler, type ToolArgs, type ToolResponse } from './base.js'; import type { FirewallaClient } from '../../firewalla/client.js'; import type { ScoringCorrelationParams } from '../../validation/field-mapper.js'; export interface BaseSearchArgs extends ToolArgs { query: string; limit: number; offset?: number; cursor?: string; sort_by?: string; sort_order?: 'asc' | 'desc'; group_by?: string; aggregate?: boolean; force_refresh?: boolean; } export interface SearchFlowsArgs extends BaseSearchArgs { time_range?: { start?: string; end?: string; }; geographic_filters?: { countries?: string[]; continents?: string[]; regions?: string[]; cities?: string[]; asns?: string[]; hosting_providers?: string[]; exclude_vpn?: boolean; exclude_cloud?: boolean; min_risk_score?: number; }; include_analytics?: boolean; } export interface SearchAlarmsArgs extends BaseSearchArgs { time_range?: { start?: string; end?: string; }; } export interface SearchRulesArgs extends BaseSearchArgs { } export interface SearchDevicesArgs extends BaseSearchArgs { time_range?: { start?: string; end?: string; }; } export interface SearchTargetListsArgs extends BaseSearchArgs { } export interface SearchCrossReferenceArgs extends ToolArgs { primary_query: string; secondary_queries: string[]; correlation_field: string; limit?: number; } export interface SearchEnhancedCrossReferenceArgs extends ToolArgs { primary_query: string; secondary_queries: string[]; correlation_params: ScoringCorrelationParams; limit?: number; } export interface GetCorrelationSuggestionsArgs extends ToolArgs { primary_query: string; secondary_queries: string[]; } export interface SearchAlarmsByGeographyArgs extends ToolArgs { query?: string; geographic_filters?: { countries?: string[]; continents?: string[]; regions?: string[]; high_risk_countries?: boolean; exclude_known_providers?: boolean; threat_analysis?: boolean; }; limit: number; sort_by?: string; group_by?: string; } export interface GetGeographicStatisticsArgs extends ToolArgs { entity_type: 'flows' | 'alarms'; time_range?: { start: string; end: string; }; analysis_type?: 'summary' | 'detailed' | 'threat_intelligence'; group_by?: 'country' | 'continent' | 'region' | 'asn' | 'provider'; limit?: number; } export declare class SearchFlowsHandler extends BaseToolHandler { name: string; description: string; category: "search"; constructor(); execute(args: ToolArgs, firewalla: FirewallaClient): Promise<ToolResponse>; } export declare class SearchAlarmsHandler extends BaseToolHandler { name: string; description: string; category: "search"; constructor(); execute(args: ToolArgs, firewalla: FirewallaClient): Promise<ToolResponse>; } export declare class SearchRulesHandler extends BaseToolHandler { name: string; description: string; category: "search"; constructor(); execute(args: ToolArgs, firewalla: FirewallaClient): Promise<ToolResponse>; } export declare class SearchDevicesHandler extends BaseToolHandler { name: string; description: string; category: "search"; execute(args: ToolArgs, firewalla: FirewallaClient): Promise<ToolResponse>; } export declare class SearchTargetListsHandler extends BaseToolHandler { name: string; description: string; category: "search"; constructor(); execute(args: ToolArgs, firewalla: FirewallaClient): Promise<ToolResponse>; } export declare class SearchCrossReferenceHandler extends BaseToolHandler { name: string; description: string; category: "search"; constructor(); execute(args: ToolArgs, firewalla: FirewallaClient): Promise<ToolResponse>; } export declare class SearchEnhancedCrossReferenceHandler extends BaseToolHandler { name: string; description: string; category: "search"; constructor(); execute(args: ToolArgs, firewalla: FirewallaClient): Promise<ToolResponse>; /** * Extract a simple summary from correlation item data */ private extractItemSummary; /** * Assess the overall quality of correlations found */ private assessCorrelationQuality; /** * Generate actionable recommendations based on correlation results */ private generateCorrelationRecommendations; } export declare class GetCorrelationSuggestionsHandler extends BaseToolHandler { name: string; description: string; category: "search"; constructor(); execute(args: ToolArgs, firewalla: FirewallaClient): Promise<ToolResponse>; } export declare class SearchAlarmsByGeographyHandler extends BaseToolHandler { name: string; description: string; category: "search"; constructor(); execute(args: ToolArgs, firewalla: FirewallaClient): Promise<ToolResponse>; } export declare class GetGeographicStatisticsHandler extends BaseToolHandler { name: string; description: string; category: "search"; constructor(); execute(args: ToolArgs, firewalla: FirewallaClient): Promise<ToolResponse>; } //# sourceMappingURL=search.d.ts.map