n8n-MCP deployen op Railway
Gebaseerd op czlonkowski/n8n-mcp @ f895e5e, licentie MIT
Dit bestand is door ToolBrain vertaald en inhoudelijk gewijzigd op 2026-08-30, op basis van
"Railway Deployment Guide for n8n-MCP" uit czlonkowski/n8n-mcp (MIT), zie
https://github.com/czlonkowski/n8n-mcp/blob/f895e5ecc732aed31e2ca9748027034f5b19cccd/docs/RAILWAY_DEPLOYMENT.md
en ../LICENSES/n8n-mcp-MIT.txt.
n8n-MCP is een Model Context Protocol-server die een AI-assistent (zoals Claude Desktop) directe toegang geeft tot de documentatie en configuratie van 500+ n8n-nodes, en optioneel tot je eigen n8n-workflows. In plaats van dit lokaal te draaien, kun je de server met één klik op Railway hosten: geen serverbeheer, automatisch een HTTPS-endpoint, en overal bereikbaar vanaf elke Claude Desktop-installatie.
Wat Railway-hosting oplevert
- Geen eigen server nodig — Railway regelt de infrastructuur
- HTTPS is standaard geregeld, inclusief waarschuwingen als je auth-token niet veilig is
- Overal bereikbaar, ook vanaf een ander kantoor of thuiswerkplek
- Automatisch schalen zonder dat je daar iets voor hoeft te doen
- Logging en metrics staan al aan
Voordat je begint: het AUTH_TOKEN is verplicht
De server start niet zonder een AUTH_TOKEN. Hoe je die instelt hangt af van de manier van
deployen:
- Deploy je via de one-click-template? Er staat een placeholder-token klaar dat je zelf moet vervangen door een eigen, veilige waarde. Doe je dat niet, dan waarschuwt de server elke vijf minuten opnieuw.
- Deploy je vanuit je eigen repo/Dockerfile? Dan maakt Railway die variabele niet automatisch aan — je moet hem zelf toevoegen, anders start de server helemaal niet.
Genereer een veilige waarde lokaal met:
openssl rand -base64 32Zodra je de variabele opslaat, redeployt Railway automatisch.
Optioneel: wil je ook n8n-workflowbeheer via de MCP-server, zet dan ook N8N_API_URL en
N8N_API_KEY (zie verderop).
Stap voor stap deployen
1. Deploy naar Railway
- Klik op de deploy-knop in de repo (of ga naar de Railway-template van n8n-MCP)
- Log in bij Railway of maak een account aan
- Kies eventueel een projectnaam en een regio dicht bij jezelf
- Klik op "Deploy" en wacht 2 à 3 minuten
2. Beveiliging instellen
De deployment krijgt standaard een placeholder-AUTH_TOKEN mee — die moet je direct vervangen:
- Open het Railway-dashboard
- Klik op je n8n-mcp-service
- Ga naar het tabblad "Variables"
- Zoek
AUTH_TOKENen vervang de waarde door een zelf gegenereerd token (zie hierboven) - Railway redeployt automatisch met het nieuwe token
Zolang je het standaardtoken niet vervangt, blijft de server elke vijf minuten een beveiligingswaarschuwing tonen.
3. De service-URL ophalen
- Klik in het dashboard op je service
- Ga naar "Settings" → "Domains"
- Daar vind je de URL, bijvoorbeeld
https://jouw-app-naam.up.railway.app - Voeg
/mcptoe aan het einde voor de configuratie van Claude Desktop
4. Claude Desktop koppelen
Voeg dit toe aan de Claude Desktop-configuratie:
{
"mcpServers": {
"n8n-railway": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://jouw-app-naam.up.railway.app/mcp",
"--header",
"Authorization: Bearer JOUW_VEILIGE_TOKEN"
]
}
}
}Configuratiebestand vind je op:
- 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.
Belangrijkste omgevingsvariabelen
| Variabele | Standaardwaarde | Toelichting |
|---|---|---|
AUTH_TOKEN | placeholder | direct vervangen door een eigen, veilig token |
MCP_MODE | http | verplicht voor cloud-deployment |
NODE_ENV | production | productie-optimalisaties |
LOG_LEVEL | info | gebalanceerde logging |
TRUST_PROXY | 1 | Railway draait achter een proxy |
CORS_ORIGIN | * | staat elke origin toe |
HOST | 0.0.0.0 | luistert op alle interfaces |
PORT | (door Railway bepaald) | niet zelf instellen |
AUTH_RATE_LIMIT_WINDOW | 900000 (15 min) | rate-limit-venster (vanaf v2.16.3) |
AUTH_RATE_LIMIT_MAX | 20 | max. auth-pogingen per venster |
WEBHOOK_SECURITY_MODE | strict | SSRF-bescherming |
Optioneel, voor n8n-integratie:
| Variabele | Toelichting |
|---|---|
N8N_MODE | true zet de integratiemodus aan voor de n8n MCP Client Tool-node |
N8N_API_URL | URL van je eigen n8n-instantie |
N8N_API_KEY | API-key uit n8n → Settings → API |
Hoe het onder de motorkap werkt
Claude Desktop → mcp-remote → Railway (HTTPS) → n8n-MCP-servermcp-remote fungeert als brug en zet de lokale stdio-verbinding van Claude Desktop om naar
HTTP-requests richting je Railway-deployment.
De server is ontworpen voor één n8n-instantie tegelijk: de n8n-API-credentials staan serverside in de omgevingsvariabelen, en alle clients die met die server verbinden delen dezelfde n8n-instantie. Heb je meerdere klanten of n8n-omgevingen, dan zet je per omgeving een eigen Railway-deployment neer.
Beveiliging draait op bearer-token-authenticatie, verplichte HTTPS, isolatie per deployment, en de server bewaart zelf geen state (de onderliggende database is read-only).
Veelvoorkomende problemen
"Invalid URL" in Claude Desktop — controleer of je exact het configuratieformaat hierboven
gebruikt en of de URL eindigt op /mcp.
"Unauthorized" — controleer of het token exact overeenkomt (geen spaties) en of de header
Authorization: Bearer TOKEN correct is opgebouwd.
"Cannot connect to server" — check of de Railway-deployment draait, of de URL met https://
begint, en bekijk de Railway-logs.
Windows: npx-pad met spaties geeft foutmeldingen — gebruik in plaats van npx direct
node met het pad naar npx-cli.js, of wrap het commando in cmd /C.
Build faalt — Railway bouwt op AMD64; bekijk de buildlogs voor de precieze fout.
Domein werkt niet meteen — kan 1-2 minuten duren; controleer intussen of de laatste deployment geslaagd is.
Monitoring
Onder "Logs" zie je startberichten, auth-pogingen, API-requests (zonder gevoelige data) en eventuele foutmeldingen. Railway toont daarnaast metrics voor geheugengebruik (doorgaans 100-200MB), CPU, netwerkverkeer en responstijden.
Kosten
Railway's gratis tier geeft 5 dollar tegoed per maand en 500 draaiuren — voor persoonlijk gebruik van n8n-MCP ruim voldoende. n8n-MCP gebruikt zelf doorgaans maar zo'n 0,1 GB RAM, wat neerkomt op ongeveer 2 tot 3 dollar per maand bij 24/7-gebruik, dus meestal binnen de gratis tier.
Updaten
Omdat de Railway-template een specifieke Docker-image-tag gebruikt, moet je zelf updaten: ga
naar Settings → Deploy → Docker Image, wijzig de tag en klik op "Redeploy". Gebruik van de
latest-tag kan, maar brengt het risico van onverwachte breaking changes met zich mee.
Beveiligingsfuncties (vanaf v2.16.3)
- Rate limiting: automatische bruteforce-bescherming, standaard 20 pogingen per 15 minuten
per IP, instelbaar via
AUTH_RATE_LIMIT_WINDOWenAUTH_RATE_LIMIT_MAX. - SSRF-bescherming: de standaard
strict-modus blokkeert localhost, private IP-ranges en cloud-metadata-endpoints (zoals 169.254.169.254). Gebruikmoderatealleen als je verbindt met een lokale n8n-instantie via port forwarding.
WEBHOOK_SECURITY_MODE=strict # aanbevolen voor productie
# of
WEBHOOK_SECURITY_MODE=moderate # bij lokale n8n via port forwarding
AUTH_RATE_LIMIT_WINDOW=900000 # 15 minuten
AUTH_RATE_LIMIT_MAX=20 # 20 pogingen per IPBest practices
- Vervang het standaard-
AUTH_TOKENaltijd meteen - Gebruik sterke, unieke tokens (32+ tekens)
- Houd de logs in de gaten voor ongeautoriseerde toegangspogingen
- Zet credentials nooit in git
- Gebruik omgevingsvariabelen voor alle gevoelige waarden
- Check maandelijks op nieuwe versies
Praktijkvoorbeeld (NL)
Een Nederlandse marketingbureau met vijf medewerkers automatiseert klantrapportages via n8n:
elke maandagochtend haalt een workflow cijfers op uit Google Ads en Meta en zet die om in een
PDF-rapport per klant. Het bureau wil dat de accountmanagers vanuit hun eigen laptop, ook
vanuit huis of bij de klant, met Claude Desktop workflows kunnen aanpassen zonder dat er een
eigen server hoeft te draaien of iemand VPN moet opzetten. Ze deployen n8n-MCP daarom op
Railway, genereren direct een eigen 32-tekens-token met openssl rand -base64 32 en zetten dat
in de Variables-tab, in plaats van het placeholder-token te laten staan. Omdat de kosten binnen
het gratis tegoed van 5 dollar per maand blijven bij normaal gebruik, is er geen aparte
begrotingspost nodig, en de accountmanager die de config beheert kan bij storingen zelf de
Railway-logs raadplegen in plaats van een externe IT-leverancier te moeten bellen.