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
94 lines • 2.3 kB
TypeScript
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
import express from 'express';
import { HealthService } from '../services/health-service.js';
export interface HttpServerConfig {
port: number;
host: string;
enableCors?: boolean;
sessionManagement?: boolean;
requestLogging?: {
enabled: boolean;
level?: 'info' | 'debug' | 'verbose';
includeBody?: boolean;
includeHeaders?: boolean;
};
}
export declare class HttpTransportServer {
private config;
private expressApp;
private httpServer?;
private activeTransports;
private mcpServerFactory;
private healthService?;
constructor(config: HttpServerConfig, mcpServerFactory: () => McpServer, healthService?: HealthService);
/**
* Set up Express middleware
*/
private setupMiddleware;
/**
* Set up request logging middleware
*/
private setupRequestLogging;
/**
* Set up CORS middleware
*/
private setupCors;
/**
* Set up Express routes
*/
private setupRoutes;
/**
* Handle MCP requests (GET, POST, DELETE)
*/
private handleMcpRequest;
/**
* Get existing transport or send error response
*/
private getExistingTransport;
/**
* Create new transport for initialization
*/
private createNewTransport;
/**
* Send bad request response
*/
private sendBadRequestResponse;
/**
* Handle request errors
*/
private handleRequestError;
/**
* Set up observability middleware (lite mode - no metrics/telemetry)
*/
private setupObservabilityMiddleware;
/**
* Start the HTTP server
*/
start(): Promise<void>;
/**
* Stop the HTTP server
*/
stop(): Promise<void>;
/**
* Get the Express app instance
*/
getExpressApp(): express.Application;
/**
* Get active transport sessions
*/
getActiveSessions(): string[];
/**
* Get session count
*/
getSessionCount(): number;
/**
* Get server status information
*/
getServerStatus(): {
running: boolean;
activeSessions: number;
port?: number;
host?: string;
};
}
//# sourceMappingURL=http-transport-server.d.ts.map