mirror of
https://github.com/czlonkowski/n8n-mcp.git
synced 2026-03-19 00:43:07 +00:00
Phase 1 - Lazy Session Restoration (REQ-1, REQ-2, REQ-8): - Add onSessionNotFound hook for restoring sessions from external storage - Implement idempotent session creation to prevent race conditions - Add session ID validation for security (prevent injection attacks) - Comprehensive error handling (400/408/500 status codes) - 13 integration tests covering all scenarios Phase 2 - Session Management API (REQ-5): - getActiveSessions(): Get all active session IDs - getSessionState(sessionId): Get session state for persistence - getAllSessionStates(): Bulk session state retrieval - restoreSession(sessionId, context): Manual session restoration - deleteSession(sessionId): Manual session termination - 21 unit tests covering all API methods Benefits: - Sessions survive container restarts - Horizontal scaling support (no session stickiness needed) - Zero-downtime deployments - 100% backwards compatible Implementation Details: - Backend methods in http-server-single-session.ts - Public API methods in mcp-engine.ts - SessionState type exported from index.ts - Synchronous session creation and deletion for reliable testing - Version updated from 2.18.10 to 2.19.0 Tests: 34 passing (13 integration + 21 unit) Coverage: Full API coverage with edge cases Security: Session ID validation prevents SQL/NoSQL injection and path traversal 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
41 lines
1.2 KiB
TypeScript
41 lines
1.2 KiB
TypeScript
/**
|
|
* n8n-MCP - Model Context Protocol Server for n8n
|
|
* Copyright (c) 2024 AiAdvisors Romuald Czlonkowski
|
|
* Licensed under the Sustainable Use License v1.0
|
|
*/
|
|
|
|
// Engine exports for service integration
|
|
export { N8NMCPEngine, EngineHealth, EngineOptions } from './mcp-engine';
|
|
export { SingleSessionHTTPServer } from './http-server-single-session';
|
|
export { ConsoleManager } from './utils/console-manager';
|
|
export { N8NDocumentationMCPServer } from './mcp/server';
|
|
|
|
// Type exports for multi-tenant and library usage
|
|
export type {
|
|
InstanceContext
|
|
} from './types/instance-context';
|
|
export {
|
|
validateInstanceContext,
|
|
isInstanceContext
|
|
} from './types/instance-context';
|
|
|
|
// Session restoration types (v2.19.0)
|
|
export type {
|
|
SessionRestoreHook,
|
|
SessionRestorationOptions,
|
|
SessionState
|
|
} from './types/session-restoration';
|
|
|
|
// Re-export MCP SDK types for convenience
|
|
export type {
|
|
Tool,
|
|
CallToolResult,
|
|
ListToolsResult
|
|
} from '@modelcontextprotocol/sdk/types.js';
|
|
|
|
// Default export for convenience
|
|
import N8NMCPEngine from './mcp-engine';
|
|
export default N8NMCPEngine;
|
|
|
|
// Legacy CLI functionality - moved to ./mcp/index.ts
|
|
// This file now serves as the main entry point for library usage
|