Skip to main content
Glama

n8n MCP Server

by get2knowio

n8n-mcp

An MCP (Model Context Protocol) server for managing n8n workflows. This server allows AI agents to create, retrieve, update, and manage n8n workflows through the n8n API.

Features

  • List Workflows: Get all workflows from your n8n instance
  • Get Workflow: Retrieve a specific workflow by ID
  • Create Workflow: Create new workflows with nodes and connections
  • Update Workflow: Modify existing workflows
  • Delete Workflow: Remove workflows
  • Activate/Deactivate: Control workflow execution state

Installation

From GitHub Packages

npm install @get2knowio/n8n-mcp

From Source

git clone https://github.com/get2knowio/n8n-mcp.git cd n8n-mcp npm install npm run build

Configuration

Set the following environment variables:

Option 1: API Key Authentication

export N8N_BASE_URL=http://localhost:5678 export N8N_API_KEY=your_api_key_here

Option 2: Basic Authentication

export N8N_BASE_URL=http://localhost:5678 export N8N_USERNAME=your_username export N8N_PASSWORD=your_password

Usage

As an MCP Server

npm start

The server runs on stdio and implements the MCP protocol for integration with AI agents.

As a CLI Tool

For testing and development, you can use the CLI interface:

# List all workflows npm run cli list # Get a specific workflow npm run cli get 1 # Create a workflow from JSON file npm run cli create examples/example-workflow.json # Delete a workflow npm run cli delete 1 # Activate/deactivate workflows npm run cli activate 1 npm run cli deactivate 1 # Get webhook URLs for a webhook node npm run cli webhook-urls 1 webhook-node-id # Execute a workflow manually once npm run cli run-once 1 # Execute a workflow with input data npm run cli run-once 1 input-data.json

Available Tools

  1. list_workflows - List all workflows
  2. get_workflow - Get workflow by ID
  3. create_workflow - Create a new workflow
  4. update_workflow - Update existing workflow
  5. delete_workflow - Delete a workflow
  6. activate_workflow - Activate a workflow
  7. deactivate_workflow - Deactivate a workflow
  8. webhook_urls - Get webhook URLs for a webhook node
  9. run_once - Execute a workflow manually once

Example Workflow Creation

{ "name": "Example Workflow", "nodes": [ { "id": "webhook", "name": "Webhook", "type": "n8n-nodes-base.webhook", "typeVersion": 1, "position": [250, 300], "parameters": { "httpMethod": "GET", "path": "example" } } ], "connections": {}, "active": false, "tags": ["example"] }

Webhook URLs

The webhook_urls tool helps you get the correct webhook URLs for webhook nodes in your workflows. This is useful for:

  • Getting URLs to configure external systems that need to call your webhooks
  • Testing webhook endpoints during development
  • Documentation and integration guides

Prerequisites for Webhook Nodes

For the webhook_urls tool to work correctly, your webhook node must:

  1. Be of type n8n-nodes-base.webhook
  2. Have a path parameter configured
  3. Be part of an existing workflow

URL Format

The tool returns URLs in n8n's standard format:

  • Test URL: ${baseUrl}/webhook-test/${path} - Used for testing during workflow development
  • Production URL: ${baseUrl}/webhook/${path} - Used when the workflow is active

Example Usage

// Get webhook URLs for a node const urls = await client.getWebhookUrls(1, 'webhook-node-id'); console.log(urls); // Output: // { // "testUrl": "http://localhost:5678/webhook-test/my-webhook", // "productionUrl": "http://localhost:5678/webhook/my-webhook" // }

Manual Workflow Execution

The run_once tool allows you to manually execute workflows, which is useful for:

  • Testing workflows during development
  • Triggering workflows programmatically
  • Running workflows with specific input data
  • Debugging workflow issues

Workflow Types

The tool handles different workflow types gracefully:

  1. Manual Workflows: Workflows that start with manual triggers (e.g., Start node)
  2. Trigger Workflows: Workflows with automatic triggers (e.g., Webhook, Cron, etc.)

Input Data

You can optionally provide input data when executing a workflow:

// Execute without input const execution = await client.runOnce(1); // Execute with input data const execution = await client.runOnce(1, { name: "John Doe", email: "john@example.com" });

Response Format

The tool returns execution details:

{ "executionId": "uuid-execution-id", "status": "running" // or "completed", "failed", etc. }

Development

Setup

npm install npm run build

Testing

# Run tests npm test # Run tests in watch mode npm run test:watch # Run tests with coverage npm run test:coverage # Lint code (TypeScript type checking) npm run lint

Scripts

npm run dev # Watch mode for development npm run build # Build TypeScript npm run test # Run tests npm run lint # TypeScript type checking

Contributing

  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

All contributions are welcome! Please make sure to update tests as appropriate and follow the existing code style.

Releases

This project uses automated releases. When a new release is published on GitHub:

  1. The release workflow automatically triggers
  2. The package is built and tested
  3. If all tests pass, the package is published to GitHub Packages
  4. The package can then be installed using: npm install @get2knowio/n8n-mcp

To create a new release:

  1. Update the version in package.json
  2. Create a new release on GitHub with a tag matching the version
  3. The automated workflow will handle the rest

License

MIT

-
security - not tested
A
license - permissive license
-
quality - not tested

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Enables AI agents to create, retrieve, update, and manage n8n workflows through the n8n API. Supports full workflow lifecycle management including activation, deactivation, and deletion operations.

  1. Features
    1. Installation
      1. From GitHub Packages
      2. From Source
    2. Configuration
      1. Option 1: API Key Authentication
      2. Option 2: Basic Authentication
    3. Usage
      1. As an MCP Server
      2. As a CLI Tool
      3. Available Tools
    4. Example Workflow Creation
      1. Webhook URLs
        1. Prerequisites for Webhook Nodes
        2. URL Format
        3. Example Usage
      2. Manual Workflow Execution
        1. Workflow Types
        2. Input Data
        3. Response Format
      3. Development
        1. Setup
        2. Testing
        3. Scripts
        4. Contributing
      4. Releases
        1. License

          MCP directory API

          We provide all the information about MCP servers via our MCP API.

          curl -X GET 'https://glama.ai/api/mcp/v1/servers/get2knowio/n8n-mcp'

          If you have feedback or need assistance with the MCP directory API, please join our Discord server