mcp-n8n-builder

by spences10

83 stars
415 downloads
Not rated
GitHub

About

πŸͺ„ MCP server for programmatic creation and management of n8n workflows. Enables AI assistants to build, modify, and manage workflows without direct user intervention through a comprehensive set of tools and resources for interacting with n8n's REST API.

Details

Author
spences10
GitHub stars
83
Downloads
415
Categories
Developer Tools, Automation

- Create, read, update, delete, activate, and deactivate workflows
- List and retrieve workflow execution details
- Comprehensive validation with Zod for input and output data
- Validates node types against n8n's available nodes before creation
- Provides suggestions for similar node types when invalid nodes detected
- Search and filter workflows by name, tags, or active status

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name mcp-n8n-builder
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Configure the server in your MCP client by providing the N8N_HOST (default http://localhost:5678/api/v1) and N8N_API_KEY environment variables, and optionally OUTPUT_VERBOSITY (default concise). Use tools like list_workflows, create_workflow, get_workflow, update_workflow, delete_workflow, activate_workflow, deactivate_workflow, list_available_nodes, list_executions, and get_execution.

list_available_nodes

Lists all available nodes in the n8n instance. Use this tool BEFORE creating or updating workflows to ensure you only use valid node types. This helps prevent errors caused by using node types that do not exist in the current n8n instance.

list_workflows

Lists all workflows from n8n with their basic information including ID, name, status, creation date, and tags. Use this tool to get an overview of available workflows before performing operations on specific workflows. Results can be filtered by active status, tags, or name.

create_workflow

Creates a new workflow in n8n with specified nodes and connections. Note that only workflows with automatic trigger nodes (schedule, webhook, etc.) can be activated - workflows with only manual triggers cannot be activated. Returns the created workflow with its assigned ID.

get_workflow

Retrieves complete details of a specific workflow by its ID, including all nodes, connections, settings, and metadata. Use this tool when you need to examine a workflow's structure before updating it or to understand how it works.

update_workflow

Updates an existing workflow with new configuration. Typically used after retrieving a workflow with get_workflow, modifying its structure, and then saving the changes. The entire workflow structure must be provided, not just the parts being changed.

delete_workflow

Permanently deletes a workflow by its ID. This action cannot be undone, so use with caution. Consider deactivating workflows instead if you might need them again later.

activate_workflow

Activates a workflow by its ID, enabling it to run automatically based on its trigger (schedule, webhook, etc.). Note that only workflows with automatic trigger nodes can be activated - workflows with only manual triggers cannot be activated.

deactivate_workflow

Deactivates a workflow by its ID, preventing it from running automatically. The workflow will still exist and can be manually executed or reactivated later. Use this instead of deleting workflows that you might need again.

list_executions

Lists workflow execution history with details on success/failure status, duration, and timestamps. Use this tool to monitor workflow performance, troubleshoot issues, or verify that workflows are running as expected. Results can be filtered by workflow ID, status, and limited to a specific number.

get_execution

Retrieves detailed information about a specific workflow execution, including execution time, status, and optionally the full data processed at each step. Particularly useful for debugging failed workflows or understanding data transformations between nodes.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "mcp-n8n-builder": {
            "n8n-workflow-builder": {
                "command": "npx",
                "args": [
                    "-y",
                    "mcp-n8n-builder"
                ],
                "env": {
                    "N8N_HOST": "http://localhost:5678/api/v1",
                    "N8N_API_KEY": "your-n8n-api-key",
                    "OUTPUT_VERBOSITY": "concise"
                }
            }
        }
    }
}

McpServers

{
    "n8n-workflow-builder": {
        "command": "npx",
        "args": [
            "-y",
            "mcp-n8n-builder"
        ],
        "env": {
            "N8N_HOST": "http://localhost:5678/api/v1",
            "N8N_API_KEY": "your-n8n-api-key",
            "OUTPUT_VERBOSITY": "concise"
        }
    }
}

mcp-n8n-builder

A Model Context Protocol (MCP) server for programmatic creation and
management of n8n workflows. This server provides tools and resources
for interacting with n8n's REST API, allowing AI assistants to build,
modify, and manage workflows without direct user intervention.

<a href="https://glama.ai/mcp/servers/@spences10/mcp-n8n-builder">

</a>

Features

- πŸ”„ Workflow Management: Create, read, update, delete, activate,
and deactivate workflows
- πŸ“Š Execution Management: List and retrieve workflow execution
details
- βœ… Schema Validation: Comprehensive validation with Zod for both
input and output data
- πŸ” Node Validation: Validates node types against n8n's available
nodes before workflow creation to prevent errors
- πŸ€” Smart Suggestions: Provides suggestions for similar node
types when invalid nodes are detected
- πŸ› οΈ Error Handling: Detailed error messages for troubleshooting
- πŸ“ Documentation: Extensive documentation for all tools and
resources
- πŸ” Search & Filter: Filter workflows by name, tags, or active
status

⚠️ Token Consumption Warning

This tool is a "token monster" due to the nature of n8n workflows:

- N8N workflows are complex JSON structures with nested nodes, connections, parameters, and settings
- A single workflow can easily consume thousands of tokens when viewed or edited
- The JSON structure cannot be meaningfully reduced without losing essential workflow information
- LLM context windows are finite - complex workflows may exceed available context

Mitigation Strategies

The tool implements several optimizations to reduce token usage:

- Verbosity Control: Use OUTPUT_VERBOSITY=concise (default) for summaries instead of full JSON
- Object Simplification: Workflow listings show only essential fields (id, name, status, node count)
- Selective Guide Inclusion: Error messages include only relevant sections of the composition guide
- Per-tool Verbosity: Override verbosity on individual tool calls with the verbosity parameter

Recommended Usage

- List workflows first to identify what you need (low token cost)
- Work with simple workflows when possible
- Use concise verbosity unless you specifically need full JSON
- Break complex workflows into smaller pieces for easier management
- Consider the token cost before retrieving or editing large workflows

Configuration

This server requires configuration through your MCP client. Here are
examples for different environments:

Cline Configuration

Add this to your Cline MCP settings:

{
	"mcpServers": {
		"n8n-workflow-builder": {
			"command": "npx",
			"args": ["-y", "mcp-n8n-builder"],
			"env": {
				"N8N_HOST": "http://localhost:5678/api/v1",
				"N8N_API_KEY": "your-n8n-api-key",
				"OUTPUT_VERBOSITY": "concise" // Options: 'concise' or 'full'
			}
		}
	}
}

Claude Desktop with WSL Configuration

For WSL environments, add this to your Claude Desktop configuration:

{
	"mcpServers": {
		"n8n-workflow-builder": {
			"command": "wsl.exe",
			"args": [
				"bash",
				"-c",
				"N8N_HOST=http://localhost:5678/api/v1 N8N_API_KEY=your-n8n-api-key OUTPUT_VERBOSITY=concise npx -y mcp-n8n-builder"
			]
		}
	}
}

Environment Variables

The server can be configured using environment variables:

| Variable | Description | Default |
| ------------------ | -------------------------------------------- | ------------------------------ |
| N8N_HOST | URL of the n8n API | http://localhost:5678/api/v1 |
| N8N_API_KEY | API key for n8n authentication | "" |
| SERVER_NAME | Name of the MCP server | "n8n-workflow-builder" |
| SERVER_VERSION | Version of the MCP server | Package version |
| LOG_LEVEL | Logging level | "info" |
| CACHE_ENABLED | Enable caching | false |
| CACHE_TTL | Cache TTL in seconds | 300 |
| OUTPUT_VERBOSITY | Output verbosity level (concise or full) | "concise" |

MCP Tools

Node Management

- list_available_nodes: Lists all available nodes in the n8n
instance. IMPORTANT: Use this tool BEFORE creating or updating
workflows to ensure you only use valid node types. This helps
prevent errors caused by using node types that don't exist in the
current n8n instance.

Workflow Management

- list_workflows: Lists all workflows from n8n with their basic
information including ID, name, status, creation date, and tags.
Results can be filtered by active status, tags, or name.
- create_workflow: Creates a new workflow in n8n with specified
nodes and connections. Returns the created workflow with its
assigned ID. Validates that all node types exist in the n8n
instance.
- get_workflow: Retrieves complete details of a specific workflow by
its ID, including all nodes, connections, settings, and metadata.
- update_workflow: Updates an existing workflow with new
configuration. The entire workflow structure must be provided, not
just the parts being changed. Validates that all node types exist in
the n8n instance.
- delete_workflow: Permanently deletes a workflow by its ID. This
action cannot be undone.
- activate_workflow: Activates a workflow by its ID, enabling it to
run automatically based on its trigger.
- deactivate_workflow: Deactivates a workflow by its ID, preventing
it from running automatically.

Execution Management

- list_executions: Lists workflow execution history with details on
success/failure status, duration, and timestamps. Results can be
filtered by workflow ID, status, and limited to a specific number.
- get_execution: Retrieves detailed information about a specific
workflow execution, including execution time, status, and optionally
the full data processed at each step.

MCP Resources

- n8n://workflows: List of all workflows in n8n
- n8n://workflows/{id}: Details of a specific n8n workflow
- n8n://executions/{id}: Details of a specific n8n workflow
execution

Development

Setup

1. Clone the repository
2. Install dependencies:

npm install

3. Build the project:

npm run build

4. Run in development mode:

npm run dev

Publishing

The project uses changesets for version management. To publish:

1. Create a changeset:

npm changeset

2. Version the package:

npm changeset version

3. Publish to npm:

npm release

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

MIT License - see the LICENSE file for details.

Acknowledgments

- Built on the
Model Context Protocol
- Powered by n8n

No reviews yet β€” be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.