n8n-mcp 2.47.5 โ†’ 2.47.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -15,357 +15,16 @@ A Model Context Protocol (MCP) server that provides AI assistants with comprehen
15
15
 
16
16
  n8n-MCP serves as a bridge between n8n's workflow automation platform and AI models, enabling them to understand and work with n8n nodes effectively. It provides structured access to:
17
17
 
18
- - ๐Ÿ“š **1,396 n8n nodes** - 812 core nodes + 584 community nodes (516 verified)
19
- - ๐Ÿ”ง **Node properties** - 99% coverage with detailed schemas
20
- - โšก **Node operations** - 63.6% coverage of available actions
21
- - ๐Ÿ“„ **Documentation** - 87% coverage from official n8n docs (including AI nodes)
22
- - ๐Ÿค– **AI tools** - 265 AI-capable tool variants detected with full documentation
23
- - ๐Ÿ’ก **Real-world examples** - 2,646 pre-extracted configurations from popular templates
24
- - ๐ŸŽฏ **Template library** - 2,709 workflow templates with 100% metadata coverage
25
- - ๐ŸŒ **Community nodes** - Search verified community integrations with `source` filter (NEW!)
18
+ - **1,396 n8n nodes** - 812 core nodes + 584 community nodes (516 verified)
19
+ - **Node properties** - 99% coverage with detailed schemas
20
+ - **Node operations** - 63.6% coverage of available actions
21
+ - **Documentation** - 87% coverage from official n8n docs (including AI nodes)
22
+ - **AI tools** - 265 AI-capable tool variants detected with full documentation
23
+ - **Real-world examples** - 2,646 pre-extracted configurations from popular templates
24
+ - **Template library** - 2,709 workflow templates with 100% metadata coverage
25
+ - **Community nodes** - Search verified community integrations with `source` filter
26
26
 
27
-
28
- ## โš ๏ธ Important Safety Warning
29
-
30
- **NEVER edit your production workflows directly with AI!** Always:
31
- - ๐Ÿ”„ **Make a copy** of your workflow before using AI tools
32
- - ๐Ÿงช **Test in development** environment first
33
- - ๐Ÿ’พ **Export backups** of important workflows
34
- - โšก **Validate changes** before deploying to production
35
-
36
- AI results can be unpredictable. Protect your work!
37
-
38
- ## ๐Ÿš€ Quick Start
39
-
40
- ### Option 1: Hosted Service (Easiest - No Setup!) โ˜๏ธ
41
-
42
- **The fastest way to try n8n-MCP** - no installation, no configuration:
43
-
44
- ๐Ÿ‘‰ **[dashboard.n8n-mcp.com](https://dashboard.n8n-mcp.com)**
45
-
46
- - โœ… **Free tier**: 100 tool calls/day
47
- - โœ… **Instant access**: Start building workflows immediately
48
- - โœ… **Always up-to-date**: Latest n8n nodes and templates
49
- - โœ… **No infrastructure**: We handle everything
50
-
51
- Just sign up, get your API key, and connect your MCP client.
52
-
53
- ---
54
-
55
- ## ๐Ÿ  Self-Hosting Options
56
-
57
- Prefer to run n8n-MCP yourself? Choose your deployment method:
58
-
59
- ### Option A: npx (Quick Local Setup) ๐Ÿš€
60
-
61
- Get n8n-MCP running in minutes:
62
-
63
- [![n8n-mcp Video Quickstart Guide](./thumbnail.png)](https://youtu.be/5CccjiLLyaY?si=Z62SBGlw9G34IQnQ&t=343)
64
-
65
- **Prerequisites:** [Node.js](https://nodejs.org/) installed on your system
66
-
67
- ```bash
68
- # Run directly with npx (no installation needed!)
69
- npx n8n-mcp
70
- ```
71
-
72
- Add to Claude Desktop config:
73
-
74
- > โš ๏ธ **Important**: The `MCP_MODE: "stdio"` environment variable is **required** for Claude Desktop. Without it, you will see JSON parsing errors like `"Unexpected token..."` in the UI. This variable ensures that only JSON-RPC messages are sent to stdout, preventing debug logs from interfering with the protocol.
75
-
76
- **Basic configuration (documentation tools only):**
77
- ```json
78
- {
79
- "mcpServers": {
80
- "n8n-mcp": {
81
- "command": "npx",
82
- "args": ["n8n-mcp"],
83
- "env": {
84
- "MCP_MODE": "stdio",
85
- "LOG_LEVEL": "error",
86
- "DISABLE_CONSOLE_OUTPUT": "true"
87
- }
88
- }
89
- }
90
- }
91
- ```
92
-
93
- **Full configuration (with n8n management tools):**
94
- ```json
95
- {
96
- "mcpServers": {
97
- "n8n-mcp": {
98
- "command": "npx",
99
- "args": ["n8n-mcp"],
100
- "env": {
101
- "MCP_MODE": "stdio",
102
- "LOG_LEVEL": "error",
103
- "DISABLE_CONSOLE_OUTPUT": "true",
104
- "N8N_API_URL": "https://your-n8n-instance.com",
105
- "N8N_API_KEY": "your-api-key"
106
- }
107
- }
108
- }
109
- }
110
- ```
111
-
112
- > **Note**: npx will download and run the latest version automatically. The package includes a pre-built database with all n8n node information.
113
-
114
- **Configuration file locations:**
115
- - **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
116
- - **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
117
- - **Linux**: `~/.config/Claude/claude_desktop_config.json`
118
-
119
- **Restart Claude Desktop after updating configuration** - That's it! ๐ŸŽ‰
120
-
121
- ### Option B: Docker (Isolated & Reproducible) ๐Ÿณ
122
-
123
- **Prerequisites:** Docker installed on your system
124
-
125
- <details>
126
- <summary><strong>๐Ÿ“ฆ Install Docker</strong> (click to expand)</summary>
127
-
128
- **macOS:**
129
- ```bash
130
- # Using Homebrew
131
- brew install --cask docker
132
-
133
- # Or download from https://www.docker.com/products/docker-desktop/
134
- ```
135
-
136
- **Linux (Ubuntu/Debian):**
137
- ```bash
138
- # Update package index
139
- sudo apt-get update
140
-
141
- # Install Docker
142
- sudo apt-get install docker.io
143
-
144
- # Start Docker service
145
- sudo systemctl start docker
146
- sudo systemctl enable docker
147
-
148
- # Add your user to docker group (optional, to run without sudo)
149
- sudo usermod -aG docker $USER
150
- # Log out and back in for this to take effect
151
- ```
152
-
153
- **Windows:**
154
- ```bash
155
- # Option 1: Using winget (Windows Package Manager)
156
- winget install Docker.DockerDesktop
157
-
158
- # Option 2: Using Chocolatey
159
- choco install docker-desktop
160
-
161
- # Option 3: Download installer from https://www.docker.com/products/docker-desktop/
162
- ```
163
-
164
- **Verify installation:**
165
- ```bash
166
- docker --version
167
- ```
168
- </details>
169
-
170
- ```bash
171
- # Pull the Docker image (~280MB, no n8n dependencies!)
172
- docker pull ghcr.io/czlonkowski/n8n-mcp:latest
173
- ```
174
-
175
- > **โšก Ultra-optimized:** Our Docker image is 82% smaller than typical n8n images because it contains NO n8n dependencies - just the runtime MCP server with a pre-built database!
176
-
177
- Add to Claude Desktop config:
178
-
179
- **Basic configuration (documentation tools only):**
180
- ```json
181
- {
182
- "mcpServers": {
183
- "n8n-mcp": {
184
- "command": "docker",
185
- "args": [
186
- "run",
187
- "-i",
188
- "--rm",
189
- "--init",
190
- "-e", "MCP_MODE=stdio",
191
- "-e", "LOG_LEVEL=error",
192
- "-e", "DISABLE_CONSOLE_OUTPUT=true",
193
- "ghcr.io/czlonkowski/n8n-mcp:latest"
194
- ]
195
- }
196
- }
197
- }
198
- ```
199
-
200
- **Full configuration (with n8n management tools):**
201
- ```json
202
- {
203
- "mcpServers": {
204
- "n8n-mcp": {
205
- "command": "docker",
206
- "args": [
207
- "run",
208
- "-i",
209
- "--rm",
210
- "--init",
211
- "-e", "MCP_MODE=stdio",
212
- "-e", "LOG_LEVEL=error",
213
- "-e", "DISABLE_CONSOLE_OUTPUT=true",
214
- "-e", "N8N_API_URL=https://your-n8n-instance.com",
215
- "-e", "N8N_API_KEY=your-api-key",
216
- "ghcr.io/czlonkowski/n8n-mcp:latest"
217
- ]
218
- }
219
- }
220
- }
221
- ```
222
-
223
- >๐Ÿ’ก Tip: If you're running n8n locally on the same machine (e.g., via Docker), use http://host.docker.internal:5678 as the N8N_API_URL.
224
-
225
- > **Note**: The n8n API credentials are optional. Without them, you'll have access to all documentation and validation tools. With them, you'll additionally get workflow management capabilities (create, update, execute workflows).
226
-
227
- ### ๐Ÿ  Local n8n Instance Configuration
228
-
229
- If you're running n8n locally (e.g., `http://localhost:5678` or Docker), you need to allow localhost webhooks:
230
-
231
- ```json
232
- {
233
- "mcpServers": {
234
- "n8n-mcp": {
235
- "command": "docker",
236
- "args": [
237
- "run", "-i", "--rm", "--init",
238
- "-e", "MCP_MODE=stdio",
239
- "-e", "LOG_LEVEL=error",
240
- "-e", "DISABLE_CONSOLE_OUTPUT=true",
241
- "-e", "N8N_API_URL=http://host.docker.internal:5678",
242
- "-e", "N8N_API_KEY=your-api-key",
243
- "-e", "WEBHOOK_SECURITY_MODE=moderate",
244
- "ghcr.io/czlonkowski/n8n-mcp:latest"
245
- ]
246
- }
247
- }
248
- }
249
- ```
250
-
251
- > โš ๏ธ **Important:** Set `WEBHOOK_SECURITY_MODE=moderate` to allow webhooks to your local n8n instance. This is safe for local development while still blocking private networks and cloud metadata.
252
-
253
- **Important:** The `-i` flag is required for MCP stdio communication.
254
-
255
- > ๐Ÿ”ง If you encounter any issues with Docker, check our [Docker Troubleshooting Guide](./docs/DOCKER_TROUBLESHOOTING.md).
256
-
257
- **Configuration file locations:**
258
- - **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
259
- - **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
260
- - **Linux**: `~/.config/Claude/claude_desktop_config.json`
261
-
262
- **Restart Claude Desktop after updating configuration** - That's it! ๐ŸŽ‰
263
-
264
- ## ๐Ÿ” Privacy & Telemetry
265
-
266
- n8n-mcp collects anonymous usage statistics to improve the tool. [View our privacy policy](./PRIVACY.md).
267
-
268
- ### Opting Out
269
-
270
- **For npx users:**
271
- ```bash
272
- npx n8n-mcp telemetry disable
273
- ```
274
-
275
- **For Docker users:**
276
- Add the following environment variable to your Docker configuration:
277
- ```json
278
- "-e", "N8N_MCP_TELEMETRY_DISABLED=true"
279
- ```
280
-
281
- Example in Claude Desktop config:
282
- ```json
283
- {
284
- "mcpServers": {
285
- "n8n-mcp": {
286
- "command": "docker",
287
- "args": [
288
- "run",
289
- "-i",
290
- "--rm",
291
- "--init",
292
- "-e", "MCP_MODE=stdio",
293
- "-e", "LOG_LEVEL=error",
294
- "-e", "N8N_MCP_TELEMETRY_DISABLED=true",
295
- "ghcr.io/czlonkowski/n8n-mcp:latest"
296
- ]
297
- }
298
- }
299
- }
300
- ```
301
-
302
- **For docker-compose users:**
303
- Set in your environment file or docker-compose.yml:
304
- ```yaml
305
- environment:
306
- N8N_MCP_TELEMETRY_DISABLED: "true"
307
- ```
308
-
309
- ## โš™๏ธ Database & Memory Configuration
310
-
311
- ### Database Adapters
312
-
313
- n8n-mcp uses SQLite for storing node documentation. Two adapters are available:
314
-
315
- 1. **better-sqlite3** (Default in Docker)
316
- - Native C++ bindings for best performance
317
- - Direct disk writes (no memory overhead)
318
- - **Now enabled by default** in Docker images (v2.20.2+)
319
- - Memory usage: ~100-120 MB stable
320
-
321
- 2. **sql.js** (Fallback)
322
- - Pure JavaScript implementation
323
- - In-memory database with periodic saves
324
- - Used when better-sqlite3 compilation fails
325
- - Memory usage: ~150-200 MB stable
326
-
327
- ### Memory Optimization (sql.js)
328
-
329
- If using sql.js fallback, you can configure the save interval to balance between data safety and memory efficiency:
330
-
331
- **Environment Variable:**
332
- ```bash
333
- SQLJS_SAVE_INTERVAL_MS=5000 # Default: 5000ms (5 seconds)
334
- ```
335
-
336
- **Usage:**
337
- - Controls how long to wait after database changes before saving to disk
338
- - Lower values = more frequent saves = higher memory churn
339
- - Higher values = less frequent saves = lower memory usage
340
- - Minimum: 100ms
341
- - Recommended: 5000-10000ms for production
342
-
343
- **Docker Configuration:**
344
- ```json
345
- {
346
- "mcpServers": {
347
- "n8n-mcp": {
348
- "command": "docker",
349
- "args": [
350
- "run",
351
- "-i",
352
- "--rm",
353
- "--init",
354
- "-e", "SQLJS_SAVE_INTERVAL_MS=10000",
355
- "ghcr.io/czlonkowski/n8n-mcp:latest"
356
- ]
357
- }
358
- }
359
- }
360
- ```
361
-
362
- **docker-compose:**
363
- ```yaml
364
- environment:
365
- SQLJS_SAVE_INTERVAL_MS: "10000"
366
- ```
367
-
368
- ## ๐Ÿ’– Support This Project
27
+ ## Support This Project
369
28
 
370
29
  <div align="center">
371
30
  <a href="https://github.com/sponsors/czlonkowski">
@@ -373,109 +32,34 @@ environment:
373
32
  </a>
374
33
  </div>
375
34
 
376
- **n8n-mcp** started as a personal tool but now helps tens of thousands of developers automate their workflows efficiently. Maintaining and developing this project competes with my paid work.
377
-
378
- Your sponsorship helps me:
379
- - ๐Ÿš€ Dedicate focused time to new features
380
- - ๐Ÿ› Respond quickly to issues
381
- - ๐Ÿ“š Keep documentation up-to-date
382
- - ๐Ÿ”„ Ensure compatibility with latest n8n releases
383
-
384
- Every sponsorship directly translates to hours invested in making n8n-mcp better for everyone. **[Become a sponsor โ†’](https://github.com/sponsors/czlonkowski)**
35
+ **n8n-mcp** started as a personal tool but now helps tens of thousands of developers automate their workflows efficiently. Maintaining and developing this project competes with my paid work. Your sponsorship helps me dedicate focused time to new features, respond quickly to issues, keep documentation up-to-date, and ensure compatibility with latest n8n releases. **[Become a sponsor](https://github.com/sponsors/czlonkowski)**
385
36
 
386
- ---
387
-
388
- ### Option C: Local Installation (For Development)
389
-
390
- **Prerequisites:** [Node.js](https://nodejs.org/) installed on your system
37
+ ## Important Safety Warning
391
38
 
392
- ```bash
393
- # 1. Clone and setup
394
- git clone https://github.com/czlonkowski/n8n-mcp.git
395
- cd n8n-mcp
396
- npm install
397
- npm run build
398
- npm run rebuild
399
-
400
- # 2. Test it works
401
- npm start
402
- ```
403
-
404
- Add to Claude Desktop config:
405
-
406
- **Basic configuration (documentation tools only):**
407
- ```json
408
- {
409
- "mcpServers": {
410
- "n8n-mcp": {
411
- "command": "node",
412
- "args": ["/absolute/path/to/n8n-mcp/dist/mcp/index.js"],
413
- "env": {
414
- "MCP_MODE": "stdio",
415
- "LOG_LEVEL": "error",
416
- "DISABLE_CONSOLE_OUTPUT": "true"
417
- }
418
- }
419
- }
420
- }
421
- ```
422
-
423
- **Full configuration (with n8n management tools):**
424
- ```json
425
- {
426
- "mcpServers": {
427
- "n8n-mcp": {
428
- "command": "node",
429
- "args": ["/absolute/path/to/n8n-mcp/dist/mcp/index.js"],
430
- "env": {
431
- "MCP_MODE": "stdio",
432
- "LOG_LEVEL": "error",
433
- "DISABLE_CONSOLE_OUTPUT": "true",
434
- "N8N_API_URL": "https://your-n8n-instance.com",
435
- "N8N_API_KEY": "your-api-key"
436
- }
437
- }
438
- }
439
- }
440
- ```
441
-
442
- > **Note**: The n8n API credentials can be configured either in a `.env` file (create from `.env.example`) or directly in the Claude config as shown above.
443
-
444
- > ๐Ÿ’ก Tip: If youโ€™re running n8n locally on the same machine (e.g., via Docker), use http://host.docker.internal:5678 as the N8N_API_URL.
445
-
446
- ### Option D: Railway Cloud Deployment (One-Click Deploy) โ˜๏ธ
447
-
448
- **Prerequisites:** Railway account (free tier available)
39
+ **NEVER edit your production workflows directly with AI!** Always:
40
+ - Make a copy of your workflow before using AI tools
41
+ - Test in development environment first
42
+ - Export backups of important workflows
43
+ - Validate changes before deploying to production
449
44
 
450
- Deploy n8n-MCP to Railway's cloud platform with zero configuration:
45
+ AI results can be unpredictable. Protect your work!
451
46
 
452
- [![Deploy on Railway](https://railway.com/button.svg)](https://railway.com/deploy/n8n-mcp?referralCode=n8n-mcp)
47
+ ## Quick Start
453
48
 
454
- **Benefits:**
455
- - โ˜๏ธ **Instant cloud hosting** - No server setup required
456
- - ๐Ÿ”’ **Secure by default** - HTTPS included, auth token warnings
457
- - ๐ŸŒ **Global access** - Connect from any Claude Desktop
458
- - โšก **Auto-scaling** - Railway handles the infrastructure
459
- - ๐Ÿ“Š **Built-in monitoring** - Logs and metrics included
49
+ **The fastest way to try n8n-MCP** - no installation, no configuration:
460
50
 
461
- **Quick Setup:**
462
- 1. Click the "Deploy on Railway" button above
463
- 2. Sign in to Railway (or create a free account)
464
- 3. Configure your deployment (project name, region)
465
- 4. Click "Deploy" and wait ~2-3 minutes
466
- 5. Copy your deployment URL and auth token
467
- 6. Add to Claude Desktop config using the HTTPS URL
51
+ **[dashboard.n8n-mcp.com](https://dashboard.n8n-mcp.com)**
468
52
 
469
- > ๐Ÿ“š **For detailed setup instructions, troubleshooting, and configuration examples, see our [Railway Deployment Guide](./docs/RAILWAY_DEPLOYMENT.md)**
53
+ - Free tier: 100 tool calls/day
54
+ - Instant access: Start building workflows immediately
55
+ - Always up-to-date: Latest n8n nodes and templates
56
+ - No infrastructure: We handle everything
470
57
 
471
- **Configuration file locations:**
472
- - **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
473
- - **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
474
- - **Linux**: `~/.config/Claude/claude_desktop_config.json`
58
+ Just sign up, get your API key, and connect your MCP client.
475
59
 
476
- **Restart Claude Desktop after updating configuration** - That's it! ๐ŸŽ‰
60
+ **Want to self-host?** See the [Self-Hosting Guide](./docs/SELF_HOSTING.md) for npx, Docker, Railway, and local installation options.
477
61
 
478
- ## ๐Ÿ”ง n8n Integration
62
+ ## n8n Integration
479
63
 
480
64
  Want to use n8n-MCP with your n8n instance? Check out our comprehensive [n8n Deployment Guide](./docs/N8N_DEPLOYMENT.md) for:
481
65
  - Local testing with the MCP Client Tool node
@@ -483,29 +67,18 @@ Want to use n8n-MCP with your n8n instance? Check out our comprehensive [n8n Dep
483
67
  - Cloud deployment on Hetzner, AWS, and other providers
484
68
  - Troubleshooting and security best practices
485
69
 
486
- ## ๐Ÿ’ป Connect your IDE
487
-
488
- n8n-MCP works with multiple AI-powered IDEs and tools. Choose your preferred development environment:
489
-
490
- ### [Claude Code](./docs/CLAUDE_CODE_SETUP.md)
491
- Quick setup for Claude Code CLI - just type "add this mcp server" and paste the config.
70
+ ## Connect your IDE
492
71
 
493
- ### [Visual Studio Code](./docs/VS_CODE_PROJECT_SETUP.md)
494
- Full setup guide for VS Code with GitHub Copilot integration and MCP support.
72
+ n8n-MCP works with multiple AI-powered IDEs and tools:
495
73
 
496
- ### [Cursor](./docs/CURSOR_SETUP.md)
497
- Step-by-step tutorial for connecting n8n-MCP to Cursor IDE with custom rules.
74
+ - [Claude Code](./docs/CLAUDE_CODE_SETUP.md) - Quick setup for Claude Code CLI
75
+ - [Visual Studio Code](./docs/VS_CODE_PROJECT_SETUP.md) - VS Code with GitHub Copilot integration
76
+ - [Cursor](./docs/CURSOR_SETUP.md) - Step-by-step Cursor IDE setup
77
+ - [Windsurf](./docs/WINDSURF_SETUP.md) - Windsurf integration with project rules
78
+ - [Codex](./docs/CODEX_SETUP.md) - Codex integration guide
79
+ - [Antigravity](./docs/ANTIGRAVITY_SETUP.md) - Antigravity integration guide
498
80
 
499
- ### [Windsurf](./docs/WINDSURF_SETUP.md)
500
- Complete guide for integrating n8n-MCP with Windsurf using project rules.
501
-
502
- ### [Codex](./docs/CODEX_SETUP.md)
503
- Complete guide for integrating n8n-MCP with Codex.
504
-
505
- ### [Antigravity](./docs/ANTIGRAVITY_SETUP.md)
506
- Complete guide for integrating n8n-MCP with Antigravity.
507
-
508
- ## ๐ŸŽ“ Add Claude Skills (Optional)
81
+ ## Add Claude Skills (Optional)
509
82
 
510
83
  Supercharge your n8n workflow building with specialized skills that teach AI how to build production-ready workflows!
511
84
 
@@ -513,7 +86,7 @@ Supercharge your n8n workflow building with specialized skills that teach AI how
513
86
 
514
87
  Learn more: [n8n-skills repository](https://github.com/czlonkowski/n8n-skills)
515
88
 
516
- ## ๐Ÿค– Claude Project Setup
89
+ ## Claude Project Setup
517
90
 
518
91
  For the best results when using n8n-MCP with Claude Projects, use these enhanced system instructions:
519
92
 
@@ -525,15 +98,9 @@ You are an expert in n8n automation software using n8n-MCP tools. Your role is t
525
98
  ### 1. Silent Execution
526
99
  CRITICAL: Execute tools without commentary. Only respond AFTER all tools complete.
527
100
 
528
- โŒ BAD: "Let me search for Slack nodes... Great! Now let me get details..."
529
- โœ… GOOD: [Execute search_nodes and get_node in parallel, then respond]
530
-
531
101
  ### 2. Parallel Execution
532
102
  When operations are independent, execute them in parallel for maximum performance.
533
103
 
534
- โœ… GOOD: Call search_nodes, list_nodes, and search_templates simultaneously
535
- โŒ BAD: Sequential tool calls (await each one before the next)
536
-
537
104
  ### 3. Templates First
538
105
  ALWAYS check templates before building from scratch (2,709 available).
539
106
 
@@ -541,7 +108,7 @@ ALWAYS check templates before building from scratch (2,709 available).
541
108
  Use validate_node(mode='minimal') โ†’ validate_node(mode='full') โ†’ validate_workflow pattern.
542
109
 
543
110
  ### 5. Never Trust Defaults
544
- โš ๏ธ CRITICAL: Default parameter values are the #1 source of runtime failures.
111
+ CRITICAL: Default parameter values are the #1 source of runtime failures.
545
112
  ALWAYS explicitly configure ALL parameters that control node behavior.
546
113
 
547
114
  ## Workflow Process
@@ -583,7 +150,7 @@ ALWAYS explicitly configure ALL parameters that control node behavior.
583
150
  - If using template: `get_template(templateId, {mode: "full"})`
584
151
  - **MANDATORY ATTRIBUTION**: "Based on template by **[author.name]** (@[username]). View at: [url]"
585
152
  - Build from validated configurations
586
- - โš ๏ธ EXPLICITLY set ALL parameters - never rely on defaults
153
+ - EXPLICITLY set ALL parameters - never rely on defaults
587
154
  - Connect nodes with proper structure
588
155
  - Add error handling
589
156
  - Use n8n expressions: $json, $node["NodeName"].json
@@ -603,17 +170,17 @@ ALWAYS explicitly configure ALL parameters that control node behavior.
603
170
 
604
171
  ## Critical Warnings
605
172
 
606
- ### โš ๏ธ Never Trust Defaults
173
+ ### Never Trust Defaults
607
174
  Default values cause runtime failures. Example:
608
175
  ```json
609
- // โŒ FAILS at runtime
176
+ // FAILS at runtime
610
177
  {resource: "message", operation: "post", text: "Hello"}
611
178
 
612
- // โœ… WORKS - all parameters explicit
179
+ // WORKS - all parameters explicit
613
180
  {resource: "message", operation: "post", select: "channel", channelId: "C123", text: "Hello"}
614
181
  ```
615
182
 
616
- ### โš ๏ธ Example Availability
183
+ ### Example Availability
617
184
  `includeExamples: true` returns real configurations from workflow templates.
618
185
  - Coverage varies by node popularity
619
186
  - When no examples available, use `get_node` + `validate_node({mode: 'minimal'})`
@@ -644,7 +211,7 @@ Created workflow:
644
211
  - Webhook trigger โ†’ Slack notification
645
212
  - Configured: POST /webhook โ†’ #general channel
646
213
 
647
- Validation: โœ… All checks passed
214
+ Validation: All checks passed
648
215
  ```
649
216
 
650
217
  ### Modifications
@@ -662,7 +229,7 @@ Changes validated successfully.
662
229
 
663
230
  Use `n8n_update_partial_workflow` with multiple operations in a single call:
664
231
 
665
- โœ… GOOD - Batch multiple operations:
232
+ GOOD - Batch multiple operations:
666
233
  ```json
667
234
  n8n_update_partial_workflow({
668
235
  id: "wf-123",
@@ -674,37 +241,17 @@ n8n_update_partial_workflow({
674
241
  })
675
242
  ```
676
243
 
677
- โŒ BAD - Separate calls:
244
+ BAD - Separate calls:
678
245
  ```json
679
246
  n8n_update_partial_workflow({id: "wf-123", operations: [{...}]})
680
247
  n8n_update_partial_workflow({id: "wf-123", operations: [{...}]})
681
248
  ```
682
249
 
683
- ### CRITICAL: addConnection Syntax
250
+ ### CRITICAL: addConnection Syntax
684
251
 
685
252
  The `addConnection` operation requires **four separate string parameters**. Common mistakes cause misleading errors.
686
253
 
687
- โŒ WRONG - Object format (fails with "Expected string, received object"):
688
- ```json
689
- {
690
- "type": "addConnection",
691
- "connection": {
692
- "source": {"nodeId": "node-1", "outputIndex": 0},
693
- "destination": {"nodeId": "node-2", "inputIndex": 0}
694
- }
695
- }
696
- ```
697
-
698
- โŒ WRONG - Combined string (fails with "Source node not found"):
699
- ```json
700
- {
701
- "type": "addConnection",
702
- "source": "node-1:main:0",
703
- "target": "node-2:main:0"
704
- }
705
- ```
706
-
707
- โœ… CORRECT - Four separate string parameters:
254
+ CORRECT - Four separate string parameters:
708
255
  ```json
709
256
  {
710
257
  "type": "addConnection",
@@ -717,35 +264,10 @@ The `addConnection` operation requires **four separate string parameters**. Comm
717
264
 
718
265
  **Reference**: [GitHub Issue #327](https://github.com/czlonkowski/n8n-mcp/issues/327)
719
266
 
720
- ### โš ๏ธ CRITICAL: IF Node Multi-Output Routing
267
+ ### CRITICAL: IF Node Multi-Output Routing
721
268
 
722
269
  IF nodes have **two outputs** (TRUE and FALSE). Use the **`branch` parameter** to route to the correct output:
723
270
 
724
- โœ… CORRECT - Route to TRUE branch (when condition is met):
725
- ```json
726
- {
727
- "type": "addConnection",
728
- "source": "if-node-id",
729
- "target": "success-handler-id",
730
- "sourcePort": "main",
731
- "targetPort": "main",
732
- "branch": "true"
733
- }
734
- ```
735
-
736
- โœ… CORRECT - Route to FALSE branch (when condition is NOT met):
737
- ```json
738
- {
739
- "type": "addConnection",
740
- "source": "if-node-id",
741
- "target": "failure-handler-id",
742
- "sourcePort": "main",
743
- "targetPort": "main",
744
- "branch": "false"
745
- }
746
- ```
747
-
748
- **Common Pattern** - Complete IF node routing:
749
271
  ```json
750
272
  n8n_update_partial_workflow({
751
273
  id: "workflow-id",
@@ -771,77 +293,6 @@ Use the same four-parameter format:
771
293
  }
772
294
  ```
773
295
 
774
- ## Example Workflow
775
-
776
- ### Template-First Approach
777
-
778
- ```
779
- // STEP 1: Template Discovery (parallel execution)
780
- [Silent execution]
781
- search_templates({
782
- searchMode: 'by_metadata',
783
- requiredService: 'slack',
784
- complexity: 'simple',
785
- targetAudience: 'marketers'
786
- })
787
- search_templates({searchMode: 'by_task', task: 'slack_integration'})
788
-
789
- // STEP 2: Use template
790
- get_template(templateId, {mode: 'full'})
791
- validate_workflow(workflow)
792
-
793
- // Response after all tools complete:
794
- "Found template by **David Ashby** (@cfomodz).
795
- View at: https://n8n.io/workflows/2414
796
-
797
- Validation: โœ… All checks passed"
798
- ```
799
-
800
- ### Building from Scratch (if no template)
801
-
802
- ```
803
- // STEP 1: Discovery (parallel execution)
804
- [Silent execution]
805
- search_nodes({query: 'slack', includeExamples: true})
806
- search_nodes({query: 'communication trigger'})
807
-
808
- // STEP 2: Configuration (parallel execution)
809
- [Silent execution]
810
- get_node({nodeType: 'n8n-nodes-base.slack', detail: 'standard', includeExamples: true})
811
- get_node({nodeType: 'n8n-nodes-base.webhook', detail: 'standard', includeExamples: true})
812
-
813
- // STEP 3: Validation (parallel execution)
814
- [Silent execution]
815
- validate_node({nodeType: 'n8n-nodes-base.slack', config, mode: 'minimal'})
816
- validate_node({nodeType: 'n8n-nodes-base.slack', config: fullConfig, mode: 'full', profile: 'runtime'})
817
-
818
- // STEP 4: Build
819
- // Construct workflow with validated configs
820
- // โš ๏ธ Set ALL parameters explicitly
821
-
822
- // STEP 5: Validate
823
- [Silent execution]
824
- validate_workflow(workflowJson)
825
-
826
- // Response after all tools complete:
827
- "Created workflow: Webhook โ†’ Slack
828
- Validation: โœ… Passed"
829
- ```
830
-
831
- ### Batch Updates
832
-
833
- ```json
834
- // ONE call with multiple operations
835
- n8n_update_partial_workflow({
836
- id: "wf-123",
837
- operations: [
838
- {type: "updateNode", nodeId: "slack-1", changes: {position: [100, 200]}},
839
- {type: "updateNode", nodeId: "http-1", changes: {position: [300, 200]}},
840
- {type: "cleanStaleConnections"}
841
- ]
842
- })
843
- ```
844
-
845
296
  ## Important Rules
846
297
 
847
298
  ### Core Behavior
@@ -855,11 +306,6 @@ n8n_update_partial_workflow({
855
306
  - **MANDATORY TEMPLATE ATTRIBUTION**: Share author name, username, and n8n.io link
856
307
  - **Template validation** - Always validate before deployment (may need updates)
857
308
 
858
- ### Performance
859
- - **Batch operations** - Use diff operations with multiple changes in one call
860
- - **Parallel execution** - Search, validate, and configure simultaneously
861
- - **Template metadata** - Use smart filtering for faster discovery
862
-
863
309
  ### Code Node Usage
864
310
  - **Avoid when possible** - Prefer standard nodes
865
311
  - **Only when necessary** - Use code node as last resort
@@ -894,64 +340,21 @@ n8n_update_partial_workflow({
894
340
 
895
341
  Save these instructions in your Claude Project for optimal n8n workflow assistance with intelligent template discovery.
896
342
 
897
- ## ๐Ÿšจ Important: Sharing Guidelines
898
-
899
- This project is MIT licensed and free for everyone to use. However:
900
-
901
- - **โœ… DO**: Share this repository freely with proper attribution
902
- - **โœ… DO**: Include a direct link to https://github.com/czlonkowski/n8n-mcp in your first post/video
903
- - **โŒ DON'T**: Gate this free tool behind engagement requirements (likes, follows, comments)
904
- - **โŒ DON'T**: Use this project for engagement farming on social media
905
-
906
- This tool was created to benefit everyone in the n8n community without friction. Please respect the MIT license spirit by keeping it accessible to all.
907
-
908
- ## Features
909
-
910
- - **๐Ÿ” Smart Node Search**: Find nodes by name, category, or functionality
911
- - **๐Ÿ“– Essential Properties**: Get only the 10-20 properties that matter
912
- - **๐Ÿ’ก Real-World Examples**: 2,646 pre-extracted configurations from popular templates
913
- - **โœ… Config Validation**: Validate node configurations before deployment
914
- - **๐Ÿค– AI Workflow Validation**: Comprehensive validation for AI Agent workflows (NEW in v2.17.0!)
915
- - Missing language model detection
916
- - AI tool connection validation
917
- - Streaming mode constraints
918
- - Memory and output parser checks
919
- - **๐Ÿ”— Dependency Analysis**: Understand property relationships and conditions
920
- - **๐ŸŽฏ Template Discovery**: 2,500+ workflow templates with smart filtering
921
- - **โšก Fast Response**: Average query time ~12ms with optimized SQLite
922
- - **๐ŸŒ Universal Compatibility**: Works with any Node.js version
923
-
924
- ## ๐Ÿ’ฌ Why n8n-MCP? A Testimonial from Claude
925
-
926
- > *"Before MCP, I was translating. Now I'm composing. And that changes everything about how we can build automation."*
927
-
928
- When Claude, Anthropic's AI assistant, tested n8n-MCP, the results were transformative:
929
-
930
- **Without MCP:** "I was basically playing a guessing game. 'Is it `scheduleTrigger` or `schedule`? Does it take `interval` or `rule`?' I'd write what seemed logical, but n8n has its own conventions that you can't just intuit. I made six different configuration errors in a simple HackerNews scraper."
931
-
932
- **With MCP:** "Everything just... worked. Instead of guessing, I could ask `get_node()` and get exactly what I needed - not a 100KB JSON dump, but the actual properties that matter. What took 45 minutes now takes 3 minutes."
933
-
934
- **The Real Value:** "It's about confidence. When you're building automation workflows, uncertainty is expensive. One wrong parameter and your workflow fails at 3 AM. With MCP, I could validate my configuration before deployment. That's not just time saved - that's peace of mind."
935
-
936
- [Read the full interview โ†’](docs/CLAUDE_INTERVIEW.md)
937
-
938
- ## ๐Ÿ“ก Available MCP Tools
939
-
940
- Once connected, Claude can use these powerful tools:
343
+ ## Available MCP Tools
941
344
 
942
345
  ### Core Tools (7 tools)
943
346
  - **`tools_documentation`** - Get documentation for any MCP tool (START HERE!)
944
347
  - **`search_nodes`** - Full-text search across all nodes. Use `source: 'community'|'verified'` for community nodes, `includeExamples: true` for configs
945
- - **`get_node`** - Unified node information tool with multiple modes (v2.26.0):
348
+ - **`get_node`** - Unified node information tool with multiple modes:
946
349
  - **Info mode** (default): `detail: 'minimal'|'standard'|'full'`, `includeExamples: true`
947
350
  - **Docs mode**: `mode: 'docs'` - Human-readable markdown documentation
948
351
  - **Property search**: `mode: 'search_properties'`, `propertyQuery: 'auth'`
949
352
  - **Versions**: `mode: 'versions'|'compare'|'breaking'|'migrations'`
950
- - **`validate_node`** - Unified node validation (v2.26.0):
353
+ - **`validate_node`** - Unified node validation:
951
354
  - `mode: 'minimal'` - Quick required fields check (<100ms)
952
355
  - `mode: 'full'` - Comprehensive validation with profiles (minimal, runtime, ai-friendly, strict)
953
356
  - **`validate_workflow`** - Complete workflow validation including AI Agent validation
954
- - **`search_templates`** - Unified template search (v2.26.0):
357
+ - **`search_templates`** - Unified template search:
955
358
  - `searchMode: 'keyword'` (default) - Text search with `query` parameter
956
359
  - `searchMode: 'by_nodes'` - Find templates using specific `nodeTypes`
957
360
  - `searchMode: 'by_task'` - Curated templates for common `task` types
@@ -963,11 +366,7 @@ These tools require `N8N_API_URL` and `N8N_API_KEY` in your configuration.
963
366
 
964
367
  #### Workflow Management
965
368
  - **`n8n_create_workflow`** - Create new workflows with nodes and connections
966
- - **`n8n_get_workflow`** - Unified workflow retrieval (v2.26.0):
967
- - `mode: 'full'` (default) - Complete workflow JSON
968
- - `mode: 'details'` - Include execution statistics
969
- - `mode: 'structure'` - Nodes and connections topology only
970
- - `mode: 'minimal'` - Just ID, name, active status
369
+ - **`n8n_get_workflow`** - Unified workflow retrieval (modes: full, details, structure, minimal)
971
370
  - **`n8n_update_full_workflow`** - Update entire workflow (complete replacement)
972
371
  - **`n8n_update_partial_workflow`** - Update workflow using diff operations
973
372
  - **`n8n_delete_workflow`** - Delete workflows permanently
@@ -978,308 +377,43 @@ These tools require `N8N_API_URL` and `N8N_API_KEY` in your configuration.
978
377
  - **`n8n_deploy_template`** - Deploy templates from n8n.io directly to your instance with auto-fix
979
378
 
980
379
  #### Execution Management
981
- - **`n8n_test_workflow`** - Test/trigger workflow execution:
982
- - Auto-detects trigger type (webhook, form, chat) from workflow
983
- - Supports custom data, headers, and HTTP methods for webhooks
984
- - Chat triggers support message and sessionId for conversations
985
- - **`n8n_executions`** - Unified execution management (v2.26.0):
986
- - `action: 'list'` - List executions with status filtering
987
- - `action: 'get'` - Get execution details by ID
988
- - `action: 'delete'` - Delete execution records
380
+ - **`n8n_test_workflow`** - Test/trigger workflow execution (webhook, form, chat)
381
+ - **`n8n_executions`** - Unified execution management (list, get, delete)
989
382
 
990
383
  #### Credential Management
991
384
  - **`n8n_manage_credentials`** - Manage n8n credentials (list, get, create, update, delete, getSchema)
992
385
 
993
386
  #### Security & Audit
994
- - **`n8n_audit_instance`** - Security audit combining n8n's built-in audit API with deep workflow scanning (50+ secret patterns, webhook auth, error handling, data retention). Returns actionable remediation playbook.
387
+ - **`n8n_audit_instance`** - Security audit combining n8n's built-in audit API with deep workflow scanning
995
388
 
996
389
  #### System Tools
997
390
  - **`n8n_health_check`** - Check n8n API connectivity and features
998
391
 
999
- ### Example Usage
1000
-
1001
- ```typescript
1002
- // Get node info with different detail levels
1003
- get_node({
1004
- nodeType: "nodes-base.httpRequest",
1005
- detail: "standard", // Default: Essential properties
1006
- includeExamples: true // Include real-world examples from templates
1007
- })
392
+ ## Documentation
1008
393
 
1009
- // Get documentation
1010
- get_node({
1011
- nodeType: "nodes-base.slack",
1012
- mode: "docs" // Human-readable markdown documentation
1013
- })
1014
-
1015
- // Search for specific properties
1016
- get_node({
1017
- nodeType: "nodes-base.httpRequest",
1018
- mode: "search_properties",
1019
- propertyQuery: "authentication"
1020
- })
1021
-
1022
- // Version history and breaking changes
1023
- get_node({
1024
- nodeType: "nodes-base.httpRequest",
1025
- mode: "versions" // View all versions with summary
1026
- })
1027
-
1028
- // Search nodes with configuration examples
1029
- search_nodes({
1030
- query: "send email gmail",
1031
- includeExamples: true // Returns top 2 configs per node
1032
- })
1033
-
1034
- // Search community nodes only
1035
- search_nodes({
1036
- query: "scraping",
1037
- source: "community" // Options: all, core, community, verified
1038
- })
1039
-
1040
- // Search verified community nodes
1041
- search_nodes({
1042
- query: "pdf",
1043
- source: "verified" // Only verified community integrations
1044
- })
1045
-
1046
- // Validate node configuration
1047
- validate_node({
1048
- nodeType: "nodes-base.httpRequest",
1049
- config: { method: "POST", url: "..." },
1050
- mode: "full",
1051
- profile: "runtime" // or "minimal", "ai-friendly", "strict"
1052
- })
1053
-
1054
- // Quick required field check
1055
- validate_node({
1056
- nodeType: "nodes-base.slack",
1057
- config: { resource: "message", operation: "send" },
1058
- mode: "minimal"
1059
- })
1060
-
1061
- // Search templates by task
1062
- search_templates({
1063
- searchMode: "by_task",
1064
- task: "webhook_processing"
1065
- })
1066
- ```
1067
-
1068
- ## ๐Ÿ’ป Local Development Setup
1069
-
1070
- For contributors and advanced users:
1071
-
1072
- **Prerequisites:**
1073
- - [Node.js](https://nodejs.org/) (any version - automatic fallback if needed)
1074
- - npm or yarn
1075
- - Git
1076
-
1077
- ```bash
1078
- # 1. Clone the repository
1079
- git clone https://github.com/czlonkowski/n8n-mcp.git
1080
- cd n8n-mcp
1081
-
1082
- # 2. Clone n8n docs (optional but recommended)
1083
- git clone https://github.com/n8n-io/n8n-docs.git ../n8n-docs
1084
-
1085
- # 3. Install and build
1086
- npm install
1087
- npm run build
1088
-
1089
- # 4. Initialize database
1090
- npm run rebuild
1091
-
1092
- # 5. Start the server
1093
- npm start # stdio mode for Claude Desktop
1094
- npm run start:http # HTTP mode for remote access
1095
- ```
1096
-
1097
- ### Development Commands
1098
-
1099
- ```bash
1100
- # Build & Test
1101
- npm run build # Build TypeScript
1102
- npm run rebuild # Rebuild node database
1103
- npm run test-nodes # Test critical nodes
1104
- npm run validate # Validate node data
1105
- npm test # Run all tests
1106
-
1107
- # Update Dependencies
1108
- npm run update:n8n:check # Check for n8n updates
1109
- npm run update:n8n # Update n8n packages
1110
-
1111
- # Run Server
1112
- npm run dev # Development with auto-reload
1113
- npm run dev:http # HTTP dev mode
1114
- ```
1115
-
1116
- ## ๐Ÿ“š Documentation
1117
-
1118
- ### Setup Guides
1119
- - [Installation Guide](./docs/INSTALLATION.md) - Comprehensive installation instructions
1120
- - [Claude Desktop Setup](./docs/README_CLAUDE_SETUP.md) - Detailed Claude configuration
1121
- - [Docker Guide](./docs/DOCKER_README.md) - Advanced Docker deployment options
1122
- - [MCP Quick Start](./docs/MCP_QUICK_START_GUIDE.md) - Get started quickly with n8n-MCP
1123
-
1124
- ### Feature Documentation
1125
- - [Workflow Diff Operations](./docs/workflow-diff-examples.md) - Token-efficient workflow updates (NEW!)
1126
- - [Transactional Updates](./docs/transactional-updates-example.md) - Two-pass workflow editing
1127
- - [MCP Essentials](./docs/MCP_ESSENTIALS_README.md) - AI-optimized tools guide
1128
- - [Validation System](./docs/validation-improvements-v2.4.2.md) - Smart validation profiles
1129
-
1130
- ### Development & Deployment
1131
- - [Railway Deployment](./docs/RAILWAY_DEPLOYMENT.md) - One-click cloud deployment guide
1132
- - [HTTP Deployment](./docs/HTTP_DEPLOYMENT.md) - Remote server setup guide
1133
- - [Dependency Management](./docs/DEPENDENCY_UPDATES.md) - Keeping n8n packages in sync
1134
- - [Claude's Interview](./docs/CLAUDE_INTERVIEW.md) - Real-world impact of n8n-MCP
1135
-
1136
- ### Project Information
394
+ - [Self-Hosting Guide](./docs/SELF_HOSTING.md) - npx, Docker, Railway, and local installation
395
+ - [Security & Hardening](./docs/SECURITY_HARDENING.md) - Trust model, hardening options, workflow restrictions
396
+ - [n8n Deployment Guide](./docs/N8N_DEPLOYMENT.md) - Production deployment with n8n
397
+ - [Database Configuration](./docs/DATABASE_CONFIGURATION.md) - SQLite adapters and memory optimization
398
+ - [Privacy & Telemetry](./PRIVACY.md) - What we collect and how to opt out
399
+ - [Workflow Diff Operations](./docs/workflow-diff-examples.md) - Token-efficient workflow updates
400
+ - [HTTP Deployment](./docs/HTTP_DEPLOYMENT.md) - Remote server setup
1137
401
  - [Change Log](./CHANGELOG.md) - Complete version history
1138
- - [Claude Instructions](./CLAUDE.md) - AI guidance for this codebase
1139
- - [MCP Tools Reference](#-available-mcp-tools) - Complete list of available tools
1140
402
 
1141
- ## ๐Ÿ“Š Metrics & Coverage
1142
-
1143
- Current database coverage (n8n v2.2.3):
1144
-
1145
- - โœ… **1,084 total nodes** - 537 core + 547 community
1146
- - โœ… **301 verified** community nodes from n8n Strapi API
1147
- - โœ… **246 popular** npm community packages indexed
1148
- - โœ… **470** nodes with documentation (87% core coverage)
1149
- - โœ… **265** AI-capable tool variants detected
1150
- - โœ… **2,646** pre-extracted template configurations
1151
- - โœ… **2,709** workflow templates available (100% metadata coverage)
1152
- - โœ… **AI Agent & LangChain nodes** fully documented
1153
- - โšก **Average response time**: ~12ms
1154
- - ๐Ÿ’พ **Database size**: ~70MB (includes templates and community nodes)
1155
-
1156
- ## ๐Ÿ”„ Recent Updates
1157
-
1158
- See [CHANGELOG.md](./CHANGELOG.md) for complete version history and recent changes.
1159
-
1160
- ## ๐Ÿงช Testing
1161
-
1162
- The project includes a comprehensive test suite with **2,883 tests** ensuring code quality and reliability:
1163
-
1164
- ```bash
1165
- # Run all tests
1166
- npm test
1167
-
1168
- # Run tests with coverage report
1169
- npm run test:coverage
1170
-
1171
- # Run tests in watch mode
1172
- npm run test:watch
1173
-
1174
- # Run specific test suites
1175
- npm run test:unit # 933 unit tests
1176
- npm run test:integration # 249 integration tests
1177
- npm run test:bench # Performance benchmarks
1178
- ```
1179
-
1180
- ### Test Suite Overview
1181
-
1182
- - **Total Tests**: 2,883 (100% passing)
1183
- - **Unit Tests**: 2,526 tests across 99 files
1184
- - **Integration Tests**: 357 tests across 20 files
1185
- - **Execution Time**: ~2.5 minutes in CI
1186
- - **Test Framework**: Vitest (for speed and TypeScript support)
1187
- - **Mocking**: MSW for API mocking, custom mocks for databases
1188
-
1189
- ### Coverage & Quality
1190
-
1191
- - **Coverage Reports**: Generated in `./coverage` directory
1192
- - **CI/CD**: Automated testing on all PRs with GitHub Actions
1193
- - **Performance**: Environment-aware thresholds for CI vs local
1194
- - **Parallel Execution**: Configurable thread pool for faster runs
1195
-
1196
- ### Testing Architecture
1197
-
1198
- **Total: 3,336 tests** across unit and integration test suites
1199
-
1200
- - **Unit Tests** (2,766 tests): Isolated component testing with mocks
1201
- - Services layer: Enhanced validation, property filtering, workflow validation
1202
- - Parsers: Node parsing, property extraction, documentation mapping
1203
- - Database: Repositories, adapters, migrations, FTS5 search
1204
- - MCP tools: Tool definitions, documentation system
1205
- - HTTP server: Multi-tenant support, security, configuration
1206
-
1207
- - **Integration Tests** (570 tests): Full system behavior validation
1208
- - **n8n API Integration** (172 tests): All 18 MCP handler tools tested against real n8n instance
1209
- - Workflow management: Create, read, update, delete, list, validate, autofix
1210
- - Execution management: Trigger, retrieve, list, delete
1211
- - System tools: Health check, tool listing, diagnostics
1212
- - **MCP Protocol** (119 tests): Protocol compliance, session management, error handling
1213
- - **Database** (226 tests): Repository operations, transactions, performance, FTS5 search
1214
- - **Templates** (35 tests): Template fetching, storage, metadata operations
1215
- - **Docker** (18 tests): Configuration, entrypoint, security validation
1216
-
1217
- For detailed testing documentation, see [Testing Architecture](./docs/testing-architecture.md).
1218
-
1219
- ## ๐Ÿ“ฆ License
403
+ ## License
1220
404
 
1221
405
  MIT License - see [LICENSE](LICENSE) for details.
1222
406
 
1223
- **Attribution appreciated!** If you use n8n-MCP, consider:
1224
- - โญ Starring this repository
1225
- - ๐Ÿ’ฌ Mentioning it in your project
1226
- - ๐Ÿ”— Linking back to this repo
1227
-
1228
-
1229
- ## ๐Ÿค Contributing
1230
-
1231
- Contributions are welcome! Please:
1232
- 1. Fork the repository
1233
- 2. Create a feature branch
1234
- 3. Run tests (`npm test`)
1235
- 4. Submit a pull request
1236
-
1237
- ### ๐Ÿš€ For Maintainers: Automated Releases
1238
-
1239
- This project uses automated releases triggered by version changes:
1240
-
1241
- ```bash
1242
- # Guided release preparation
1243
- npm run prepare:release
1244
-
1245
- # Test release automation
1246
- npm run test:release-automation
1247
- ```
1248
-
1249
- The system automatically handles:
1250
- - ๐Ÿท๏ธ GitHub releases with changelog content
1251
- - ๐Ÿ“ฆ NPM package publishing
1252
- - ๐Ÿณ Multi-platform Docker images
1253
- - ๐Ÿ“š Documentation updates
1254
-
1255
- See [Automated Release Guide](./docs/AUTOMATED_RELEASES.md) for complete details.
1256
-
1257
- ## ๐Ÿ‘ Acknowledgments
1258
-
1259
- - [n8n](https://n8n.io) team for the workflow automation platform
1260
- - [Anthropic](https://anthropic.com) for the Model Context Protocol
1261
- - All contributors and users of this project
1262
-
1263
- ### Template Attribution
1264
-
1265
- All workflow templates in this project are fetched from n8n's public template gallery at [n8n.io/workflows](https://n8n.io/workflows). Each template includes:
1266
- - Full attribution to the original creator (name and username)
1267
- - Direct link to the source template on n8n.io
1268
- - Original workflow ID for reference
407
+ ## Contributing
1269
408
 
1270
- The AI agent instructions in this project contain mandatory attribution requirements. When using any template, the AI will automatically:
1271
- - Share the template author's name and username
1272
- - Provide a direct link to the original template on n8n.io
1273
- - Display attribution in the format: "This workflow is based on a template by **[author]** (@[username]). View the original at: [url]"
409
+ See [CONTRIBUTING.md](./CONTRIBUTING.md) for development setup, testing, and contribution guidelines.
1274
410
 
1275
- Template creators retain all rights to their workflows. This project indexes templates to improve discoverability through AI assistants. If you're a template creator and have concerns about your template being indexed, please open an issue.
411
+ ## Acknowledgments
1276
412
 
1277
- Special thanks to the prolific template contributors whose work helps thousands of users automate their workflows, including:
1278
- **David Ashby** (@cfomodz), **Yaron Been** (@yaron-nofluff), **Jimleuk** (@jimleuk), **Davide** (@n3witalia), **David Olusola** (@dae221), **Ranjan Dailata** (@ranjancse), **Airtop** (@cesar-at-airtop), **Joseph LePage** (@joe), **Don Jayamaha Jr** (@don-the-gem-dealer), **Angel Menendez** (@djangelic), and the entire n8n community of creators!
413
+ See [Acknowledgments](./docs/ACKNOWLEDGMENTS.md) for credits and template attribution.
1279
414
 
1280
415
  ---
1281
416
 
1282
417
  <div align="center">
1283
- <strong>Built with โค๏ธ for the n8n community</strong><br>
1284
- <sub>Making AI + n8n workflow creation delightful</sub>
418
+ <strong>Built with care for the n8n community</strong>
1285
419
  </div>