feat: SSE (Server-Sent Events) support for n8n integration

- Added SSE server implementation for real-time event streaming
- Created n8n compatibility mode with strict schema validation
- Implemented session management for concurrent connections
- Added comprehensive SSE documentation and examples
- Enhanced MCP tools with async execution support
- Added Docker Compose configuration for SSE deployment
- Included test scripts and integration tests

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
czlonkowski
2025-07-09 08:24:44 +02:00
parent 87f0cfc4dc
commit 54e09c9673
23 changed files with 3981 additions and 20 deletions

View File

@@ -1,6 +1,6 @@
{
"name": "n8n-mcp",
"version": "2.7.10",
"version": "2.8.0",
"description": "Integration between n8n workflow automation and Model Context Protocol (MCP)",
"main": "dist/index.js",
"bin": {
@@ -15,9 +15,12 @@
"start": "node dist/mcp/index.js",
"start:http": "MCP_MODE=http node dist/mcp/index.js",
"start:http:fixed": "MCP_MODE=http USE_FIXED_HTTP=true node dist/mcp/index.js",
"start:sse": "MCP_MODE=sse node dist/mcp/index.js",
"http": "npm run build && npm run start:http:fixed",
"sse": "npm run build && npm run start:sse",
"dev": "npm run build && npm run rebuild && npm run validate",
"dev:http": "MCP_MODE=http nodemon --watch src --ext ts --exec 'npm run build && npm run start:http'",
"dev:sse": "MCP_MODE=sse nodemon --watch src --ext ts --exec 'npm run build && node dist/mcp/index.js'",
"test:single-session": "./scripts/test-single-session.sh",
"test": "jest",
"lint": "tsc --noEmit",
@@ -42,6 +45,10 @@
"test:mcp:update-partial": "node dist/scripts/test-mcp-n8n-update-partial.js",
"test:update-partial:debug": "node dist/scripts/test-update-partial-debug.js",
"test:auth-logging": "tsx scripts/test-auth-logging.ts",
"test:sse": "npm run build && jest tests/sse-*.test.ts --passWithNoTests",
"test:sse:manual": "npm run build && npx ts-node tests/test-sse-endpoints.ts",
"test:sse:integration": "npm run build && jest tests/sse-integration.test.ts --passWithNoTests",
"test:sse:unit": "npm run build && jest tests/sse-session-manager.test.ts --passWithNoTests",
"sanitize:templates": "node dist/scripts/sanitize-templates.js",
"db:rebuild": "node dist/scripts/rebuild-database.js",
"db:init": "node -e \"new (require('./dist/services/sqlite-storage-service').SQLiteStorageService)(); console.log('Database initialized')\"",