UNPKG

tak-server-mcp-skyfi

Version:

Model Context Protocol (MCP) server for TAK Server integration with geospatial support

81 lines 2.77 kB
import { EventEmitter } from 'events'; import { Logger } from 'pino'; import { CotEvent, CotMessage } from '../types/cot'; import { TAKEntity, Mission, DataPackage } from '../types/tak'; export interface TAKServerClientConfig { url: string; apiToken?: string; clientCert?: string; clientKey?: string; verifySsl?: boolean; timeout?: number; logger?: Logger; } export declare class TAKServerClient extends EventEmitter { private axios; private ws?; private config; private logger?; constructor(config: TAKServerClientConfig); testConnection(): Promise<void>; getCotEvents(params?: { start?: Date; end?: Date; types?: string[]; uids?: string[]; bbox?: [number, number, number, number]; limit?: number; }): Promise<CotEvent[]>; private formatTAKDate; private parseCotEvent; sendCotEvent(event: CotMessage): Promise<void>; subscribeToCotEvents(filter?: { types?: string[]; bbox?: [number, number, number, number]; }, onEvent?: (event: CotEvent) => void): Promise<void>; unsubscribe(): Promise<void>; getEntities(params?: { types?: string[]; teams?: string[]; roles?: string[]; bbox?: [number, number, number, number]; }): Promise<TAKEntity[]>; getEntity(uid: string): Promise<TAKEntity>; getMissions(): Promise<Mission[]>; getMission(name: string): Promise<Mission>; createMission(mission: Partial<Mission>): Promise<Mission>; updateMission(name: string, updates: Partial<Mission>): Promise<Mission>; deleteMission(name: string): Promise<void>; getDataPackages(): Promise<DataPackage[]>; uploadDataPackage(file: Buffer, metadata: Partial<DataPackage>): Promise<DataPackage>; downloadDataPackage(id: string): Promise<Buffer>; deleteDataPackage(id: string): Promise<void>; spatialQuery(params: { center: [number, number]; radius?: number; polygon?: [number, number][]; types?: string[]; timeWindow?: { start: Date; end: Date; }; }): Promise<CotEvent[]>; calculateDistance(point1: [number, number], point2: [number, number]): Promise<number>; findNearest(params: { point: [number, number]; types?: string[]; limit?: number; maxDistance?: number; }): Promise<Array<TAKEntity & { distance: number; }>>; getAlerts(active?: boolean): Promise<any[]>; sendAlert(alert: { type: string; message: string; point: [number, number]; severity: 'low' | 'medium' | 'high' | 'critical'; }): Promise<void>; disconnect(): Promise<void>; } //# sourceMappingURL=tak-server.d.ts.map