Files
n8n-mcp/docs/PRODUCTION_DEPLOYMENT.md
czlonkowski 1dd6b8e55f Clean up legacy documentation and scripts
- Remove all references to workflow execution/management features
- Delete legacy scripts for bidirectional n8n integration
- Update documentation to focus on node documentation serving only
- Remove old docker-compose files for workflow management
- Add simplified docker-compose.yml for documentation server
- Update CHANGELOG.md to reflect v2.0.0 and v2.1.0 changes
- Update Dockerfile to use v2 paths and database

The project is now clearly focused on serving n8n node documentation
to AI assistants, with no workflow execution capabilities.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-08 07:54:53 +00:00

4.2 KiB

Production Deployment Guide

This guide covers deploying the n8n Documentation MCP Server in production environments.

Overview

The n8n Documentation MCP Server provides node documentation and source code to AI assistants. It can be deployed:

  • Locally - Using stdio transport for Claude Desktop on the same machine
  • Remotely - Using HTTP transport for access over the internet

For remote deployment with full VM setup instructions, see REMOTE_DEPLOYMENT.md.

Local Production Deployment

Prerequisites

  • Node.js 18+ installed
  • Git installed
  • 500MB available disk space

Quick Start

  1. Clone and setup

    git clone https://github.com/yourusername/n8n-mcp.git
    cd n8n-mcp
    npm install
    npm run build
    
  2. Initialize database

    npm run db:rebuild:v2
    
  3. Configure Claude Desktop Edit Claude Desktop config (see README.md for paths):

    {
      "mcpServers": {
        "n8n-nodes": {
          "command": "node",
          "args": ["/absolute/path/to/n8n-mcp/dist/index-v2.js"],
          "env": {
            "NODE_DB_PATH": "/absolute/path/to/n8n-mcp/data/nodes-v2.db"
          }
        }
      }
    }
    

Docker Deployment

Using Docker Compose

  1. Create docker-compose.yml

    version: '3.8'
    services:
      n8n-docs-mcp:
        build: .
        volumes:
          - ./data:/app/data
        environment:
          - NODE_ENV=production
          - NODE_DB_PATH=/app/data/nodes-v2.db
        command: node dist/index-v2.js
    
  2. Build and run

    docker-compose up -d
    

Using Dockerfile

FROM node:18-alpine

WORKDIR /app

# Copy package files
COPY package*.json ./
RUN npm ci --only=production

# Copy built files
COPY dist/ ./dist/
COPY data/ ./data/

# Set environment
ENV NODE_ENV=production
ENV NODE_DB_PATH=/app/data/nodes-v2.db

# Run the server
CMD ["node", "dist/index-v2.js"]

Database Management

Automatic Rebuilds

Schedule regular database updates to get latest node documentation:

# Add to crontab
0 2 * * * cd /path/to/n8n-mcp && npm run db:rebuild:v2

Manual Rebuild

npm run db:rebuild:v2

Database Location

The SQLite database is stored at: data/nodes-v2.db

Backup

# Simple backup
cp data/nodes-v2.db data/nodes-v2.db.backup

# Timestamped backup
cp data/nodes-v2.db "data/nodes-v2-$(date +%Y%m%d-%H%M%S).db"

Monitoring

Database Statistics

Check the database status:

# Using SQLite directly
sqlite3 data/nodes-v2.db "SELECT COUNT(*) as total_nodes FROM nodes;"

# Using the MCP tool (in Claude)
# "Get database statistics for n8n nodes"

Logs

For local deployment:

# Run with logging
NODE_ENV=production node dist/index-v2.js 2>&1 | tee app.log

Performance Optimization

SQLite Optimization

The database uses these optimizations by default:

  • WAL mode for better concurrency
  • Memory-mapped I/O
  • Full-text search indexes

System Requirements

  • Minimum: 256MB RAM, 500MB disk
  • Recommended: 512MB RAM, 1GB disk
  • CPU: Minimal requirements (mostly I/O bound)

Security

Local Deployment

  • No network exposure (stdio only)
  • File system permissions control access
  • No authentication needed

Remote Deployment

See REMOTE_DEPLOYMENT.md for:

  • HTTPS configuration
  • Authentication setup
  • Firewall rules
  • Security best practices

Troubleshooting

Database Issues

If the database is missing or corrupted:

# Rebuild from scratch
rm data/nodes-v2.db
npm run db:rebuild:v2

Memory Issues

If running on limited memory:

# Limit Node.js memory usage
NODE_OPTIONS="--max-old-space-size=256" node dist/index-v2.js

Permission Issues

Ensure proper file permissions:

chmod 644 data/nodes-v2.db
chmod 755 data/

Updates

To update to the latest version:

# Pull latest code
git pull

# Install dependencies
npm install

# Rebuild
npm run build

# Rebuild database
npm run db:rebuild:v2

Support

For issues and questions: