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 +71 -937
- package/dist/http-server-single-session.d.ts.map +1 -1
- package/dist/http-server-single-session.js +44 -91
- package/dist/http-server-single-session.js.map +1 -1
- package/dist/services/expression-validator.d.ts.map +1 -1
- package/dist/services/expression-validator.js +3 -0
- package/dist/services/expression-validator.js.map +1 -1
- package/dist/services/node-specific-validators.d.ts.map +1 -1
- package/dist/services/node-specific-validators.js +9 -6
- package/dist/services/node-specific-validators.js.map +1 -1
- package/dist/services/workflow-validator.d.ts.map +1 -1
- package/dist/services/workflow-validator.js +38 -17
- package/dist/services/workflow-validator.js.map +1 -1
- package/package.json +1 -1
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
|
-
-
|
|
19
|
-
-
|
|
20
|
-
-
|
|
21
|
-
-
|
|
22
|
-
-
|
|
23
|
-
-
|
|
24
|
-
-
|
|
25
|
-
-
|
|
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
|
-
[](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
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
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
|
-
|
|
45
|
+
AI results can be unpredictable. Protect your work!
|
|
451
46
|
|
|
452
|
-
|
|
47
|
+
## Quick Start
|
|
453
48
|
|
|
454
|
-
**
|
|
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
|
-
**
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
**
|
|
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
|
-
##
|
|
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
|
-
##
|
|
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
|
-
|
|
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
|
-
|
|
497
|
-
|
|
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
|
-
|
|
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
|
-
##
|
|
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
|
-
|
|
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
|
-
-
|
|
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
|
-
###
|
|
173
|
+
### Never Trust Defaults
|
|
607
174
|
Default values cause runtime failures. Example:
|
|
608
175
|
```json
|
|
609
|
-
//
|
|
176
|
+
// FAILS at runtime
|
|
610
177
|
{resource: "message", operation: "post", text: "Hello"}
|
|
611
178
|
|
|
612
|
-
//
|
|
179
|
+
// WORKS - all parameters explicit
|
|
613
180
|
{resource: "message", operation: "post", select: "channel", channelId: "C123", text: "Hello"}
|
|
614
181
|
```
|
|
615
182
|
|
|
616
|
-
###
|
|
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:
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
###
|
|
250
|
+
### CRITICAL: addConnection Syntax
|
|
684
251
|
|
|
685
252
|
The `addConnection` operation requires **four separate string parameters**. Common mistakes cause misleading errors.
|
|
686
253
|
|
|
687
|
-
|
|
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
|
-
###
|
|
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
|
-
##
|
|
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
|
|
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
|
|
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
|
|
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 (
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
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
|
-
##
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
411
|
+
## Acknowledgments
|
|
1276
412
|
|
|
1277
|
-
|
|
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
|
|
1284
|
-
<sub>Making AI + n8n workflow creation delightful</sub>
|
|
418
|
+
<strong>Built with care for the n8n community</strong>
|
|
1285
419
|
</div>
|