Installation methods
Hosted service
Easiest - no setup required, 100 free calls/day
npx (local)
Quick local setup, runs in minutes
Docker
Isolated and reproducible, best for production
npm install
For development and customization
Railway
One-click cloud deployment
Hosted service
The fastest way to try n8n-MCP with zero setup.Features
- Free tier: 100 tool calls per day
- Instant access: Start building workflows immediately
- Always up-to-date: Latest n8n nodes and templates
- No infrastructure: We handle everything
Setup
- Sign up at dashboard.n8n-mcp.com
- Get your API key from the dashboard
- Add to your MCP client configuration
npx (Quick local setup)
Run n8n-MCP locally without installation. Best for getting started quickly.Prerequisites
- Node.js (any version)
Installation
No installation needed! Just add to your Claude Desktop configuration:Configuration file locations
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
Environment variables
| Variable | Required | Description |
|---|---|---|
MCP_MODE | Yes | Must be "stdio" for Claude Desktop |
LOG_LEVEL | No | Logging level: "error", "warn", "info", "debug" |
DISABLE_CONSOLE_OUTPUT | Yes | Set to "true" to prevent protocol corruption |
N8N_API_URL | No | Your n8n instance URL for workflow management |
N8N_API_KEY | No | Your n8n API key for workflow management |
Docker
Isolated deployment with reproducible environments. Best for production use.Prerequisites
- Docker installed and running
Pull the Docker image
Ultra-optimized image: Our Docker image is 82% smaller than typical n8n images (280MB vs 1.5GB) because it contains NO n8n dependencies - just the runtime MCP server with a pre-built database.
Local n8n instance configuration
If you’re running n8n locally (e.g.,http://localhost:5678 or Docker), you need to:
- Use the Docker host address:
http://host.docker.internal:5678instead oflocalhost - Set webhook security mode: Add
WEBHOOK_SECURITY_MODE=moderateto allow local webhooks
WEBHOOK_SECURITY_MODE=moderate allows webhooks to your local n8n instance while still blocking private networks and cloud metadata endpoints. Safe for local development.
Docker environment variables
| Variable | Required | Description |
|---|---|---|
MCP_MODE | Yes | Must be "stdio" for Claude Desktop |
LOG_LEVEL | No | "error", "warn", "info", "debug" (default: "error") |
DISABLE_CONSOLE_OUTPUT | Yes | Set to "true" to prevent protocol corruption |
N8N_API_URL | No | Your n8n instance URL |
N8N_API_KEY | No | Your n8n API key |
WEBHOOK_SECURITY_MODE | No | "moderate" for local n8n (allows localhost webhooks) |
N8N_MCP_TELEMETRY_DISABLED | No | Set to "true" to disable telemetry |
Local installation
For development, contributions, or custom modifications.Prerequisites
- Node.js (any version)
- npm or yarn
- Git
Installation steps
Initialize the database
Development commands
Railway cloud deployment
One-click deployment to Railway’s cloud platform.Prerequisites
- Railway account (free tier available)
Setup
Configure deployment
- Sign in to Railway (or create a free account)
- Configure your project name and region
- Click “Deploy”
- Wait 2-3 minutes for the build to complete
Get your deployment URL
After deployment:
- Open your Railway project dashboard
- Copy the deployment URL (e.g.,
https://n8n-mcp-production.up.railway.app) - Copy your auth token from the environment variables
Railway benefits
- Instant cloud hosting - No server setup required
- Secure by default - HTTPS included, auth token warnings
- Global access - Connect from any Claude Desktop
- Auto-scaling - Railway handles the infrastructure
- Built-in monitoring - Logs and metrics included
For detailed Railway deployment instructions, troubleshooting, and configuration examples, see the Railway Deployment Guide.
Telemetry and privacy
n8n-MCP collects anonymous usage statistics to improve the tool. View the privacy policy.Opt out of telemetry
For npx users:Database configuration
n8n-MCP uses SQLite for storing node documentation. Two adapters are available:Database adapters
-
better-sqlite3 (Default in Docker)
- Native C++ bindings for best performance
- Direct disk writes (no memory overhead)
- Memory usage: ~100-120 MB stable
-
sql.js (Fallback)
- Pure JavaScript implementation
- In-memory database with periodic saves
- Used when better-sqlite3 compilation fails
- Memory usage: ~150-200 MB stable
Memory optimization (sql.js)
If using sql.js fallback, configure the save interval:- Lower values = more frequent saves = higher memory churn
- Higher values = less frequent saves = lower memory usage
- Minimum: 100ms
- Recommended for production: 5000-10000ms
Troubleshooting
JSON parsing errors
Problem: Claude shows"Unexpected token..." errors
Solution:
- Verify
MCP_MODE: "stdio"is set - Add
DISABLE_CONSOLE_OUTPUT: "true" - Restart Claude Desktop
Database not found
Problem: Error message aboutnodes.db not found
Solution:
- For npx: The database is included in the package
- For local install: Run
npm run rebuild - Check that the package downloaded completely
Node.js version mismatch
Problem: Error aboutNODE_MODULE_VERSION
Solution:
Docker permission denied
Problem: Cannot connect to Docker daemon Solution:Slow performance
Problem: MCP tools respond slowly Solution:- Check database adapter: better-sqlite3 is faster than sql.js
- For sql.js: Increase
SQLJS_SAVE_INTERVAL_MSto 10000 - Verify you’re not running multiple instances
- Check system resources (RAM, CPU)
Local n8n connection fails
Problem: Can’t connect to localhost n8n from Docker Solution:- Use
http://host.docker.internal:5678instead oflocalhost:5678 - Add
WEBHOOK_SECURITY_MODE=moderate - Verify n8n is running and accessible
What’s next?
Now that n8n-MCP is installed:Quick start guide
Learn how to use n8n-MCP effectively
GitHub repository
View source code, report issues, or contribute