
n8n MCP: nối n8n với Claude Code, Cursor qua MCP
Đăng 9 phút đọc
Mục lục · 17
n8n MCP là máy chủ MCP có sẵn trong n8n 2.x, cho Claude Code, Cursor hay Claude.ai liệt kê, chạy và dựng workflow trên n8n của bạn. Bài này bật thử trên bản tự host 2.42.5, nối Claude Code bằng một lệnh, đo thời gian thật, chỉ ra chỗ lộ tên workflow và cách gỡ sạch.
n8n MCP là máy chủ MCP (Model Context Protocol) có sẵn trong n8n 2.x: bật một công tắc trong Settings là các trợ lý AI như Claude Code, Cursor, Claude.ai kết nối được vào n8n của bạn để tìm, chạy và cả dựng workflow. Bạn chọn từng workflow được phép dùng, xác thực bằng OAuth hoặc API key.
Mình bật thử trên n8n 2.42.5 tự host và nối Claude Code 2.1.295 vào ngày 09/10/2026. Kết quả chính:
Bật MCP là một công tắc trong Settings, nối Claude Code là một lệnh
claude mcp add, không cài thêm gì.Claude Code gọi workflow tính tiền đơn hàng, trả đúng tổng 189.000đ sau 24 giây.
Nhờ Claude Code dựng workflow mới 4 node theo mô tả tiếng Việt: xong sau 55 giây, publish lên chạy đúng cả 3 ca thử.
Workflow chưa bật MCP thì không chạy được, nhưng tên của nó vẫn hiện ra khi AI tìm workflow.
Chưa rõ n8n là gì thì đọc n8n là gì trước. Chưa có n8n để thử thì làm theo bài tự host n8n bằng Docker, cài mất khoảng một phút.

Banner: README repo n8n-io/n8n trên GitHub.
n8n MCP dùng để làm gì?
MCP là chuẩn mở để trợ lý AI gọi công cụ bên ngoài. Khi n8n làm MCP server, mỗi workflow bạn cho phép trở thành một việc AI làm được: "tính tiền đơn này", "lấy tỷ giá hôm nay", "gửi báo cáo cho kế toán". AI không cần biết API của từng hệ thống, nó chỉ gọi workflow, phần nối Google Sheets, Zalo, cơ sở dữ liệu nằm trong n8n.
Có ba thứ hay bị nhầm vì cùng chữ MCP:
Tên | Nằm ở đâu | Làm gì |
|---|---|---|
Instance-level MCP | Settings của n8n 2.x | Cả n8n thành MCP server cho Claude, Cursor (bài này) |
Node MCP Server Trigger | Trong một workflow | Biến riêng workflow đó thành MCP server có tool tự định nghĩa |
Node MCP Client Tool | Trong AI Agent của n8n | Cho agent trong n8n gọi MCP server bên ngoài |
Bài này chỉ thử cái đầu tiên. Hai node còn lại mình chưa test nên không đưa số.
Bật MCP trong Settings của n8n thế nào?
Vào Settings → Instance-level MCP, bấm Enable MCP access (tài liệu gốc: Connect to n8n MCP server). Trang mô tả thẳng mục đích: để Claude Code, Cursor dựng, chạy và sửa workflow trong instance của bạn.

Bật xong, trang hiện thêm phần Access. Ba chỗ cần để ý:
Workflows enabled: mặc định 0 workflow. AI chỉ chạy được workflow bạn chọn ở đây, hoặc bật trên thẻ workflow trong danh sách.
Auto-expose new workflows: tắt sẵn. Nên để tắt, nếu không mọi workflow tạo sau này tự lộ ra cho AI.
Allowed callback URLs: mặc định "All". Chính n8n ghi là kém an toàn hơn; dùng OAuth thì nên giới hạn về địa chỉ client của bạn.

Nối Claude Code vào n8n bằng lệnh nào?
Bấm Connect để mở hộp "Connect a client". Có hai tab. Tab OAuth (recommended) chọn client, với Claude.ai có nút "Add to Claude.ai" bấm một lần. Server URL lấy theo N8N_EDITOR_BASE_URL, nên n8n phải có tên miền HTTPS thì Claude.ai bản web mới gọi tới được.

Tab API key cho một access token (mình đếm được 272 ký tự) kèm đoạn JSON cấu hình mcpServers. Token chỉ hiện một lần, đóng hộp là phải tạo lại.

Claude Code chạy trên máy mình nên không cần tên miền: mình mở SSH tunnel từ máy chủ n8n về 127.0.0.1:5678 rồi thêm server bằng API key. Dùng --scope local để cấu hình chỉ nằm trong dự án hiện tại, không lan sang dự án khác:
claude mcp add --transport http --scope local n8n-lab \
http://127.0.0.1:5678/mcp-server/http \
--header "Authorization: Bearer <API key>"
claude mcp list

Với Cursor hay client khác, dán đoạn Configuration JSON trong tab API key vào file cấu hình MCP của client đó. Mình chưa thử Cursor trong đợt này.
Cho Claude Code chạy workflow n8n
Workflow mình bật MCP là "Webhook tính tiền đơn hàng": nhận món và giá, cộng VAT 8%, trả tổng. Mình hỏi Claude Code ở chế độ không tương tác (claude -p):
claude -p "Dùng n8n (MCP server n8n-lab): liệt kê các workflow mình được phép dùng, rồi chạy workflow tính tiền đơn hàng cho khách 'Cô Mai' đặt 3 bát phở bò giá 55000 và 2 trà đá giá 5000." \
--allowedTools "mcp__n8n-lab__*"

Sau 24 giây Claude Code báo đúng: tạm tính 175.000đ, VAT 14.000đ, tổng 189.000đ. Phép tính do workflow làm, không phải model tự nhẩm. Bài n8n là gì có số đo cho thấy model nhỏ tự tính tiền sai tới 5/10 lần, nên giao phần tính cho workflow là đúng hướng.
Ở đợt thử trước, gọi qua HTTPS trên tên miền thật, initialize mất 1,39 giây, execute_workflow chạy xong trong 1,9 giây. Phần lớn 24 giây ở trên là thời gian Claude suy nghĩ và gọi vài tool liên tiếp.
Nhờ Claude Code dựng workflow mới
n8n 2.42.5 có 50 tool MCP, trong đó có tool dựng workflow từ code. Mình yêu cầu:
Tạo workflow "Báo đơn lớn": Webhook nhận POST có
khachvàtong, nếutonglớn hơn 1.000.000 thì trả{"canh_bao": true, "loi_nhan": "Đơn lớn của <khach>"}, ngược lại trả{"canh_bao": false}.
Sau 55 giây Claude Code báo xong: nó đọc tài liệu SDK và best practices mà n8n MCP cung cấp, lấy kiểu node, kiểm tra code rồi mới tạo. Workflow có 4 node, tên node tiếng Việt, và chưa publish. Claude Code nói rõ việc này, không tự bật.

Mình publish rồi gọi thử 3 ca bằng curl:
curl -X POST http://127.0.0.1:5678/webhook/bao-don-lon \
-H 'Content-Type: application/json' -d '{"khach":"Anh Nam","tong":2500000}'
Gửi lên | n8n trả về |
|---|---|
|
|
|
|
|
|
Ca thứ ba Claude Code đã tính trước: nó ghi chú node IF tự đổi chuỗi sang số khi so sánh. Một điểm cần biết: workflow do AI tạo qua MCP tự được bật MCP. Trong danh sách, "Báo đơn lớn" có biểu tượng MCP giống workflow mình bật tay, còn "Tỷ giá Vietcombank" thì không.

Workflow chưa bật MCP thì sao?
Mình bảo Claude Code chạy workflow "Tỷ giá Vietcombank mỗi sáng", workflow này chưa bật MCP. Nó không chạy được và trả lỗi nguyên văn của n8n, kèm đường dẫn để bật. Claude Code cũng không tự đổi quyền.

Chỗ chưa kín: tool search_workflows vẫn trả về tên workflow chưa bật MCP (kèm availableInMCP: false). Ngay câu hỏi đầu, Claude Code đã liệt kê "Tỷ giá Vietcombank" dù không được dùng. Nếu tên workflow của bạn lộ thông tin nhạy cảm, ví dụ tên khách hàng, hãy đổi tên trước khi bật MCP.
Không kèm token, hoặc token sai, n8n trả 401 (nguyên văn ở mục lỗi bên dưới).
Gỡ MCP khỏi Claude Code cho sạch
Thử xong mình gỡ ngay, rồi kiểm lại file cấu hình:
claude mcp remove n8n-lab --scope local
claude mcp list | grep n8n
grep -c n8n-lab ~/.claude.json

Phía n8n, nếu API key đã lộ hoặc không dùng nữa, bấm nút xoay vòng cạnh Access token để tạo key mới. Mình thử: key cũ bị trả 401 ngay, key mới vẫn 200. Không dùng nữa thì tắt luôn MCP status.
Những lỗi mình gặp khi nối Claude Code với n8n
Lỗi | Nguyên nhân | Cách sửa |
|---|---|---|
| Workflow chưa bật MCP | Bật trên thẻ workflow hoặc trong Workflows enabled |
| Client không gửi header | Thêm |
| Token sai hoặc đã xoay vòng | Lấy token mới ở tab API key |
Webhook trả | Workflow AI vừa tạo chưa publish | Mở workflow, bấm Publish |
Claude.ai không kết nối được | Server URL là | Gắn tên miền HTTPS, đặt |
Nguyên văn hai lỗi mình gặp nhiều nhất. Khi workflow chưa bật MCP:
Workflow is not available in MCP. Enable MCP access from the workflow card in the workflows list, or from the workflow settings: http://localhost:5678/workflow/ydNLsEyODALiVecn?settings=true
Khi gọi /mcp-server/http thiếu token và khi token sai (cả hai đều 401):
{"message":"Unauthorized: Authorization header not sent"}
{"message":"Unauthorized"}
Lỗi 404 khi workflow chưa publish có nguyên văn đầy đủ trong bài tự host n8n bằng Docker.
Khi nào không nên bật MCP cho n8n?
n8n chứa workflow chạm tiền thật hoặc dữ liệu khách mà chưa có phân quyền rõ. MCP cho AI tạo và sửa workflow, một câu lệnh mơ hồ có thể đẻ ra workflow sai.
Bạn không theo dõi được AI đã tạo gì. Workflow mới tự bật MCP, nên định kỳ xem lại danh sách.
Chỉ cần gọi một hai workflow cố định: một webhook có khóa bí mật đơn giản hơn, không cần mở 50 tool cho AI.
Câu hỏi thường gặp
n8n MCP có trong bản tự host miễn phí không?
Có. Mình bật trên n8n 2.42.5 cài bằng Docker, bản Community miễn phí, không cần license. Hộp "Connect a client" có từ n8n 2.33.0 theo tài liệu của n8n.
Dùng MCP của n8n có cần tên miền HTTPS không?
Claude.ai bản web cần, vì nó gọi từ máy chủ của Anthropic tới n8n của bạn. Claude Code, Cursor chạy trên máy bạn thì gọi được localhost hoặc qua SSH tunnel như trong bài. Cách gắn HTTPS khi không có IP tĩnh có trong bài tự host n8n.
AI có tự publish workflow không?
Trong lần thử của mình thì không: Claude Code tạo xong để nguyên trạng thái chưa publish và hỏi lại. Danh sách 50 tool có tool publish, nên nếu bạn ra lệnh thẳng thì nó làm được. Cho quyền tới đâu là do câu lệnh và cấu hình --allowedTools của bạn.
n8n MCP khác node MCP Server Trigger thế nào?
Instance-level MCP mở cả n8n với bộ tool có sẵn (tìm, chạy, dựng workflow). Node MCP Server Trigger nằm trong một workflow, bạn tự định nghĩa từng tool, hợp khi chỉ muốn đưa ra vài việc cụ thể.
Đọc tiếp
n8n là gì: workflow đầu tiên, trợ lý AI chạy Ollama, số đo AI tính tiền.
Tự host n8n bằng Docker: VPS cấu hình nào, khóa cổng 5678, HTTPS không cần IP tĩnh.
n8n 3.0 có gì mới: node bị xóa, Migration report.
Muốn dựng n8n để thử MCP mà chưa có máy chủ, AIDev Cloud cho thuê máy theo giờ; máy CPU 16 nhân 32GB dùng trong bài có giá 3.000 đồng/giờ ngày 09/10/2026.
Thử ngày 09/10/2026 trên máy CPU Standard (16 nhân, 32GB RAM, Ubuntu 24.04) của AIDev Cloud: n8n 2.42.5, Docker 29.6.1, Docker Compose 5.3.0, Claude Code 2.1.295. Số đo qua HTTPS lấy từ đợt thử ngày 08/10/2026 trên máy Tesla P40.
Chuyên mục
AI AutomationVề tác giả
Founder AIDev
Thạc sĩ AI MSE, tốt nghiệp thủ khoa với điểm 9,4/10. Đồng sáng lập, CTO E-University, SVOnline: số hóa 10+ đại học, 40.000+ sinh viên. Sáng lập AIDev và VietPlatform, xây hệ thống AI cho doanh nghiệp. Anh trực tiếp biên soạn và giảng dạy toàn bộ lộ trình AI Engineer.


