n8n-mcp-server
by S17S17
The n8n-mcp-server is a Model-Controller-Provider (MCP) server implementation for n8n workflow automation. It provides a standardized interface for executing and managing n8n workflows through a JSON-RPC protocol.
Last updated: N/A
n8n-mcp-server
A Model-Controller-Provider (MCP) server implementation for n8n workflow automation. This server provides a standardized interface for executing and managing n8n workflows through a JSON-RPC protocol.
Features
- JSON-RPC 2.0 compliant API
- Workflow execution and management
- Environment-based configuration
- TypeScript support
- Comprehensive logging
- Docker support
Prerequisites
- Node.js >= 14.0.0
- n8n instance running and accessible
- n8n API key
Installation
- Clone the repository:
git clone https://github.com/S17S17/n8n-mcp-server.git
cd n8n-mcp-server
- Install dependencies:
npm install
- Configure environment variables:
cp .env.example .env
# Edit .env with your configuration
Configuration
The server can be configured through environment variables. See .env.example
for all available options.
Required environment variables:
N8N_URL
: URL of your n8n instance APIN8N_API_KEY
: Your n8n API keyN8N_API_HEADER
: Header name for API key (default: X-N8N-API-KEY)
Usage
Starting the Server
Several startup options are available:
# Standard start
npm start
# Development mode with hot reload
npm run start:dev
# Simple mode (minimal features)
npm run start:simple
# Debug mode
npm run debug
Docker Support
Build and run with Docker:
docker build -t n8n-mcp-server .
docker run -p 3000:3000 --env-file .env n8n-mcp-server
Or use Docker Compose:
docker-compose up
API Documentation
The server implements a JSON-RPC 2.0 interface with the following methods:
initialize
: Initialize the server connectionshutdown
: Gracefully shutdown the serverlistTools
: List available workflow toolscallTool
: Execute a specific workflow tool
See API.md for detailed API documentation.
Development
Building from Source
npm run build
Running Tests
npm test
Linting
npm run lint
Contributing
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Support
For support, please open an issue in the GitHub repository.