N8N2MCP

Super-Chain/N8N2MCP

3.5

If you are the rightful owner of N8N2MCP and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

The Model Context Protocol (MCP) server is a platform that transforms N8N workflows into callable AI functions, enabling seamless integration with AI assistants and MCP-compatible platforms.

Screenshot 2025-07-21 at 5 38 29 PM

N8N2MCP - Turn your N8N workflow to MCP servers with just 3 clicks | Product Hunt

Transform your N8N workflows into MCP servers instantly

A comprehensive platform that converts N8N workflows into Model Context Protocol (MCP) servers, enabling seamless integration with AI assistants like Claude, Cursor, and other MCP-compatible platforms. Build powerful automation tools using N8N's visual workflow editor and deploy them as callable AI functions.

✨ How to use

  1. Copy the N8N template link/JSON from any workflow

  2. Map your credentials through our intuitive interface

  3. Deploy with one click!

Your N8N workflow gets deployed and creates a local hosted MCP server. Just paste the server URL into Claude, Cursor, Super Chain, or any MCP-compatible platform!

šŸŽÆ Key Features

šŸ¤– MCP Server Creation

Convert your N8N workflows into MCP servers that AI assistants can use as custom tools

šŸ”„ Dual Architecture

  • Agent Marketplace: Web-based workflow management and deployment platform
  • MCP Router: High-performance MCP server creation and routing system

šŸ› ļø Comprehensive Workflow Management

  • Browse and deploy pre-built workflow templates
  • Upload and manage your custom N8N workflows
  • Real-time credential configuration and testing
  • One-click deployment to your N8N instance

šŸ—ļø Architecture

graph TB
    subgraph "AI Assistant Layer"
        A[Claude/Cursor/Super Chain]
    end
    
    subgraph "N8N 2 MCP"
        B[Agent Marketplace<br/>Flask Web App]
        C[MCP Router<br/>FastAPI Service]
        D[Workflow Parser<br/>Analysis Engine]
    end
    
    subgraph "Infrastructure"
        E[Supabase Database]
        F[N8N Instance]
        G[Credential Manager]
    end
    
    A -->|MCP Protocol| C
    C -->|Dynamic MCP| F
    B -->|Workflow Management| E
    B -->|Deploy & Configure| F
    C -->|User Config| E
    B -->|Parse & Analyze| D
    D -->|Extract Requirements| G
    G -->|Secure Handling| F

šŸ“¦ Installation

Prerequisites

  • Python 3.11+
  • N8N Instance (cloud.n8n.io or self-hosted)
  • Supabase Account (for data storage)
  • Playwright (required for N8N authentication)
  • Docker (optional, for containerized deployment)

āš ļø Important: Playwright installation is required for N8N workflow execution. The system will use dummy credentials if Playwright is not properly installed, limiting functionality.

Quick Start

Option 1: Docker Compose (Recommended)
  1. Clone the repository

    git clone https://github.com/Super-Chain/N8N2MCP.git
    cd N8N2MCP
    
  2. Configure environment

    cp env.example .env
    # Edit .env with your actual configuration values
    
  3. Start with Docker Compose

    docker-compose up -d
    

    This starts:

  4. View logs

    docker-compose logs -f
    
Option 2: Manual Installation
  1. Clone the repository

    git clone https://github.com/Super-Chain/N8N2MCP.git
    cd N8N2MCP
    
  2. Install dependencies

    pip install -r requirements.txt
    
  3. Install Playwright browsers (Required)

    playwright install
    # This downloads the necessary browser binaries for N8N authentication
    
  4. Configure environment

    # Copy and edit the .env file (see Environment Configuration section)
    cp .env.example .env
    
    # Supabase Configuration
    SUPABASE_URL=https://your-project-id.supabase.co
    SUPABASE_KEY=your_supabase_anon_key
    SUPABASE_SERVICE_KEY=your_supabase_service_role_key
    
    # N8N Configuration
    X_N8N_API_KEY=your_n8n_api_key
    N8N_BASE_URL=https://your-n8n-instance.com
    N8N_USERNAME=your_n8n_username
    N8N_PASSWORD=your_n8n_password
    
    # MCP Router Configuration
    N8N_BUILDER_URL=http://localhost:6545
    
    # Server Configuration
    FLASK_HOST=0.0.0.0
    FLASK_PORT=5000
    MCP_HOST=0.0.0.0
    MCP_PORT=6545
    
    # Optional: Authentication credentials (auto-populated)
    N8N_AUTH=
    N8N_BROWSER_ID=   
    
  5. Start both servers

    python main.py
    

    This starts:

  6. Access to UI Front end : http://localhost:5000

Configuration Notes:

  • SUPABASE_URL: Your Supabase project URL
  • SUPABASE_KEY: Anon key for client-side operations
  • SUPABASE_SERVICE_KEY: Service role key for admin operations
  • N8N_BASE_URL: Your N8N instance URL (must include https://)
  • N8N_BUILDER_URL: Must include http:// protocol

šŸ”§ Usage

Creating MCP Servers from N8N Workflows

Method 1: Import N8N Templates
  1. Browse Templates: Visit the N8N template
  2. Import Template: Enter an N8N template URL from n8n.io
  3. Configure Credentials: Fill in required API keys and service credentials
  4. Deploy Workflow: Click deploy to create the workflow in your N8N instance
  5. MCP Server Created: Automatically generates an MCP server endpoint
Method 2: Upload Custom Workflows
  1. Upload JSON: Upload your N8N workflow JSON file / Copy and paste your JSON workflow
  2. Review Analysis: Check detected nodes and required credentials
  3. Configure & Deploy: Fill credentials and deploy to N8N
  4. Access MCP Server: Use the generated MCP endpoint in AI tools
Using MCP Servers
# Example MCP server URL format:
http://localhost:6545/mcp/{workflow_id}/{api_key}

# Test MCP server:
curl http://localhost:6545/list  # List all registered MCP servers

šŸŽØ Use Cases

šŸ” Data Processing & Analysis

  • Transform CSV/Excel files using N8N's data manipulation nodes
  • Connect to databases and APIs for real-time data analysis
  • Generate reports and visualizations from AI conversations

🌐 API Integration Hub

  • Connect AI assistants to external services (Slack, Google, etc.)
  • Create custom API endpoints for proprietary systems
  • Build unified interfaces for multiple SaaS platforms

šŸ“§ Communication & Notifications

  • Send emails, Slack messages, or Discord notifications
  • Create automated reporting systems
  • Build alert systems triggered by AI interactions

šŸ”„ Workflow Automation

  • Trigger complex business processes from AI conversations
  • Create approval workflows and task management systems
  • Build custom integrations with enterprise systems

šŸ› ļø Development

Project Structure

N8N2MCP/
ā”œā”€ā”€ main.py                        # Unified server startup script
ā”œā”€ā”€ requirements.txt               # Consolidated Python dependencies
ā”œā”€ā”€ .env                          # Environment configuration (shared)
│
ā”œā”€ā”€ agent_marketplace/             # Flask web application
│   ā”œā”€ā”€ app.py                    # Main Flask app with API endpoints
│   ā”œā”€ā”€ database.py               # Supabase integration & data models
│   ā”œā”€ā”€ n8n_workflow_parser.py    # Workflow analysis engine
│   ā”œā”€ā”€ setup_supabase.py         # Database setup utilities
│   ā”œā”€ā”€ templates/                # HTML templates
│   │   ā”œā”€ā”€ workflows.html        # Main marketplace interface
│   │   └── static/               # CSS, JS assets
│   └── __init__.py               # Python package marker
│
ā”œā”€ā”€ mcp_router/                   # FastAPI MCP service
│   ā”œā”€ā”€ mcp_router.py             # Main FastAPI application
│   ā”œā”€ā”€ n8n_credential_extractor.py # N8N authentication
│   ā”œā”€ā”€ credential_helper.py       # Credential management utilities
│   └── __init__.py               # Python package marker
│
└── README.md                     # This documentation

Database Setup

The system uses 2 main tables in Supabase:

Setup
  1. Create Supabase Project: Set up a new project at supabase.com
  2. Run SQL in Supabase SQL Editor:
-- Main workflow storage table
CREATE TABLE IF NOT EXISTS public.user_workflows (
    id UUID DEFAULT gen_random_uuid() PRIMARY KEY,
    user_id TEXT NOT NULL,
    template_id TEXT NOT NULL,
    template_url TEXT NOT NULL,
    workflow_name TEXT NOT NULL,
    workflow_json JSONB NOT NULL,
    workflow_description TEXT,
    n8n_workflow_id TEXT,
    source TEXT DEFAULT 'user_upload',
    credentials_required JSONB DEFAULT '[]'::jsonb,
    mcp_link TEXT,
    status TEXT DEFAULT 'pending',
    created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
    updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW()
);

-- MCP server configurations
CREATE TABLE IF NOT EXISTS public.mcp_configs (
    id UUID DEFAULT gen_random_uuid() PRIMARY KEY,
    workflow_id TEXT NOT NULL,
    user_apikey TEXT NOT NULL,
    code TEXT NOT NULL,
    created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
    updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
    UNIQUE(workflow_id, user_apikey)
);

-- Enable Row Level Security (recommended)
ALTER TABLE user_workflows ENABLE ROW LEVEL SECURITY;
ALTER TABLE mcp_configs ENABLE ROW LEVEL SECURITY;

šŸš€ Running the System

Unified Startup (Recommended)

python main.py

This automatically starts both services with:

  • āœ… Environment validation
  • āœ… Database setup verification
  • āœ… Graceful shutdown handling
  • āœ… Centralized logging

Individual Services

Agent Marketplace (Port 5000)
cd agent_marketplace
python app.py
MCP Router (Port 6545)
cd mcp_router
python mcp_router.py

Verification

# Test Agent Marketplace
curl http://localhost:5000/api/health

# Test MCP Router
curl http://localhost:6545/list

# View all endpoints
curl http://localhost:5000/api/health | grep endpoints

šŸ”§ Troubleshooting

Common Issues

Port Already in Use
# Kill processes on ports 5000 and 6545
fuser -k 5000/tcp 6545/tcp
# Or restart with main.py which handles this automatically
python main.py
Database Connection Issues
# Verify Supabase configuration
python -c "from agent_marketplace.database import db_manager; print('āœ… Database OK' if db_manager.supabase else 'āŒ Database connection failed')"

# Reset database tables
python agent_marketplace/setup_supabase.py
MCP Router Not Responding
# Check if MCP Router is running
curl http://localhost:6545/list

# View MCP Router logs
# Logs appear in terminal where main.py was started
N8N Workflow Creation Fails
  • Verify N8N_BASE_URL includes https://
  • Check X_N8N_API_KEY is valid and has workflow creation permissions
  • Ensure N8N instance is accessible from your server
Missing Dependencies
# Install missing packages
pip install playwright
playwright install  # For N8N authentication (required)

# Or install all dependencies
pip install -r requirements.txt
Playwright Browser Issues
# If playwright browsers fail to download
playwright install --force

# For headless environments (servers)
playwright install chromium

# Check if playwright is working
python -c "from playwright.async_api import async_playwright; print('āœ… Playwright OK')"

Development Tips

# Enable debug mode for Flask
export FLASK_DEBUG=1

# View detailed MCP Router logs
cd mcp_router && python mcp_router.py --log-level debug

# Test individual components
python -m agent_marketplace.n8n_workflow_parser  # Test parser
python -m mcp_router.mcp_router                  # Test MCP Router

šŸ” Security Best Practices

  • Credential Management: Never store user credentials server-side
  • API Key Rotation: Regularly rotate N8N API keys and Supabase keys
  • Network Security: Use HTTPS in production with proper SSL certificates
  • Access Control: Implement proper authentication and authorization
  • Data Isolation: Ensure proper user data segregation with RLS policies

šŸ¤ Contributing

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Commit your changes: git commit -m 'Add amazing feature'
  4. Push to the branch: git push origin feature/amazing-feature
  5. Open a Pull Request

šŸ“„ License

This project is licensed under the MIT License - see the file for details.

šŸ“‹ Quick Reference

API Endpoints

Agent Marketplace (Port 5000)
  • GET / - Main marketplace interface
  • GET /api/health - Health check and available endpoints
  • POST /api/import-n8n-template-enhanced - Import N8N template
  • POST /api/deploy-workflow-to-n8n - Deploy workflow with credentials
  • GET /api/user/uploaded-workflows - List user workflows
  • GET /api/user/mcp-servers - List active MCP servers
MCP Router (Port 6545)
  • GET /list - List all registered MCP servers
  • POST /n8n/build - Create MCP server from N8N workflow
  • GET /n8n/credentials/status - Check N8N credential status
  • /mcp/{workflow_id}/{api_key} - MCP server endpoint

Key File Locations

  • Configuration: .env (root directory)
  • Main Startup: main.py
  • Flask App: agent_marketplace/app.py
  • MCP Router: mcp_router/mcp_router.py

šŸ†˜ Support

  • Issues: GitHub Issues
  • Documentation: Check this README and inline code documentation
  • Community: Join our community discussions for help and feature requests

šŸ™ Acknowledgments


Star History

Star History Chart

Built with ā¤ļø by the SUPERCHAIN team for the AI automation community