n8n-MCP zelf hosten (npx, Docker, lokale build)
Gebaseerd op czlonkowski/n8n-mcp @ f895e5e, licentie MIT
Dit bestand is door ToolBrain vertaald en inhoudelijk gewijzigd op 2026-08-30, op basis van
"Self-Hosting Options" uit czlonkowski/n8n-mcp (MIT), zie
https://github.com/czlonkowski/n8n-mcp/blob/f895e5ecc732aed31e2ca9748027034f5b19cccd/docs/SELF_HOSTING.md
en ../LICENSES/n8n-mcp-MIT.txt.
Wil je n8n-MCP liever zelf draaien in plaats van via een cloud-deploy (zie het aparte item over Railway)? Er zijn drie manieren, oplopend in complexiteit: direct via npx, via Docker, of een lokale build vanuit de broncode.
Optie 1: npx (snelste lokale setup)
Vereist: Node.js op je systeem.
npx n8n-mcpVoeg toe aan de Claude Desktop-config:
{
"mcpServers": {
"n8n-mcp": {
"command": "npx",
"args": ["n8n-mcp"],
"env": {
"MCP_MODE": "stdio",
"LOG_LEVEL": "error",
"DISABLE_CONSOLE_OUTPUT": "true"
}
}
}
}Belangrijk: MCP_MODE: "stdio" is verplicht. Ontbreekt die, dan zie je in Claude Desktop
foutmeldingen als "Unexpected token...", omdat debug-logs dan door elkaar lopen met het
JSON-RPC-protocol op stdout.
Wil je ook workflowbeheer via n8n's eigen API, voeg dan toe:
"N8N_API_URL": "https://jouw-n8n-instantie.nl",
"N8N_API_KEY": "jouw-api-key"npx haalt automatisch de nieuwste versie op, inclusief een kant-en-klare database met alle n8n-node-informatie.
Let op bij meerdere MCP-clients tegelijk (bijvoorbeeld Claude Desktop én Claude Code die
allebei via npx starten): dat kan botsen op de npm-cachelock. Geef elke client een eigen,
unieke npm_config_cache-map mee in de env:
"npm_config_cache": "/pad/naar/aparte/cache"Configuratiebestand:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
Herstart Claude Desktop na het opslaan.
Optie 2: Docker (geïsoleerd en reproduceerbaar)
Vereist: Docker.
docker pull ghcr.io/czlonkowski/n8n-mcp:latestDeze image is fors kleiner dan een reguliere n8n-image (rond de 280MB, ongeveer 82% kleiner), omdat er geen n8n-afhankelijkheden in zitten — alleen de MCP-runtime met een kant-en-klare database.
Basisconfiguratie (alleen documentatietools):
{
"mcpServers": {
"n8n-mcp": {
"command": "docker",
"args": [
"run", "-i", "--rm", "--init",
"-e", "MCP_MODE=stdio",
"-e", "LOG_LEVEL=error",
"-e", "DISABLE_CONSOLE_OUTPUT=true",
"ghcr.io/czlonkowski/n8n-mcp:latest"
]
}
}
}Met n8n-workflowbeheer voeg je toe: -e N8N_API_URL=... en -e N8N_API_KEY=.... Draait je
eigen n8n lokaal in Docker? Gebruik dan http://host.docker.internal:5678 als N8N_API_URL.
De n8n-credentials zijn optioneel: zonder krijg je alle documentatie- en validatietools, mét
krijg je er workflowbeheer (aanmaken, bijwerken, uitvoeren) bij.
Lokale n8n-instantie: SSRF-instelling aanpassen
Draai je n8n lokaal (http://localhost:5678 of via Docker), dan moet je localhost expliciet
toestaan in de SSRF-bescherming. Dit geldt zowel voor webhook-triggers als voor de n8n-API-client
(N8N_API_URL):
{
"mcpServers": {
"n8n-mcp": {
"command": "docker",
"args": [
"run", "-i", "--rm", "--init",
"-e", "MCP_MODE=stdio",
"-e", "LOG_LEVEL=error",
"-e", "DISABLE_CONSOLE_OUTPUT=true",
"-e", "N8N_API_URL=http://host.docker.internal:5678",
"-e", "N8N_API_KEY=jouw-api-key",
"-e", "WEBHOOK_SECURITY_MODE=moderate",
"ghcr.io/czlonkowski/n8n-mcp:latest"
]
}
}
}Zet WEBHOOK_SECURITY_MODE=moderate altijd wanneer N8N_API_URL naar localhost of
host.docker.internal wijst. Dezelfde SSRF-gate bewaakt zowel webhook-triggers als de
n8n-API-client; de standaard strict-modus weigert loopback-adressen voor beide. moderate
staat localhost toe, maar blokkeert nog steeds private (RFC1918) netwerken en cloud-metadata.
De -i-vlag is verplicht voor stdio-communicatie via MCP.
Configuratiebestand: zelfde locaties als bij de npx-variant hierboven. Herstart Claude Desktop na het opslaan.
Optie 3: lokale installatie vanaf broncode (voor ontwikkeling)
Vereist: Node.js.
git clone https://github.com/czlonkowski/n8n-mcp.git
cd n8n-mcp
npm install
npm run build
npm run rebuild
# Testen:
npm startConfiguratie:
{
"mcpServers": {
"n8n-mcp": {
"command": "node",
"args": ["/absoluut/pad/naar/n8n-mcp/dist/mcp/index.js"],
"env": {
"MCP_MODE": "stdio",
"LOG_LEVEL": "error",
"DISABLE_CONSOLE_OUTPUT": "true"
}
}
}
}De n8n-API-credentials kun je zowel in een .env-bestand (op basis van .env.example) als
rechtstreeks in de Claude-config zetten.
Optie 4: Railway (cloud, one-click)
Zie het aparte item over Railway-deployment voor de volledige stap-voor-stap-uitleg — dit is de snelste manier als je geen eigen server wilt beheren en overal toegang wilt vanaf elke Claude Desktop-installatie.
Praktijkvoorbeeld (NL)
Een eenmanszaak-consultant die kleine bedrijven helpt met procesautomatisering wil n8n-MCP
uitproberen voordat hij het bij een klant inzet, zonder meteen geld uit te geven aan cloud-
hosting. Hij kiest voor de npx-route op zijn eigen MacBook: één commando, geen installatie, en
binnen een paar minuten werkend in Claude Desktop met alleen de documentatietools. Zodra hij
tevreden is en het bij een klant met een eigen n8n-server wil inzetten, stapt hij over op de
Docker-variant op de VPS van die klant, met N8N_API_URL en N8N_API_KEY erbij zodat hij
namens de klant workflows kan aanmaken en testen. Omdat hij tegelijk ook Claude Code op dezelfde
laptop gebruikt, geeft hij beide clients een eigen npm_config_cache-map mee — anders had hij
tegen de npm-cachelock-conflicten uit deze handleiding aangelopen.