mcp-n8n
Provides comprehensive management of n8n instances, including workflows, data tables, tags, credentials, users, and more, through 43 tools.
README
<div align="center">
mcp-n8n
The most complete MCP server for n8n
43 tools · Workflows · Data Tables · Tags · Credentials · Users · Webhooks · Audit
Quick Start · All 43 Tools · Configuration · Contributing
</div>
Why mcp-n8n?
Other n8n MCPs cover workflows and executions. mcp-n8n covers everything — including Data Tables, the only MCP to do so.
| Feature | mcp-n8n | leonardsellem | illuminare | czlonkowski |
|---|---|---|---|---|
| Workflows (CRUD + execute) | 10 | 7 | 8 | 4 |
| Executions | 3 | 5 | 3 | 2 |
| Data Tables | 8 | — | — | — |
| Tags + Workflow Tags | 7 | — | 5 | — |
| Credentials | 4 | — | 3 | — |
| Users | 3 | — | 4 | — |
| Variables | 3 | — | 3 | — |
| Projects (Enterprise) | 4 | — | 4 | — |
| Security Audit | 1 | — | 1 | — |
| Webhooks | 1 | 1 | — | 1 |
| Health Check | 1 | — | — | 1 |
| Total | 43 | 12 | 33 | 20 |
Data Tables — full CRUD with filters, search, upsert and dry-run. No other MCP has this.
🚀 Quick Start
<details open> <summary><strong>Claude Code</strong></summary>
claude mcp add --scope user \
-e N8N_BASE_URL=http://localhost:5678 \
-e N8N_API_KEY=your-api-key \
-- n8n npx -y @nextoolsolutions/mcp-n8n
</details>
<details> <summary><strong>Cursor</strong></summary>
Add to ~/.cursor/mcp.json:
{
"mcpServers": {
"n8n": {
"command": "npx",
"args": ["-y", "mcp-n8n"],
"env": {
"N8N_BASE_URL": "http://localhost:5678",
"N8N_API_KEY": "your-api-key"
}
}
}
}
</details>
<details> <summary><strong>Claude Desktop</strong></summary>
Add to claude_desktop_config.json:
{
"mcpServers": {
"n8n": {
"command": "npx",
"args": ["-y", "mcp-n8n"],
"env": {
"N8N_BASE_URL": "http://localhost:5678",
"N8N_API_KEY": "your-api-key"
}
}
}
}
Config file location:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
</details>
<details> <summary><strong>Windsurf</strong></summary>
Add to your Windsurf MCP config:
{
"mcpServers": {
"n8n": {
"command": "npx",
"args": ["-y", "mcp-n8n"],
"env": {
"N8N_BASE_URL": "http://localhost:5678",
"N8N_API_KEY": "your-api-key"
}
}
}
}
</details>
<details> <summary><strong>VS Code (Copilot)</strong></summary>
Add to your VS Code settings.json:
{
"mcp": {
"servers": {
"n8n": {
"command": "npx",
"args": ["-y", "mcp-n8n"],
"env": {
"N8N_BASE_URL": "http://localhost:5678",
"N8N_API_KEY": "your-api-key"
}
}
}
}
}
</details>
Getting your API key
- Open your n8n instance
- Go to Settings → n8n API
- Create a new API key
- Copy it into the
N8N_API_KEYenvironment variable
🛠 Tools
Workflows (10)
| Tool | Description |
|---|---|
n8n_list_workflows |
List all workflows with optional filters |
n8n_get_workflow |
Get a workflow by ID (includes nodes, connections, settings) |
n8n_create_workflow |
Create a new workflow from JSON |
n8n_update_workflow |
Update an existing workflow (full replacement) |
n8n_delete_workflow |
Permanently delete a workflow |
n8n_activate_workflow |
Activate a workflow for production |
n8n_deactivate_workflow |
Deactivate a workflow |
n8n_execute_workflow |
Trigger execution with optional input data |
n8n_get_workflow_tags |
List tags associated with a workflow |
n8n_update_workflow_tags |
Replace all tags on a workflow |
Executions (3)
| Tool | Description |
|---|---|
n8n_list_executions |
List executions with filters (workflow, status, cursor) |
n8n_get_execution |
Get execution status, result data and timing |
n8n_delete_execution |
Delete an execution record |
Data Tables (8)
Only available in n8n v1.64+. This is the only MCP server with Data Tables support.
| Tool | Description |
|---|---|
n8n_list_datatables |
List all data tables with filtering and sorting |
n8n_create_datatable |
Create a table with typed columns (string, number, boolean, date, json) |
n8n_get_datatable |
Get table metadata (columns, name, ID) |
n8n_get_datatable_rows |
Query rows with filter, full-text search, sorting and pagination |
n8n_insert_datatable_rows |
Insert one or more rows |
n8n_update_datatable_rows |
Update rows matching a filter (supports dry-run) |
n8n_upsert_datatable_row |
Update if exists, insert if not |
n8n_delete_datatable_rows |
Delete rows matching a filter (supports dry-run) |
Tags (5)
| Tool | Description |
|---|---|
n8n_list_tags |
List all tags |
n8n_get_tag |
Get a tag by ID |
n8n_create_tag |
Create a new tag |
n8n_update_tag |
Rename a tag |
n8n_delete_tag |
Delete a tag |
Credentials (4)
| Tool | Description |
|---|---|
n8n_list_credentials |
List credentials (names and types only — data is redacted) |
n8n_create_credential |
Create a credential (use get_credential_schema first) |
n8n_delete_credential |
Delete a credential |
n8n_get_credential_schema |
Get the JSON schema for a credential type |
Users (3)
| Tool | Description |
|---|---|
n8n_list_users |
List all users (requires instance owner role) |
n8n_get_user |
Get a user by ID or email |
n8n_delete_user |
Delete a user |
Variables (3)
| Tool | Description |
|---|---|
n8n_list_variables |
List all environment variables |
n8n_create_variable |
Create a key-value variable |
n8n_delete_variable |
Delete a variable |
Projects (4) — Enterprise
| Tool | Description |
|---|---|
n8n_list_projects |
List all projects |
n8n_create_project |
Create a project |
n8n_update_project |
Rename a project |
n8n_delete_project |
Delete a project |
Audit (1)
| Tool | Description |
|---|---|
n8n_generate_audit |
Generate a security audit (credentials, database, filesystem, nodes) |
System (1)
| Tool | Description |
|---|---|
n8n_health_check |
Verify n8n API connectivity |
Webhooks (1)
| Tool | Description |
|---|---|
n8n_trigger_webhook |
Trigger a workflow via its webhook URL (production or test) |
⚙️ Configuration
| Variable | Default | Description |
|---|---|---|
N8N_BASE_URL |
http://localhost:5678 |
Your n8n instance URL |
N8N_API_KEY |
— | API key (required) |
N8N_MAX_RETRIES |
3 |
Retry attempts on 429 / 5xx errors |
N8N_TIMEOUT |
30000 |
Request timeout in milliseconds |
✨ Features
- 43 tools — the most comprehensive n8n MCP available
- Data Tables — full CRUD, the only MCP with this support
- Automatic retry — exponential backoff on rate limits (429) and server errors (5xx)
- Configurable timeout — prevent hung requests (default 30s)
- Zero external dependencies — only MCP SDK + Zod
- TypeScript strict mode — fully typed, safe, and maintainable
- Node 16+ compatible — native fetch with http/https fallback
🔒 Security
- API keys are never hardcoded — loaded exclusively from environment variables
- Credential data is redacted in list responses (n8n API behavior)
- All IDs are sanitized with
encodeURIComponentto prevent path traversal - No sensitive data is logged or exposed in error messages
🏗 Development
git clone https://github.com/RPGMais/mcp-n8n.git
cd mcp-n8n
npm install
| Command | Description |
|---|---|
npm run dev |
Run with tsx (no build step) |
npm run build |
Compile TypeScript to dist/ |
npm start |
Run compiled version |
Project structure
mcp-n8n/
├── src/
│ ├── index.ts # MCP server — tool registration and handlers
│ └── n8n-client.ts # HTTP client — API calls, retry, timeout
├── dist/ # Compiled output
├── package.json
├── tsconfig.json
└── README.md
🤝 Contributing
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch (
git checkout -b feat/my-feature) - Commit your changes
- Push and open a Pull Request
📄 License
MIT — free for personal and commercial use.
<div align="center">
Built by NexTool Solutions
If this project helps you, consider giving it a ⭐
</div>
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
Neon Database
MCP server for interacting with Neon Management API and databases
E2B
Using MCP to run code via e2b.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.