UNPKG

n8n-nodes-mcp-session

Version:

MCP nodes for n8n with session management support

48 lines (47 loc) 1.58 kB
import { Client } from '@modelcontextprotocol/sdk/client/index.js'; import { Transport } from '@modelcontextprotocol/sdk/shared/transport.js'; export declare class McpSessionManager { private static instances; private client; private transport; private isConnected; private connectionPromise; private lastUsed; private readonly sessionId; private cleanupTimer; private static readonly SESSION_TIMEOUT; private static readonly CLEANUP_INTERVAL; private constructor(); static getInstance(sessionId: string): McpSessionManager; static generateSessionId(connectionConfig: { connectionType: string; command?: string; args?: string[]; env?: Record<string, string>; httpStreamUrl?: string; sseUrl?: string; headers?: Record<string, string>; timestamp?: number; }): string; connect(transport: Transport): Promise<Client>; private doConnect; getClient(): Promise<Client | null>; getClientSync(): Client | null; isSessionConnected(): boolean; private validateConnection; static createNewSession(connectionConfig: any): string; cleanup(): Promise<void>; private startCleanupTimer; private checkAndCleanupExpiredSessions; static cleanupAllSessions(): Promise<void>; static getSessionStats(): { totalSessions: number; connectedSessions: number; sessions: Array<{ sessionId: string; isConnected: boolean; lastUsed: Date; age: number; }>; }; }