mcp-cve-intelligence-server-lite-test
Version:
Lite Model Context Protocol server for comprehensive CVE intelligence gathering with multi-source exploit discovery, designed for security professionals and cybersecurity researchers - Alpha Release
77 lines • 2.35 kB
TypeScript
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
import type { AppConfig } from '../config/index.js';
import type { TransportConfig } from '../types/cve.js';
import { HttpTransportServer } from './http-transport-server.js';
import { StdioTransportServer } from './stdio-transport-server.js';
import { TransportSessionManager } from './transport-session-manager.js';
import { HealthService } from '../services/health-service.js';
type TransportInstance = StdioServerTransport | HttpTransportServer;
export type TransportType = 'stdio' | 'http';
export declare class TransportManager {
private config;
private httpTransportServer?;
private stdioTransportServer?;
private sessionManager;
private mcpServerFactory;
private healthService?;
constructor(config: AppConfig, mcpServerFactory: () => McpServer, healthService?: HealthService);
/**
* Start transport based on configuration
*/
startTransport(transportConfig?: TransportConfig): Promise<TransportInstance>;
/**
* Start stdio transport
*/
private startStdioTransport;
/**
* Start HTTP transport
*/
private startHttpTransport;
/**
* Stop all transports
*/
stopTransports(): Promise<void>;
/**
* Get transport status
*/
getTransportStatus(): {
stdio: {
active: boolean;
sessionCount?: number;
};
http: {
active: boolean;
sessionCount?: number;
port?: number;
};
};
/**
* Get session manager
*/
getSessionManager(): TransportSessionManager;
/**
* Get HTTP transport server (if running)
*/
getHttpTransportServer(): HttpTransportServer | undefined;
/**
* Get stdio transport server (if running)
*/
getStdioTransportServer(): StdioTransportServer | undefined;
/**
* Get active session count
*/
getActiveSessionCount(): number;
/**
* Get session statistics
*/
getSessionStats(): {
total: number;
byType: Record<string, number>;
oldestSession?: Date;
newestSession?: Date;
averageAge: number;
};
}
export {};
//# sourceMappingURL=transport-manager.d.ts.map