@makafeli/n8n-workflow-builder
Version:
Model Context Protocol server for n8n workflow management
383 lines (286 loc) • 11.2 kB
Markdown
# n8n Workflow Builder MCP Server
<div align="center">
<a href="https://smithery.ai/server/@makafeli/n8n-workflow-builder">
<img src="https://smithery.ai/badge/@makafeli/n8n-workflow-builder" alt="Smithery Server Badge" />
</a>
<br />
<a href="https://glama.ai/mcp/servers/fhoynrlnpp">
<img width="380" height="200" src="https://glama.ai/mcp/servers/fhoynrlnpp/badge" alt="n8n Workflow Builder Server MCP server" />
</a>
<a href="https://mseep.ai/app/makafeli-n8n-workflow-builder">
<img width="380" height="200" src="https://mseep.net/pr/makafeli-n8n-workflow-builder-badge.png" alt="MseeP.ai Security Assessment Badge" />
</a>
</div>
A powerful Model Context Protocol (MCP) server that enables AI assistants to manage n8n workflows seamlessly. Connect your AI tools directly to n8n for automated workflow creation, execution, and management.
## 🎯 What is this?
The n8n Workflow Builder MCP Server bridges the gap between AI assistants (like Claude Desktop, Cline, or any MCP-compatible client) and your n8n automation platform. It provides a comprehensive set of tools that allow AI assistants to:
- **List and browse** your existing n8n workflows
- **Create new workflows** with complex node configurations
- **Execute workflows** on demand
- **Manage workflow lifecycle** (activate, deactivate, update, delete)
- **Monitor workflow status** and retrieve detailed information
Perfect for teams using n8n who want to leverage AI assistants for workflow automation and management.
## ✨ Key Features
- 🔧 **Complete Workflow Management** - Full CRUD operations for n8n workflows
- 🤖 **AI-First Design** - Built specifically for AI assistant integration
- 🚀 **Zero Configuration** - Works out of the box with NPX
- 🔒 **Secure** - Uses n8n's official API with proper authentication
- 📦 **Modern Architecture** - Built with TypeScript and latest MCP SDK
- ⚡ **High Performance** - Optimized for fast response times
## 📋 Requirements
- **Node.js** v18.0.0 or higher
- **n8n instance** (self-hosted or cloud)
- **n8n API key** with appropriate permissions
## 🚀 Installation & Usage
### Method 1: Smithery.ai (Hosted - Recommended)
Use the hosted version on Smithery.ai - no installation required:
1. **Visit**: [smithery.ai](https://smithery.ai)
2. **Search**: "n8n-workflow-builder"
3. **Connect**: Configure with your n8n host and API key
4. **Use**: Access from any MCP-compatible AI assistant
**Benefits**: No local setup, automatic updates, professional hosting, tool playground.
### Method 2: NPX (Local)
Run locally with NPX:
```bash
npx @makafeli/n8n-workflow-builder
```
### Method 2: Manual Installation
For development or customization:
```bash
# Clone the repository
git clone https://github.com/makafeli/n8n-workflow-builder.git
cd n8n-workflow-builder
# Install dependencies
npm install
# Build the project
npm run build
# Start the server
npm start
```
## ⚙️ Configuration
### Environment Variables
Configure the following environment variables to connect to your n8n instance:
| Variable | Description | Example |
|----------|-------------|---------|
| `N8N_HOST` | Your n8n instance URL | `http://localhost:5678` or `https://your-n8n.com/api/v1` |
| `N8N_API_KEY` | Your n8n API key | `n8n_api_1234567890abcdef...` |
### Getting Your n8n API Key
1. Open your n8n instance
2. Go to **Settings** → **API Keys**
3. Click **Create API Key**
4. Copy the generated key
### Setting Environment Variables
```bash
# For local testing
export N8N_HOST="http://localhost:5678"
export N8N_API_KEY="your-api-key-here"
# Then run the server
npx @makafeli/n8n-workflow-builder
```
## 🔧 MCP Client Setup
### Claude Desktop
Add this configuration to your `claude_desktop_config.json`:
```json
{
"mcpServers": {
"n8n-workflow-builder": {
"command": "npx",
"args": ["@makafeli/n8n-workflow-builder"],
"env": {
"N8N_HOST": "http://localhost:5678",
"N8N_API_KEY": "your-api-key-here"
}
}
}
}
```
### Cline (VS Code Extension)
Add this to your Cline MCP settings:
```json
{
"mcpServers": {
"n8n-workflow-builder": {
"command": "npx",
"args": ["@makafeli/n8n-workflow-builder"],
"env": {
"N8N_HOST": "http://localhost:5678",
"N8N_API_KEY": "your-api-key-here"
}
}
}
}
```
### Other MCP Clients
The server works with any MCP-compatible client. Use the same configuration pattern with your client's specific setup method.
## 🛠️ Available Tools
The MCP server provides 15 comprehensive tools for complete n8n workflow and execution management:
### Core Workflow Operations
| Tool | Description | Parameters |
|------|-------------|------------|
| `list_workflows` | List all workflows from your n8n instance | None |
| `get_workflow` | Retrieve detailed information about a specific workflow | `id`: Workflow ID (string) |
| `create_workflow` | Create a new workflow with nodes and connections | `workflow`: Workflow object |
| `execute_workflow` | Manually execute a workflow | `id`: Workflow ID (string) |
### Workflow Lifecycle Management
| Tool | Description | Parameters |
|------|-------------|------------|
| `update_workflow` | Update an existing workflow's configuration | `id`: Workflow ID, `workflow`: Updated workflow object |
| `activate_workflow` | Activate a workflow to enable automatic execution | `id`: Workflow ID (string) |
| `deactivate_workflow` | Deactivate a workflow to stop automatic execution | `id`: Workflow ID (string) |
| `delete_workflow` | Permanently delete a workflow | `id`: Workflow ID (string) |
### Advanced Operations
| Tool | Description | Parameters |
|------|-------------|------------|
| `create_workflow_and_activate` | Create a new workflow and immediately activate it | `workflow`: Workflow object |
### Execution Management ⭐ NEW
| Tool | Description | Parameters |
|------|-------------|------------|
| `list_executions` | List workflow executions with filtering and pagination | `includeData`, `status`, `workflowId`, `projectId`, `limit`, `cursor` |
| `get_execution` | Get detailed information about a specific execution | `id`: Execution ID, `includeData`: Include detailed data |
| `delete_execution` | Delete a workflow execution record | `id`: Execution ID |
### Tag Management ⭐ NEW
| Tool | Description | Parameters |
|------|-------------|------------|
| `list_tags` | List all workflow tags with pagination | `limit`, `cursor` |
| `create_tag` | Create a new workflow tag for organization | `name`: Tag name |
### Security & Compliance ⭐ NEW
| Tool | Description | Parameters |
|------|-------------|------------|
| `generate_audit` | Generate comprehensive security audit report | `additionalOptions`: Audit configuration |
## 💡 Usage Examples
### Basic Operations
```javascript
// List all workflows
await callTool("list_workflows", {});
// Get detailed information about a workflow
await callTool("get_workflow", { id: "workflow-123" });
// Execute a workflow manually
await callTool("execute_workflow", { id: "workflow-123" });
```
### Creating Workflows
```javascript
// Create a simple workflow
await callTool("create_workflow", {
workflow: {
name: "My Automation Workflow",
nodes: [
{
id: "trigger",
name: "Schedule Trigger",
type: "n8n-nodes-base.scheduleTrigger",
typeVersion: 1,
position: [240, 300],
parameters: {
interval: [{ field: "unit", value: "hours" }]
}
},
{
id: "action",
name: "HTTP Request",
type: "n8n-nodes-base.httpRequest",
typeVersion: 4,
position: [460, 300],
parameters: {
url: "https://api.example.com/webhook",
method: "POST"
}
}
],
connections: {
"Schedule Trigger": {
"main": [[{ "node": "HTTP Request", "type": "main", "index": 0 }]]
}
}
}
});
```
### Workflow Management
```javascript
// Activate a workflow
await callTool("activate_workflow", { id: "workflow-123" });
// Update a workflow
await callTool("update_workflow", {
id: "workflow-123",
workflow: { name: "Updated Workflow Name" }
});
// Deactivate a workflow
await callTool("deactivate_workflow", { id: "workflow-123" });
// Create and immediately activate
await callTool("create_workflow_and_activate", {
workflow: { /* workflow configuration */ }
});
```
### Execution Management ⭐ NEW
```javascript
// List recent executions
await callTool("list_executions", {
limit: 10,
status: "error"
});
// Get detailed execution information
await callTool("get_execution", {
id: "execution-123",
includeData: true
});
// Clean up old execution records
await callTool("delete_execution", { id: "execution-123" });
```
### Tag Management ⭐ NEW
```javascript
// List all workflow tags
await callTool("list_tags", { limit: 50 });
// Create a new tag for organization
await callTool("create_tag", { name: "production" });
```
### Security Audit ⭐ NEW
```javascript
// Generate comprehensive security audit
await callTool("generate_audit", {
additionalOptions: {
daysAbandonedWorkflow: 30,
categories: ["credentials", "database", "nodes"]
}
});
```
## 🔧 Troubleshooting
### Common Issues
#### "Connection refused" or "ECONNREFUSED"
- **Cause**: Cannot connect to your n8n instance
- **Solution**: Verify your `N8N_HOST` is correct and n8n is running
- **Check**: Try accessing your n8n instance in a browser first
#### "Unauthorized" or "401 Error"
- **Cause**: Invalid or missing API key
- **Solution**:
1. Verify your `N8N_API_KEY` is correct
2. Ensure the API key has proper permissions
3. Check if the API key hasn't expired
#### "Workflow not found" or "404 Error"
- **Cause**: Workflow ID doesn't exist
- **Solution**: Use `list_workflows` to get valid workflow IDs
#### Server won't start
- **Cause**: Missing Node.js or dependencies
- **Solution**:
1. Ensure Node.js v18+ is installed: `node --version`
2. Try clearing npm cache: `npm cache clean --force`
3. For manual installation, run: `npm install && npm run build`
### Debug Mode
For detailed logging, set the debug environment variable:
```bash
DEBUG=n8n-workflow-builder npx @makafeli/n8n-workflow-builder
```
### Getting Help
1. Check the [GitHub Issues](https://github.com/makafeli/n8n-workflow-builder/issues)
2. Review n8n's [API documentation](https://docs.n8n.io/api/)
3. Verify your MCP client configuration
## 🤝 Contributing
We welcome contributions!
## 📄 License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## 🔗 Useful Links
- **[n8n Documentation](https://docs.n8n.io/)** - Official n8n docs
- **[Model Context Protocol](https://modelcontextprotocol.io/)** - MCP specification
- **[Claude Desktop](https://claude.ai/desktop)** - AI assistant with MCP support
- **[Cline](https://cline.bot/)** - VS Code AI assistant
- **[GitHub Repository](https://github.com/makafeli/n8n-workflow-builder)** - Source code and issues
---
**Built with ❤️ for the n8n and MCP community**