Files
n8n-mcp/dist/http-server-single-session.d.ts
czlonkowski 198e773bb3 feat: add n8n_generate_workflow tool for hosted workflow generation
Add new MCP tool that enables AI-powered workflow generation from natural
language descriptions. Uses handler delegation pattern — hosting environments
inject a GenerateWorkflowHandler via EngineOptions, self-hosted instances
receive a hosted-only informational response.

Handler flows through N8NMCPEngine → SingleSessionHTTPServer →
N8NDocumentationMCPServer with helpers for createWorkflow, validateWorkflow,
autofixWorkflow, and getWorkflow.

Includes full tool documentation, tests, and corrected tools overview count.

Conceived by Romuald Członkowski - https://www.aiadvisors.pl/en

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 12:32:31 +02:00

58 lines
1.9 KiB
JavaScript

#!/usr/bin/env node
import express from 'express';
import { InstanceContext } from './types/instance-context';
import { SessionState } from './types/session-state';
import { GenerateWorkflowHandler } from './types/generate-workflow';
export interface SingleSessionHTTPServerOptions {
generateWorkflowHandler?: GenerateWorkflowHandler;
}
export declare class SingleSessionHTTPServer {
private transports;
private servers;
private sessionMetadata;
private sessionContexts;
private contextSwitchLocks;
private session;
private consoleManager;
private expressServer;
private sessionTimeout;
private authToken;
private cleanupTimer;
private generateWorkflowHandler?;
constructor(options?: SingleSessionHTTPServerOptions);
private startSessionCleanup;
private cleanupExpiredSessions;
private removeSession;
private getActiveSessionCount;
private canCreateSession;
private isValidSessionId;
private isJsonRpcNotification;
private sanitizeErrorForClient;
private updateSessionAccess;
private switchSessionContext;
private performContextSwitch;
private getSessionMetrics;
private loadAuthToken;
private validateEnvironment;
handleRequest(req: express.Request, res: express.Response, instanceContext?: InstanceContext): Promise<void>;
private resetSessionSSE;
private isExpired;
private isSessionExpired;
start(): Promise<void>;
shutdown(): Promise<void>;
getSessionInfo(): {
active: boolean;
sessionId?: string;
age?: number;
sessions?: {
total: number;
active: number;
expired: number;
max: number;
sessionIds: string[];
};
};
exportSessionState(): SessionState[];
restoreSessionState(sessions: SessionState[]): number;
}
//# sourceMappingURL=http-server-single-session.d.ts.map