npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

n8n-workflow-builder-mcp

v1.0.2

Published

MCP server for building n8n workflows

Readme

Add to Cursor Add to VS Code Add to Claude Add to ChatGPT Add to Codex Add to Gemini

n8n Workflow Builder MCP

This project provides a Model Context Protocol (MCP) server for building and manipulating n8n workflows JSON in Cursor IDE. It's a way to build n8n workflows just by prompting with AI in chat.

DEMO VIDEO:

Watch the video

Cursor rules:

  • file with rules is in rules/n8n-mcp-server-rules.mdc

Current status of implementation

Basically, it's working - MCP server creates JSON file with n8n workflow that you can copy and paste to workflow editor in n8n UI. Current problems:

  • sometimes llm agents put wrong parameters in the request. I plan to find a way to fix this.
  • not all types of node are checked working. I'm working to resolve it.

Key Features

  • Workflow Management: Create, update, and execute n8n workflows programmatically (execute is not implemented yet)
  • Node Discovery: Explore available n8n nodes and their capabilities
  • Connection Management: Create connections between workflow nodes
  • AI Integration: Special tools for connecting AI components in workflows
  • AI-Friendly Interface: Designed specifically for interaction with AI agents
  • N8N Version Management: Automatic version detection and compatibility handling - supports 123+ N8N versions with dynamic node filtering and "closest lower version" matching for backward compatibility

Prerequisites

  • Node.js (v14 or higher)
  • Cursor IDE (v0.48 or newer)
  • npm (for npx command)

Installation & Setup

Recommended: Using npx in mcp.json (Easiest)

The recommended way to install this MCP server is using npx directly in your .cursor/mcp.json file:

{
  "mcpServers": {
    "n8n-workflow-builder": {
      "command": "npx",
      "args": [
        "-y",
        "n8n-workflow-builder-mcp"
      ],
      "env": {
        "N8N_API_URL": "http://localhost:5678",
        "N8N_API_KEY": "your-n8n-api-key-here",
       // "N8N_VERSION": "1.76.1" // optional, if not set, the server will try to detect the version automatically
      }
    }
  }
}

This approach:

  • ✅ Automatically installs the latest version
  • ✅ Does not require global installation
  • ✅ Works reliably across different environments
  • ✅ No manual building or path configuration needed

Setup Steps:

  1. Create the .cursor directory in your project root (if it doesn't exist):

    mkdir -p .cursor
  2. Create or update .cursor/mcp.json with the configuration above, replacing:

    • N8N_API_URL: Your n8n instance URL (default: http://localhost:5678)
    • N8N_API_KEY: Your n8n API key from the n8n settings
    • N8N_VERSION: (Optional) Override N8N version - if not set, auto-detects from API
  3. Restart Cursor IDE for changes to take effect

Getting your n8n API Key:

  1. Open your n8n instance in a browser
  2. Go to Settings > API Keys
  3. Click "Create API Key"
  4. Copy the generated key and use it in your configuration

Alternative: Development Installation

For development or local testing, you can clone and build from source:

  1. Clone the repository:

    git clone https://github.com/ifmelate/n8n-workflow-builder-mcp.git
    cd n8n-workflow-builder-mcp
  2. Install dependencies:

    npm install
  3. Build the TypeScript project:

    npm run build
  4. Configure in .cursor/mcp.json:

    {
      "mcpServers": {
        "n8n-workflow-builder": {
          "command": "node",
          "args": ["/absolute/path/to/n8n-workflow-builder-mcp/dist/index.js"],
          "env": {
            "N8N_API_URL": "http://localhost:5678",
            "N8N_API_KEY": "your-n8n-api-key-here",
            //"N8N_VERSION": "1.76.1" - optional
          }
        }
      }
    }
  5. For development with auto-rebuild:

    npm run dev

Cursor IDE Integration

Using Cursor Settings UI (Optional)

Alternatively, you can set up the MCP server through Cursor's interface:

  1. Start Cursor IDE
  2. Go to Settings > Features > MCP Servers
  3. Click "Add Server"
  4. For npx method: Use command npx with args ["-y", "n8n-workflow-builder-mcp"]
  5. Add environment variables:
    • N8N_API_URL: http://localhost:5678
    • N8N_API_KEY: your-n8n-api-key-here
    • N8N_VERSION: 1.76.1 (optional - auto-detects if not set)
  6. Make sure the server is enabled
  7. Restart Cursor IDE for changes to take effect

Available MCP Tools

The server provides the following tools for working with n8n workflows:

| Tool Name | Description | Key Parameters | |-----------|-------------|----------------| | create_workflow | Create a new n8n workflow | workflow_name, workspace_dir | | list_workflows | List workflows in the workspace | limit (optional), cursor (optional) | | get_workflow_details | Get detailed information about a specific workflow | workflow_name, workflow_path (optional) | | add_node | Add a new node to a workflow | workflow_name, node_type, position (optional), parameters (optional), node_name (optional), typeVersion (optional), webhookId (optional), workflow_path (optional), connect_from (optional), connect_to (optional) | | edit_node | Edit an existing node in a workflow | workflow_name, node_id, node_type (optional), node_name (optional), position (optional), parameters (optional), typeVersion (optional), webhookId (optional), workflow_path (optional), connect_from (optional), connect_to (optional) | | delete_node | Delete a node from a workflow | workflow_name, node_id, workflow_path (optional) | | add_connection | Create a connection between two nodes | workflow_name, source_node_id, source_node_output_name, target_node_id, target_node_input_name, target_node_input_index (optional), workflow_path (optional) | | add_ai_connections | Wire AI model, tools, and memory to an agent | workflow_name, agent_node_id, model_node_id (optional), tool_node_ids (optional), memory_node_id (optional), embeddings_node_id (optional), vector_store_node_id (optional), vector_insert_node_id (optional), vector_tool_node_id (optional), workflow_path (optional) | | compose_ai_workflow | Compose a complex AI workflow (agent + model + memory + embeddings + vector + tools + trigger) in one call, including wiring and basic validation | workflow_name, plan, n8n_version (optional) | | list_available_nodes | List available node types with optional filtering. Supports tag-style synonyms and multi-token OR/AND logic | search_term (optional), n8n_version (optional), limit (optional), cursor (optional), tags (optional, default: true), token_logic (optional: 'or' default, or 'and') | | get_n8n_version_info | Get current N8N version and capabilities | random_string | | validate_workflow | Validate a workflow file against node schemas and connectivity | workflow_name, workflow_path (optional) |

Validation behavior

validate_workflow promotes warnings to errors and additionally fails when any enabled node is not connected (directly or via AI ports) to the main chain starting at the inferred startNode. Use connect_from/connect_to or add_ai_connections to fix connectivity.

Troubleshooting Cursor Integration

If you're having trouble getting the MCP server to work with Cursor, try these steps:

For npx installation (Recommended method):

Make sure your .cursor/mcp.json file is properly formatted:

{
  "mcpServers": {
    "n8n-workflow-builder": {
      "command": "npx",
      "args": ["-y", "n8n-workflow-builder-mcp"]
    }
  }
}

General troubleshooting:

  1. Check Cursor MCP settings:

    • Open Cursor Settings
    • Go to Features > MCP Servers
    • Make sure your server is listed and enabled
    • If it's listed but not working, try clicking the refresh button
  2. Check server logs: Look for errors in the Cursor Output panel. Select "Cursor MCP" from the dropdown in the Output panel to see MCP-specific logs.

  3. Try manual installation: If npx fails, try the global installation method as an alternative:

    npm install -g n8n-workflow-builder-mcp

Common Issues and Solutions

"Failed to create client" or "Module not found"

This usually happens when:

  • Internet connection issues prevent npx from downloading the package
  • Node.js/npm version compatibility issues
  • Cursor MCP service is not running properly

Try:

  1. Check your internet connection
  2. Update Node.js to the latest LTS version
  3. Restart Cursor completely
  4. Try the global installation method as fallback

MCP Server is not showing up in Cursor

This can happen if:

  • The .cursor/mcp.json file is not properly formatted
  • Cursor hasn't detected the configuration change
  • File permissions on the .cursor directory

Try:

  1. Validating the JSON format of your .cursor/mcp.json file
  2. Restarting Cursor
  3. Manually selecting the server in Cursor settings (if it appears there)
  4. Check file permissions: chmod 755 .cursor

MCP Server shows up but tools aren't available

This can happen if:

  • The server isn't properly registering its tools
  • Package installation is incomplete
  • Version compatibility issues

Try:

  1. Check the package was downloaded correctly by npx
  2. Clicking the refresh button in the MCP server settings in Cursor
  3. Try clearing npm cache: npm cache clean --force
  4. Use the development installation method for debugging

Project Structure

  • /src: Main source code
  • /src/tools: MCP tools implementation
  • /src/models: Data models
  • /src/utils: Utility functions
  • /src/middleware: Authentication and middleware
  • /config: Configuration files
  • /tests: Test files
  • /workflow_nodes: n8n node definitions
  • /docs: Additional documentation

Contributing

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

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

MIT License