# n8n MCP Server A Model Context Protocol (MCP) server that allows AI assistants to interact with n8n workflows through natural language. ## Overview This MCP server provides tools and resources for AI assistants to manage n8n workflows and executions. It allows assistants to: - List, create, update, and delete workflows - Activate and deactivate workflows - Execute workflows and monitor their status - Access workflow information and execution statistics ## Installation ### Prerequisites - Node.js 18 or later - n8n instance with API access enabled ### Install from npm ```bash npm install -g n8n-mcp-server ``` ### Install from source ```bash # Clone the repository git clone https://github.com/leonardsellem/n8n-mcp-server.git cd n8n-mcp-server # Install dependencies npm install # Build the project npm run build # Optional: Install globally npm install -g . ``` ## Configuration Create a `.env` file in the directory where you'll run the server, using `.env.example` as a template: ```bash cp .env.example .env ``` Configure the following environment variables: | Variable | Description | Example | |----------|-------------|---------| | `N8N_API_URL` | URL of the n8n API | `http://localhost:5678/api/v1` | | `N8N_API_KEY` | API key for authenticating with n8n | `n8n_api_...` | | `DEBUG` | Enable debug logging (optional) | `true` or `false` | ### Generating an n8n API Key 1. Open your n8n instance in a browser 2. Go to Settings > API > API Keys 3. Create a new API key with appropriate permissions 4. Copy the key to your `.env` file ## Usage ### Running the Server From the installation directory: ```bash n8n-mcp-server ``` Or if installed globally: ```bash n8n-mcp-server ``` ### Integrating with AI Assistants To use this MCP server with AI assistants, you need to register it with your AI assistant platform. The exact method depends on the platform you're using. For example, with the MCP installer: ```bash npx @anaisbetts/mcp-installer ``` Then register the server: ``` install_local_mcp_server path/to/n8n-mcp-server ``` ## Available Tools The server provides the following tools: ### Workflow Management - `workflow_list`: List all workflows - `workflow_get`: Get details of a specific workflow - `workflow_create`: Create a new workflow - `workflow_update`: Update an existing workflow - `workflow_delete`: Delete a workflow - `workflow_activate`: Activate a workflow - `workflow_deactivate`: Deactivate a workflow ### Execution Management - `execution_run`: Execute a workflow - `execution_get`: Get details of a specific execution - `execution_list`: List executions for a workflow - `execution_stop`: Stop a running execution ## Resources The server provides the following resources: - `n8n://workflows/list`: List of all workflows - `n8n://workflow/{id}`: Details of a specific workflow - `n8n://executions/{workflowId}`: List of executions for a workflow - `n8n://execution/{id}`: Details of a specific execution ## Development ### Building ```bash npm run build ``` ### Running in Development Mode ```bash npm run dev ``` ### Testing ```bash npm test ``` ### Linting ```bash npm run lint ``` ## License MIT