A Model Context Protocol (MCP) server that integrates with n8n, providing tools for workflow and execution management via the n8n API.
158 lines
3.1 KiB
Markdown
158 lines
3.1 KiB
Markdown
# 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
|