n8n-custom-mcp
Provides comprehensive tools for managing n8n workflows and credentials, including CRUD operations, webhook testing, execution debugging, validation, and backup/versioning.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@n8n-custom-mcp list all my workflows and their activation status"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
🔌 n8n-custom-mcp v2.2.1
Full-power MCP Server cho n8n — Dành cho AI Agent thực sự muốn làm chủ workflow.
Tính năng · Cài đặt · Cấu hình · Sử dụng · Đóng góp
❓ Tại sao cần repo này?
Các MCP Server hiện tại cho n8n (ví dụ czlonkowski/n8n-mcp) chỉ hỗ trợ đọc và chạy workflow. Bạn không thể tạo mới, chỉnh sửa, xoá, hay test webhook từ AI agent.
n8n-custom-mcp giải quyết triệt để vấn đề này bằng cách cung cấp 31 tools bao phủ toàn bộ vòng đời quản lý workflow và credentials:
Khả năng | MCP Server khác | n8n-custom-mcp |
Liệt kê & Xem workflow | ✅ | ✅ |
Chạy workflow | ✅ | ✅ |
Bật / Tắt workflow | ✅ | ✅ |
Tạo mới workflow | ❌ | ✅ |
Sửa workflow | ❌ | ✅ |
Xoá workflow | ❌ | ✅ |
Test Webhook (kể cả test mode) | ❌ | ✅ |
Xem lịch sử execution | ❌ | ✅ |
Debug chi tiết execution | ❌ | ✅ |
Liệt kê node types | ❌ | ✅ |
Quản lý Credentials | ❌ | ✅ |
Related MCP server: n8n-MCP
🚀 Tính năng
📋 Workflow CRUD
Tạo, đọc, sửa, xoá workflow hoàn toàn qua MCP — AI agent có thể tự xây dựng workflow từ đầu bằng ngôn ngữ tự nhiên.
🔐 Credentials Management (NEW in v2.0)
Quản lý credentials hoàn toàn tự động:
Tạo, cập nhật, xoá credentials với validation schema.
Liệt kê credentials từ workflows và database fallback.
Test credential validity trực tiếp từ MCP.
Safety checks ngăn chặn xoá credentials đang được sử dụng bởi workflows.
✅ Workflow Validation & Linting (NEW in v2.0)
Hệ thống kiểm tra thông minh giúp AI agent tự tin hơn khi deploy:
Structure: Kiểm tra JSON, duplicate IDs, connections và circular loops.
Credentials: Xác thực mapping credentials và yêu cầu của node.
Expressions: Validate cú pháp JavaScript và biến trong biểu thức
{{ }}.Linter: Phát hiện orphaned nodes, hardcoded secrets và đặt tên không rõ ràng.
Suggestions: Gợi ý tối ưu hóa cấu trúc (Set nodes, Error handling, Batching).
💾 Backup & Versioning (NEW in v2.0)
An toàn tuyệt đối cho workflow của bạn:
Auto-backup: Tự động lưu bản sao trước khi thực hiện các thay đổi quan trọng.
Versioning: Lưu trữ tối đa 10 phiên bản cục bộ cho mỗi workflow.
Restore: Khôi phục nhanh chóng về bất kỳ phiên bản nào trong lịch sử.
Diff: So sánh sự khác biệt cấu trúc giữa các phiên bản.
🎯 Webhook Testing
Tool trigger_webhook hỗ trợ:
Gọi webhook với đầy đủ HTTP methods (GET/POST/PUT/DELETE).
Test mode (
/webhook-test/) để hiển thị dữ liệu trực quan trên n8n Editor.Production mode (
/webhook/) cho các webhook đã active.Custom headers & query parameters.
🔍 Execution Debugging
Theo dõi và khắc phục lỗi thời gian thực:
Liệt kê lịch sử chạy, lọc theo trạng thái (success/error/waiting).
Xem chi tiết input/output data của từng node cụ thể.
Đọc thông báo lỗi chi tiết để AI có thể tự sửa lỗi logic.
🐳 Docker-Ready
Đóng gói tối ưu với:
Multi-stage build (Node 20 Alpine).
Tích hợp
postgresql-clientcho DB fallback.Healthcheck tự động giám sát trạng thái server.
Native SSE & Hybrid Support: Tự động hỗ trợ các client LobeHub, Claude Desktop và Browser.
📦 Cài đặt nhanh
Yêu cầu
n8n instance đang chạy (hoặc chạy cùng docker-compose)
Bước 1: Clone
git clone https://github.com/duynghien/n8n-custom-mcp.git
cd n8n-custom-mcpBước 2: Cấu hình biến môi trường
cp .env.example .envChỉnh sửa file .env:
N8N_HOST=http://n8n:5678 # URL nội bộ Docker
N8N_API_KEY=your_api_key_here # Tạo tại n8n → Settings → APIBước 3: Chạy
Standalone (chỉ MCP server):
docker compose up -d --buildTích hợp vào n8n stack có sẵn:
Thêm service sau vào file docker-compose.yml của bạn:
n8n-mcp:
build:
context: ./n8n-custom-mcp
restart: always
ports:
- "3000:3000"
environment:
- N8N_HOST=http://n8n:5678
- N8N_API_KEY=${N8N_API_KEY}
- MCP_TRANSPORT=sse
- PORT=3000Bước 4: Kết nối LobeHub/OpenClaw
Trong phần cấu hình MCP Plugin:
Trường | Giá trị |
Type | MCP (Streamable HTTP) |
URL |
|
Sau khi kết nối, bạn sẽ thấy 31 tools xuất hiện. ✅
Bước 5: Setup MCP cho Coding Agents (Claude Code, Codex, Antigravity, Cursor)
Server này hỗ trợ tốt nhất qua Streamable HTTP:
URL:
http://localhost:3000/mcpMethod:
POSTHeader gợi ý:
Accept: application/json, text/event-stream
Nếu agent của bạn hỗ trợ MCP dạng JSON mcpServers, dùng mẫu chung sau:
{
"mcpServers": {
"n8n-custom-mcp": {
"type": "streamable-http",
"url": "http://localhost:3000/mcp"
}
}
}Claude Code
Mở phần cấu hình MCP của Claude Code.
Thêm server
n8n-custom-mcptheo mẫu trên.Reload session, chạy
tools/listđể verify đã thấy đầy đủ tools.
Codex
Mở MCP config của Codex.
Khai báo
n8n-custom-mcpvớitype=streamable-http,url=http://localhost:3000/mcp.Reload agent rồi test bằng call
list_workflows.
Antigravity
Vào phần MCP/Tools integration.
Thêm MCP endpoint
http://localhost:3000/mcptheo mẫumcpServers.Kết nối lại agent và kiểm tra tool
tools/list.
Cursor
Mở MCP config trong Cursor.
Thêm
n8n-custom-mcpvớitype: "streamable-http"và URL như trên.Reload Cursor rồi thử gọi
get_workflowhoặclist_workflows.
Fallback: stdio (khi agent không hỗ trợ streamable-http)
Build trước:
npm run buildMẫu cấu hình stdio:
{
"mcpServers": {
"n8n-custom-mcp-stdio": {
"command": "node",
"args": ["/absolute/path/to/n8n-custom-mcp/dist/index.js"],
"env": {
"N8N_HOST": "http://localhost:5678",
"N8N_API_KEY": "your_api_key_here",
"MCP_TRANSPORT": "stdio"
}
}
}
}⚙️ Cấu hình
Biến môi trường
Biến | Bắt buộc | Mặc định | Mô tả |
| ✅ |
| URL đến n8n instance |
| ✅ | — | API Key từ n8n Settings |
| ❌ |
| Port cho MCP HTTP endpoint |
Ghi chú cho DB Fallback: Để sử dụng tính năng liệt kê credentials từ database khi API bị hạn chế, hãy đảm bảo container MCP có quyền truy cập vào mạng của Postgres và cấu hình các biến
DB_POSTGRESDB_*tương ứng.
Persistence
Để lưu trữ các bản backup workflow bền vững qua các lần khởi động lại Docker, hãy mount volume cho thư mục /app/backups:
volumes:
- ./backups:/app/backupsNative Transport (NEW)
Từ v2.2.0, server chạy native SSE trực tiếp. Không cần cài đặt thêm supergateway.
💡 Sử dụng
Danh sách 31 Tools
Workflow Management (12 tools)
Tool | Mô tả |
| Liệt kê workflows (lọc theo active, limit, tags) |
| Xem chi tiết JSON của workflow |
| Tạo workflow mới từ JSON definition |
| Cập nhật workflow (tên, nodes, connections...) |
| Xoá workflow |
| Bật hoặc tắt workflow |
| Chạy workflow theo ID |
| Gọi webhook endpoint (hỗ trợ test mode) |
| Xem lịch sử chạy, lọc theo status/workflow |
| Xem chi tiết execution (data, errors) |
| Liệt kê các node types đang cài |
| Kiểm tra lỗi cấu trúc workflow trước khi deploy |
Credentials Management (6 tools)
Tool | Mô tả |
| Lấy schema (required fields) của credential type |
| Liệt kê credentials (từ workflows + database) |
| Tạo credential mới với validation |
| Cập nhật credential existing |
| Xoá credential (có safety check) |
| Test credential validity tự động |
Template System (4 tools)
Tool | Mô tả |
| Tìm kiếm workflow mẫu từ thư viện n8n.io |
| Lấy chi tiết JSON của một template |
| Import template vào n8n với dependency resolution |
| Export workflow thành template an toàn (đã xóa credentials) |
Validation & Linting (5 tools)
Tool | Mô tả |
| Kiểm tra lỗi cấu trúc workflow trước khi deploy |
| Kiểm tra credentials references và node requirements |
| Validate expressions JS và variable references |
| Linter phát hiện lỗi logic, orphaned nodes và security |
| Gợi ý tối ưu hóa workflow dựa trên cấu trúc |
Backup & Versioning (4 tools)
Tool | Mô tả |
| Tạo bản sao lưu nhanh cho workflow |
| Xem danh sách các bản sao lưu |
| Khôi phục workflow từ một bản backup (có auto-backup an toàn) |
| So sánh sự khác biệt giữa 2 phiên bản workflow |
Ví dụ: AI tự tạo workflow với credentials
Bạn: "Tạo workflow post GitHub issues to Slack"
AI tự động:
1. list_credentials → Check GitHub + Slack credentials
2. get_credential_schema → Lấy schema githubApi
3. create_credential → Tạo GitHub credential (yêu cầu token từ user)
4. test_credential → Verify GitHub token valid
5. create_credential → Tạo Slack credential
6. create_workflow → Tạo workflow với cả 2 credentials
7. activate_workflow → Bật workflow ✅Ví dụ: Tự tạo & test webhook workflow
Bạn: "Tạo webhook nhận email từ Outlook, lấy subject và sender"
AI tự động thực hiện:
1. create_workflow → Tạo workflow với Webhook + Set node
2. activate_workflow → Bật workflow
3. trigger_webhook → Gửi POST test data
4. list_executions → Kiểm tra kết quả
5. get_execution → Đọc output → Xác nhận thành công ✅Nâng cao: Kết hợp n8n-skills
Để AI agent thông minh hơn khi tạo workflow, hãy nhúng kiến thức từ czlonkowski/n8n-skills vào System Prompt. Xem USAGE.md để biết chi tiết.
🏗 Kiến trúc
LobeHub / OpenClaw
│
│ MCP (Streamable HTTP)
▼
┌──────────────────────┐
│ n8n-custom-mcp │
│ (supergateway) │
│ :3000/mcp │
│ │
│ 31 MCP Tools │
│ TypeScript + Axios │
└──────────┬───────────┘
│ REST API (nội bộ Docker)
▼
┌──────────────────────┐
│ n8n Instance │
│ :5678 │
│ │
│ PostgreSQL + Redis │
└──────────────────────┘🌐 SSE & Hybrid Transport (NEW in v2.2)
Server hỗ trợ Native Server-Sent Events (SSE), tích hợp sẵn trong mã nguồn.
Tính năng
✅ Real-time streaming: Nhận responses qua SSE events
✅ Browser compatible: Sử dụng EventSource API hoặc fetch()
✅ CORS enabled: Browser clients có thể connect từ bất kỳ origin nào
✅ Session management: Hỗ trợ custom headers (MCP-Session-Id)
✅ Keep-alive connections: Persistent connections cho long-running operations
Quick Start với SSE
Browser Client (fetch API):
const response = await fetch('http://localhost:3000/mcp', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Accept': 'application/json, text/event-stream',
},
body: JSON.stringify({
jsonrpc: '2.0',
method: 'tools/list',
id: 1,
}),
});
const reader = response.body.getReader();
const decoder = new TextDecoder();
while (true) {
const { done, value } = await reader.read();
if (done) break;
const chunk = decoder.decode(value);
// Parse SSE format: "event: message\ndata: {...}\n\n"
const lines = chunk.split('\n');
for (const line of lines) {
if (line.startsWith('data: ')) {
const data = JSON.parse(line.slice(6));
console.log('Received:', data);
}
}
}Node.js Client:
const EventSource = require('eventsource');
// Note: EventSource chỉ hỗ trợ GET, dùng fetch() cho POST requests
const response = await fetch('http://localhost:3000/mcp', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Accept': 'application/json, text/event-stream',
},
body: JSON.stringify({
jsonrpc: '2.0',
method: 'list_workflows',
id: 1,
}),
});
// Process SSE stream
for await (const chunk of response.body) {
const text = chunk.toString();
// Parse SSE events...
}cURL Testing:
curl -N -X POST http://localhost:3000/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","method":"tools/list","id":1}'Chi tiết
📖 SSE Integration Guide: Hướng dẫn tích hợp chi tiết
🏗️ System Architecture: Kiến trúc SSE transport layer
🔧 Troubleshooting SSE: Xử lý lỗi thường gặp
💻 Example Clients: Browser và Node.js client examples
🔒 Bảo mật
⚠️ KHÔNG bao giờ hardcode API Key trong source code
File
.envđã được thêm vào.gitignoreMCP server giao tiếp với n8n qua mạng Docker nội bộ
Webhook client không gửi API Key (mô phỏng request từ bên ngoài)
SSE endpoint không có authentication (chỉ dùng cho internal/local development)
🤝 Đóng góp
Mọi đóng góp đều được chào đón! Xem CONTRIBUTING.md để biết chi tiết.
Một vài ý tưởng:
Thêm
search_templates— tìm workflow mẫu từ n8n.ioThêm
get_credentials— quản lý credentials qua MCPThêm tool
import_workflow/export_workflowThêm hệ thống
Validation & LintingThêm hệ thống
Backup & VersioningHỗ trợ SSE transport
Viết test cases
💡 Tài liệu chi tiết
📖 Hướng dẫn sử dụng (USAGE.md): Các kịch bản tích hợp AI Agent và n8n-skills.
🛠 API Reference (API.md): Mô tả chi tiết input/output của toàn bộ 31 tools.
🤝 Hướng dẫn đóng góp (CONTRIBUTING.md): Quy trình phát triển và cấu trúc dự án.
📅 Lộ trình (project-roadmap.md): Trạng thái hoàn thiện các Phase.
📝 License
MIT License — Sử dụng thoải mái cho mục đích cá nhân và thương mại.
🙏 Credits
Lấy cảm hứng từ czlonkowski/n8n-mcp
Kiến thức n8n từ czlonkowski/n8n-skills
MCP Protocol: modelcontextprotocol.io
n8n — Workflow Automation Platform
Nếu thấy hữu ích, hãy ⭐ star repo để ủng hộ!
Made with ❤️ by duynghien
Available Tools
31 toolsactivate_workflowC
Activate or deactivate a workflow
Inputs: id (required), active (required).
backup_workflowA
Create a backup snapshot of a workflow before making changes
Inputs: workflowId (required), description.
create_credentialC
Create a new credential with automatic validation against schema
Inputs: data (required), name (required), type (required), nodesAccess.
create_workflowC
Create a new workflow
Inputs: name (required), nodes, active, settings, +1 more.
delete_credentialA
Delete a credential with safety checks (blocks if in use unless forced)
Inputs: id (required), force.
delete_workflowC
Delete a workflow
Inputs: id (required).
diff_workflow_versionsA
Compare two workflow backup versions to see what changed (nodes added/removed/modified)
Inputs: backupId1 (required), backupId2 (required), workflowId (required).
execute_workflowC
Manually trigger a workflow
Inputs: id (required).
export_workflow_as_templateB
Export workflow as JSON template (safe for sharing)
Inputs: workflowId (required), stripIds, includeCredentials.
get_credential_schemaA
Get required fields and structure for a credential type before creating it
Inputs: credentialType (required).
get_executionA
Get full details of a specific execution for debugging
Inputs: id (required).
get_node_schemaA
Get the parameter schema for a specific n8n node type. Use this to understand what inputs/options a node accepts.
Inputs: nodeName (required).
get_template_detailsB
Get full workflow JSON for a template
Inputs: id (required).
get_workflowA
Get detailed information about a workflow (nodes, connections, settings)
Inputs: id (required).
import_templateB
Import template as new workflow with dependency resolution
Inputs: templateId (required), importInactive, credentialMapping, skipNodeValidation.
lint_workflowA
Lint workflow for best practices. Checks: orphaned nodes, missing error handling, generic node names, hardcoded secrets, and loops without limits. Returns score (0-100) and list of issues.
Inputs: workflow (required).
list_credentialsA
List all credentials available in n8n (parsed from workflows + database fallback)
Inputs: type.
list_executionsC
List recent workflow executions to check status
Inputs: limit, status, workflowId, includeData.
list_node_typesA
List available node types in this n8n instance
Inputs: no named parameters.
list_workflow_backupsA
List all backup versions for a workflow with metadata (timestamp, size, description)
Inputs: workflowId (required).
list_workflowsB
List all workflows in n8n
Inputs: tags, limit, active.
restore_workflowA
Restore a workflow to a previous backup version (auto-backups current state first)
Inputs: backupId (required), workflowId (required), autoBackupCurrent.
search_templatesB
Search n8n.io template library for workflow templates
Inputs: query (required), category.
suggest_workflow_improvementsA
Analyze workflow and suggest improvements. Identifies: missing Set nodes for data transformation, missing error handling, slow loops, hardcoded values that should use credentials, missing triggers, and opportunities for merge nodes.
Inputs: workflow (required).
test_credentialA
Test credential validity by creating a temporary workflow (heavy operation - use sparingly)
Inputs: credentialId (required).
trigger_webhookB
Trigger a webhook endpoint for testing
Inputs: webhook_path (required), body, method, headers, +2 more.
update_credentialB
Update an existing credential (name, data, or node access)
Inputs: id (required), data, name, nodesAccess.
update_workflowC
Update an existing workflow
Inputs: id (required), name, nodes, active, +2 more.
validate_workflow_credentialsA
Validate workflow credentials before deployment. Checks: credential IDs exist, credential types match node requirements, and optionally tests credential validity.
Inputs: workflow (required), testCredentials.
validate_workflow_expressionsA
Validate n8n expressions {{ }} in workflow. Checks: syntax errors in expressions, valid variable references ($json, $node, $vars), and warns about complex logic that should use Code node.
Inputs: workflow (required).
validate_workflow_structureA
Validate workflow structure before creation/deployment to catch errors early. Checks for: required fields, unique node IDs/names, valid node types, valid connections, circular dependencies, trigger nodes, and disabled node warnings.
Inputs: workflow (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 31 tools
Most tools target distinct resources and actions, but there is notable overlap among the analysis tools: lint_workflow and suggest_workflow_improvements both check error handling, hardcoded values, and loops, while validate_workflow_credentials and test_credential both validate credential validity. Detailed descriptions help, but an agent could easily select the wrong validation tool.
All 31 tools follow a consistent snake_case verb_noun pattern, such as list_workflows, create_credential, restore_workflow, and diff_workflow_versions. Even longer names like export_workflow_as_template and validate_workflow_structure remain predictable and readable.
31 tools is above the 25+ threshold and feels heavy for a single MCP server. While the n8n administration scope is broad, several validation, linting, suggestion, and backup tools could be consolidated without losing core capability.
The tool surface covers workflow CRUD, activation, execution, validation, linting, templates, backups, credentials, and node schemas, so agents have no major dead ends in the primary n8n workflow lifecycle. Minor gaps remain around execution lifecycle operations, such as retrying or deleting executions, and there is no workflow tagging or categorization support.
Maintenance
Related MCP Connectors
Open-source Zapier/n8n alternative as an MCP server: agents build, run and debug your workflows.
Build and run AI workflows, agents, data tables and 1000+ API integrations from any MCP client.
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
Related MCP Servers
- AlicenseAqualityDmaintenance🪄 MCP server for programmatic creation and management of n8n workflows. Enables AI assistants to build, modify, and manage workflows without direct user intervention through a comprehensive set of tools and resources for interacting with n8n's REST API.1029 npm86MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that provides AI assistants with access to documentation, schemas, and operations for over 535 n8n workflow automation nodes. It enables models to understand, create, and manage n8n workflows through natural language by connecting to the n8n API.52,905 npmMIT
- AlicenseBqualityDmaintenanceA comprehensive MCP server that provides full control over n8n automation workflows through natural language. It offers 43 tools for managing workflows, executions, credentials, and data tables, with safety features like write-mode protection and double-validated workflow creation.431MIT
- AlicenseBqualityBmaintenanceMCP server for managing n8n workflows through AI assistants. Supports workflow CRUD operations, synchronization, inspection, and execution support for automation-focused workflows.19156 npm2MIT