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>
This commit is contained in:
czlonkowski
2026-03-31 12:32:31 +02:00
parent 3417c6701c
commit 198e773bb3
81 changed files with 784 additions and 177 deletions

11
dist/mcp/server.d.ts vendored
View File

@@ -1,5 +1,9 @@
import { InstanceContext } from '../types/instance-context';
import { GenerateWorkflowHandler } from '../types/generate-workflow';
import { EarlyErrorLogger } from '../telemetry/early-error-logger';
interface MCPServerOptions {
generateWorkflowHandler?: GenerateWorkflowHandler;
}
export declare class N8NDocumentationMCPServer {
private server;
private db;
@@ -16,7 +20,8 @@ export declare class N8NDocumentationMCPServer {
private useSharedDatabase;
private sharedDbState;
private isShutdown;
constructor(instanceContext?: InstanceContext, earlyLogger?: EarlyErrorLogger);
private generateWorkflowHandler?;
constructor(instanceContext?: InstanceContext, earlyLogger?: EarlyErrorLogger, options?: MCPServerOptions);
close(): Promise<void>;
private initializeDatabase;
private initializeInMemorySchema;
@@ -46,6 +51,7 @@ export declare class N8NDocumentationMCPServer {
private getNodeDocumentation;
private safeJsonParse;
private getDatabaseStatistics;
private buildOperationsTree;
private getNodeEssentials;
private getNode;
private handleInfoMode;
@@ -74,6 +80,8 @@ export declare class N8NDocumentationMCPServer {
private listNodeTemplates;
private getTemplate;
private searchTemplates;
private workflowPatternsCache;
private getWorkflowPatterns;
private getTemplatesForTask;
private searchTemplatesByMetadata;
private getTaskDescription;
@@ -83,4 +91,5 @@ export declare class N8NDocumentationMCPServer {
run(): Promise<void>;
shutdown(): Promise<void>;
}
export {};
//# sourceMappingURL=server.d.ts.map