From d332a03e4f1c5c4c787b3f3bbee1b2839ab42405 Mon Sep 17 00:00:00 2001 From: czlonkowski <56956555+czlonkowski@users.noreply.github.com> Date: Mon, 16 Jun 2025 23:40:35 +0200 Subject: [PATCH] fix: simplify Docker quick start and remove conflicting docker-compose setup MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Major simplification of Docker setup: - Removed unnecessary docker-compose.yml creation (was causing conflicts) - Removed volume mounting (not needed for stateless MCP) - Added --pull always to ensure latest version - Separated Claude Desktop setup from HTTP server setup - Fixed the fundamental issue: can't mix service mode with interactive mode The new approach: - Claude Desktop: Simple docker run with stdio mode - HTTP Server: Separate section for team deployments - No volume conflicts or container name issues - Works immediately without any prep work This fixes the configuration that wouldn't work due to: 1. Docker Compose running as daemon vs Claude needing interactive 2. Named volume dependencies 3. Container conflicts Now it's truly a 5-minute setup with just copy-paste. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- README.md | 62 ++++++++++++++++++++++++++----------------------------- 1 file changed, 29 insertions(+), 33 deletions(-) diff --git a/README.md b/README.md index 41cd4e6..a4fc88d 100644 --- a/README.md +++ b/README.md @@ -37,37 +37,7 @@ Get n8n-MCP running in 5 minutes: **Prerequisites:** [Docker Desktop](https://www.docker.com/products/docker-desktop/) installed on your system -```bash -# 1. Create .env file with auth token -echo "AUTH_TOKEN=$(openssl rand -base64 32)" > .env - -# 2. Create docker-compose.yml -cat > docker-compose.yml << 'EOF' -services: - n8n-mcp: - image: ghcr.io/czlonkowski/n8n-mcp:latest - container_name: n8n-mcp - ports: - - "3000:3000" - environment: - - MCP_MODE=stdio - - LOG_LEVEL=error - - DISABLE_CONSOLE_OUTPUT=true - volumes: - - n8n-mcp-data:/app/data - restart: unless-stopped - -volumes: - n8n-mcp-data: -EOF - -# 3. Start the container -docker compose up -d - -# 4. Configure Claude Desktop -# Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) -# or %APPDATA%\Claude\claude_desktop_config.json (Windows) -``` +### For Claude Desktop Add this to your Claude Desktop config: ```json @@ -77,10 +47,10 @@ Add this to your Claude Desktop config: "command": "docker", "args": [ "run", "--rm", "-i", + "--pull", "always", "-e", "MCP_MODE=stdio", "-e", "LOG_LEVEL=error", "-e", "DISABLE_CONSOLE_OUTPUT=true", - "-v", "n8n-mcp-data:/app/data", "ghcr.io/czlonkowski/n8n-mcp:latest" ] } @@ -88,7 +58,33 @@ Add this to your Claude Desktop config: } ``` -**5. Restart Claude Desktop** - That's it! 🎉 +**Configuration file locations:** +- **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json` +- **Windows**: `%APPDATA%\Claude\claude_desktop_config.json` +- **Linux**: `~/.config/Claude/claude_desktop_config.json` + +**Restart Claude Desktop** - That's it! 🎉 + +### For HTTP Server (Teams) + +If you want to run n8n-MCP as a shared service: + +```bash +# 1. Create .env file +echo "AUTH_TOKEN=$(openssl rand -base64 32)" > .env + +# 2. Run with Docker Compose +docker run -d \ + --name n8n-mcp-server \ + --restart unless-stopped \ + -e MCP_MODE=http \ + -e USE_FIXED_HTTP=true \ + -e AUTH_TOKEN=$AUTH_TOKEN \ + -p 3000:3000 \ + ghcr.io/czlonkowski/n8n-mcp:latest +``` + +See [HTTP Deployment Guide](./docs/HTTP_DEPLOYMENT.md) for team setup. ## Features