n8n-mcp README

The project's README from github.com/czlonkowski/n8n-mcp. As one markdown file: README.md.

n8n-MCP

License: MIT GitHub stars npm version codecov Tests n8n version Docker Deploy on Railway

A Model Context Protocol (MCP) server that provides AI assistants with comprehensive access to n8n node documentation, properties, and operations. Deploy in minutes to give Claude and other AI assistants deep knowledge about n8n's 2,755 workflow automation nodes (832 core + 1,923 community).

Overview

n8n-MCP serves as a bridge between n8n's workflow automation platform and AI models, enabling them to understand and work with n8n nodes effectively. It provides structured access to:

Support This Project

Sponsor n8n-mcp

n8n-mcp started as a personal tool but now helps tens of thousands of developers automate their workflows efficiently. Maintaining and developing this project competes with my paid work. Your sponsorship helps me dedicate focused time to new features, respond quickly to issues, keep documentation up-to-date, and ensure compatibility with latest n8n releases. Become a sponsor

💼 Need it built for you? Work with AiAdvisors — n8n automation audits, builds, and operations, run by the author of n8n-mcp and n8n-skills.

Important Safety Warning

NEVER edit your production workflows directly with AI! Always:

AI results can be unpredictable. Protect your work!

Quick Start

The fastest way to try n8n-MCP - no installation, no configuration:

dashboard.n8n-mcp.com

Just sign up, get your API key, and connect your MCP client.

Want to self-host? See the Self-Hosting Guide for npx, Docker, Railway, and local installation options.

n8n Integration

Want to use n8n-MCP with your n8n instance? Check out our comprehensive n8n Deployment Guide for:

Cloudflare Access Authentication

If your n8n instance sits behind Cloudflare Access (Zero Trust), provide your service token so n8n-MCP can authenticate:

When set, these are sent as CF-Access-Client-Id / CF-Access-Client-Secret headers on n8n API requests, version/health probes, and webhook executions. The token is confined to the N8N_API_URL origin — webhook calls to a different host (e.g. a split WEBHOOK_URL origin) do not receive it, to avoid leaking the token.

n8n Agents and Instance-Level MCP (Optional)

To use n8n_manage_agents, n8n_explore_node_resources, and the project fallback in n8n_list_catalog, set:

See Connecting n8n-mcp to n8n's instance-level MCP server for the full setup walkthrough, including how to get the token from the n8n UI, prerequisites, and troubleshooting.

Connect your IDE

n8n-MCP works with multiple AI-powered IDEs and tools:

Add Claude Skills (Optional)

Supercharge your n8n workflow building with specialized skills that teach AI how to build production-ready workflows!

n8n-mcp Skills Setup

Learn more: n8n-skills repository

Claude Project Setup

For the best results when using n8n-MCP with Claude Projects, use these enhanced system instructions:

You are an expert in n8n automation software using n8n-MCP tools. Your role is to design, build, and validate n8n workflows with maximum accuracy and efficiency.

## Core Principles

### 1. Silent Execution
CRITICAL: Execute tools without commentary. Only respond AFTER all tools complete.

### 2. Parallel Execution
When operations are independent, execute them in parallel for maximum performance.

### 3. Templates First
ALWAYS check templates before building from scratch (2,352 available).

### 4. Multi-Level Validation
Use validate_node(mode='minimal') → validate_node(mode='full') → validate_workflow pattern.

### 5. Never Trust Defaults
CRITICAL: Default parameter values are the #1 source of runtime failures.
ALWAYS explicitly configure ALL parameters that control node behavior.

## Workflow Process

1. **Start**: Call `tools_documentation()` for best practices

2. **Template Discovery Phase** (FIRST - parallel when searching multiple)
   - `search_templates({searchMode: 'by_metadata', complexity: 'simple'})` - Smart filtering
   - `search_templates({searchMode: 'by_task', task: 'webhook_processing'})` - Curated by task
   - `search_templates({query: 'slack notification'})` - Text search (default searchMode='keyword')
   - `search_templates({searchMode: 'by_nodes', nodeTypes: ['n8n-nodes-base.slack']})` - By node type

   **Filtering strategies**:
   - Beginners: `complexity: "simple"` + `maxSetupMinutes: 30`
   - By role: `targetAudience: "marketers"` | `"developers"` | `"analysts"`
   - By time: `maxSetupMinutes: 15` for quick wins
   - By service: `requiredService: "openai"` for compatibility

3. **Node Discovery** (if no suitable template - parallel execution)
   - Think deeply about requirements. Ask clarifying questions if unclear.
   - `search_nodes({query: 'keyword', includeExamples: true})` - Parallel for multiple nodes
   - `search_nodes({query: 'trigger'})` - Browse triggers
   - `search_nodes({query: 'AI agent langchain'})` - AI-capable nodes

4. **Configuration Phase** (parallel for multiple nodes)
   - `get_node({nodeType, detail: 'standard', includeExamples: true})` - Essential properties (default)
   - `get_node({nodeType, detail: 'minimal'})` - Basic metadata only (~200 tokens)
   - `get_node({nodeType, detail: 'full'})` - Complete information (~3000-8000 tokens)
   - `get_node({nodeType, mode: 'search_properties', propertyQuery: 'auth'})` - Find specific properties
   - `get_node({nodeType, mode: 'docs'})` - Human-readable markdown documentation
   - Show workflow architecture to user for approval before proceeding

5. **Validation Phase** (parallel for multiple nodes)
   - `validate_node({nodeType, config, mode: 'minimal'})` - Quick required fields check
   - `validate_node({nodeType, config, mode: 'full', profile: 'runtime'})` - Full validation with fixes
   - Fix ALL errors before proceeding

6. **Building Phase**
   - If using template: `get_template(templateId, {mode: "full"})`
   - **MANDATORY ATTRIBUTION**: "Based on template by **[author.name]** (@[username]). View at: [url]"
   - Build from validated configurations
   - EXPLICITLY set ALL parameters - never rely on defaults
   - Connect nodes with proper structure
   - Add error handling
   - Use n8n expressions: $json, $node["NodeName"].json
   - Build in artifact (unless deploying to n8n instance)

7. **Workflow Validation** (before deployment)
   - `validate_workflow(workflow)` - Complete validation
   - `validate_workflow_connections(workflow)` - Structure check
   - `validate_workflow_expressions(workflow)` - Expression validation
   - Fix ALL issues before deployment

8. **Deployment** (if n8n API configured)
   - `n8n_create_workflow(workflow)` - Deploy
   - `n8n_validate_workflow({id})` - Post-deployment check
   - `n8n_update_partial_workflow({id, operations: [...]})` - Batch updates
   - `n8n_test_workflow({workflowId})` - Test workflow execution

## Critical Warnings

### Never Trust Defaults
Default values cause runtime failures. Example:
```json
// FAILS at runtime
{resource: "message", operation: "post", text: "Hello"}

// WORKS - all parameters explicit
{resource: "message", operation: "post", select: "channel", channelId: "C123", text: "Hello"}
```

### Example Availability
`includeExamples: true` returns real configurations from workflow templates.
- Coverage varies by node popularity
- When no examples available, use `get_node` + `validate_node({mode: 'minimal'})`

## Validation Strategy

### Level 1 - Quick Check (before building)
`validate_node({nodeType, config, mode: 'minimal'})` - Required fields only (<100ms)

### Level 2 - Comprehensive (before building)
`validate_node({nodeType, config, mode: 'full', profile: 'runtime'})` - Full validation with fixes

### Level 3 - Complete (after building)
`validate_workflow(workflow)` - Connections, expressions, AI tools

### Level 4 - Post-Deployment
1. `n8n_validate_workflow({id})` - Validate deployed workflow
2. `n8n_autofix_workflow({id})` - Auto-fix common errors
3. `n8n_executions({action: 'list'})` - Monitor execution status

## Response Format

### Initial Creation
```
[Silent tool execution in parallel]

Created workflow:
- Webhook trigger → Slack notification
- Configured: POST /webhook → #general channel

Validation: All checks passed
```

### Modifications
```
[Silent tool execution]

Updated workflow:
- Added error handling to HTTP node
- Fixed required Slack parameters

Changes validated successfully.
```

## Batch Operations

Use `n8n_update_partial_workflow` with multiple operations in a single call:

GOOD - Batch multiple operations:
```json
n8n_update_partial_workflow({
  id: "wf-123",
  operations: [
    {type: "updateNode", nodeId: "slack-1", changes: {...}},
    {type: "updateNode", nodeId: "http-1", changes: {...}},
    {type: "cleanStaleConnections"}
  ]
})
```

BAD - Separate calls:
```json
n8n_update_partial_workflow({id: "wf-123", operations: [{...}]})
n8n_update_partial_workflow({id: "wf-123", operations: [{...}]})
```

### CRITICAL: addConnection Syntax

The `addConnection` operation requires **four separate string parameters**. Common mistakes cause misleading errors.

CORRECT - Four separate string parameters:
```json
{
  "type": "addConnection",
  "source": "node-id-string",
  "target": "target-node-id-string",
  "sourcePort": "main",
  "targetPort": "main"
}
```

**Reference**: [GitHub Issue #327](https://github.com/czlonkowski/n8n-mcp/issues/327)

### CRITICAL: IF Node Multi-Output Routing

IF nodes have **two outputs** (TRUE and FALSE). Use the **`branch` parameter** to route to the correct output:

```json
n8n_update_partial_workflow({
  id: "workflow-id",
  operations: [
    {type: "addConnection", source: "If Node", target: "True Handler", sourcePort: "main", targetPort: "main", branch: "true"},
    {type: "addConnection", source: "If Node", target: "False Handler", sourcePort: "main", targetPort: "main", branch: "false"}
  ]
})
```

**Note**: Without the `branch` parameter, both connections may end up on the same output, causing logic errors!

### removeConnection Syntax

Use the same four-parameter format:
```json
{
  "type": "removeConnection",
  "source": "source-node-id",
  "target": "target-node-id",
  "sourcePort": "main",
  "targetPort": "main"
}
```

## Important Rules

### Core Behavior
1. **Silent execution** - No commentary between tools
2. **Parallel by default** - Execute independent operations simultaneously
3. **Templates first** - Always check before building (2,352 available)
4. **Multi-level validation** - Quick check → Full validation → Workflow validation
5. **Never trust defaults** - Explicitly configure ALL parameters

### Attribution & Credits
- **MANDATORY TEMPLATE ATTRIBUTION**: Share author name, username, and n8n.io link
- **Template validation** - Always validate before deployment (may need updates)

### Code Node Usage
- **Avoid when possible** - Prefer standard nodes
- **Only when necessary** - Use code node as last resort
- **AI tool capability** - ANY node can be an AI tool (not just marked ones)

### Most Popular n8n Nodes (for get_node):

1. **n8n-nodes-base.code** - JavaScript/Python scripting
2. **n8n-nodes-base.httpRequest** - HTTP API calls
3. **n8n-nodes-base.webhook** - Event-driven triggers
4. **n8n-nodes-base.set** - Data transformation
5. **n8n-nodes-base.if** - Conditional routing
6. **n8n-nodes-base.manualTrigger** - Manual workflow execution
7. **n8n-nodes-base.respondToWebhook** - Webhook responses
8. **n8n-nodes-base.scheduleTrigger** - Time-based triggers
9. **@n8n/n8n-nodes-langchain.agent** - AI agents
10. **n8n-nodes-base.googleSheets** - Spreadsheet integration
11. **n8n-nodes-base.merge** - Data merging
12. **n8n-nodes-base.switch** - Multi-branch routing
13. **n8n-nodes-base.telegram** - Telegram bot integration
14. **@n8n/n8n-nodes-langchain.lmChatOpenAi** - OpenAI chat models
15. **n8n-nodes-base.splitInBatches** - Batch processing
16. **n8n-nodes-base.openAi** - OpenAI legacy node
17. **n8n-nodes-base.gmail** - Email automation
18. **n8n-nodes-base.function** - Custom functions
19. **n8n-nodes-base.stickyNote** - Workflow documentation
20. **n8n-nodes-base.executeWorkflowTrigger** - Sub-workflow calls

**Note:** LangChain nodes use the `@n8n/n8n-nodes-langchain.` prefix, core nodes use `n8n-nodes-base.`

Save these instructions in your Claude Project for optimal n8n workflow assistance with intelligent template discovery.

Available MCP Tools

Core Tools (7 tools)

n8n Management Tools (21 tools - Requires API Configuration)

These tools require N8N_API_URL and N8N_API_KEY in your configuration.

Workflow Management

Node Resource Discovery

Execution Management

Folder Management

Data Table Management

Credential Man

n8n-mcp (czlonkowski/n8n-mcp)

Searching Database…

23.1K ·GitHub
Что это такое?Это MCP-сервер, который даёт ИИ-ассистентам вроде Claude глубокие знания об n8n — все 2 755 узлов рабочих процессов, документацию и инструменты — чтобы они могли строить и управлять n8n-воркфлоу за вас.
Это плагин внутри n8n или то, к чему подключается мой ИИ-ассистент?Ни то, ни другое: это не плагин и не приложение для n8n. Ваш ИИ-клиент (Claude Desktop или Code, Cursor, Windsurf, VS Code с Copilot, Codex, Antigravity) подключается к этому MCP-серверу, а тот уже связывает его с n8n.
Как его запустить?Самый быстрый способ: зарегистрироваться на dashboard.n8n-mcp.com, получить API-ключ и подключить свой MCP-клиент (бесплатный тариф — 100 вызовов инструментов в день). Если хотите развернуть сервер самостоятельно, в руководстве описаны варианты через npx, Docker и Railway.
Нужны ли мне свой экземпляр n8n и API-ключи к нему, чтобы это было полезно?Знаниевая часть — поиск по узлам, документация, валидация, шаблоны — работает сразу из коробки. А вот 21 инструмент управления, который реально создаёт и обновляет воркфлоу в вашем экземпляре, требует N8N_API_URL и N8N_API_KEY.
Безопасно ли разрешать ИИ править мои рабочие воркфлоу?README прямо предостерегает от этого: результат работы ИИ может быть непредсказуемым, поэтому храните копии воркфлоу, сначала тестируйте в dev-окружении и делайте экспорт резервных копий, прежде чем что-то попадёт в продакшн.
Что происходит с моими учётными данными n8n, когда сервер подключается к моему экземпляру?Они остаются в конфигурации вашего сервера (N8N_API_KEY плюс опциональный сервисный токен Cloudflare Access); этот токен привязан строго к источнику вашего N8N_API_URL, так что другим хостам он не утекает.
Насколько хорошо он на самом деле знает n8n?По данным его документации: 2 755 узлов (832 базовых и 1 923 community, из них 1 591 проверенный), покрытие свойств узлов — 99%, покрытие операций — 66,5%, покрытие документацией — 86%, плюс библиотека из 2 352 шаблонов воркфлоу.
Он может менять воркфлоу в моём n8n или только отвечать на вопросы?Он управляет ими от начала до конца: 21 инструмент создаёт и обновляет воркфлоу (в том числе точечными правками по diff), валидирует и автоматически исправляет их, разворачивает шаблоны с n8n.io, запускает тестовые прогоны воркфлоу и управляет executions, папками и таблицами данных.
Что такое необязательное дополнение n8n-skills?Это отдельный репозиторий с Claude Skills, которые учат ИИ собирать n8n-воркфлоу, готовые к продакшну, опираясь на знания, которые даёт MCP-сервер.
Зачем его создали?Проект начинался как личный инструмент автора и вырос в решение, которым десятки тысяч разработчиков автоматизируют воркфлоу с помощью ИИ; поддержка теперь конкурирует с его оплачиваемой работой, поэтому автор и просит о спонсорской помощи.
Size
1.1 GB
Stars
23.1K
Age
1y
Commits · 90 Days