Docs / Quick Start

Install mcpgate

One command. Self-hosted. No .env file needed.

curl -fsSL https://mcpgate.de/install.sh | bash

Reviewable shell script. Runs entirely on your infrastructure. No data sent externally.

1
Run the command above
Checks Docker, downloads Compose setup to ~/.mcpgate, starts the stack
2
Open localhost:8642
The setup wizard walks you through login, branding, and service connections
3
Connect your AI client
Claude, Codex, Gemini, or ChatGPT — from the dashboard

Requirements

  • Docker and Docker Compose v2
  • A Google or Microsoft account (for initial login)
  • A Linux host (amd64 or arm64); we recommend 2 vCPU and 4 GB RAM. Hardware, volumes and network: Self-hosting

Manual Docker install

If you prefer to review and run the setup yourself, create a new directory first:

mkdir mcpgate && cd mcpgate

Save the following as docker-compose.yml:

# mcpgate — Zero-Config Setup
#
# Just run: docker compose up -d
# Then open: http://localhost:8642
#
# The setup wizard guides you through everything.
# Secrets are auto-generated on first start.
# Configuration is persisted in the gateway-data volume.
#
# For advanced configuration, create a .env file (see .env.example).

services:
  mcpgate:
    image: mcpgate/mcpgate:latest
    ports:
      # Only this machine reaches the port. Put a TLS reverse proxy in front of it.
      - "127.0.0.1:8642:3001"
    env_file:
      - path: .env
        required: false
    environment:
      - BASE_URL=${BASE_URL:-http://localhost:8642}
      - REDIS_URL=redis://:${REDIS_PASSWORD:-mcpgate-default-pw}@redis:6379/0
    depends_on:
      redis:
        condition: service_healthy
    restart: unless-stopped
    healthcheck:
      test: ["CMD", "curl", "-sf", "http://localhost:3001/health"]
      interval: 10s
      timeout: 5s
      retries: 3
      start_period: 15s
    volumes:
      - gateway-data:/app/data
    networks:
      - default
      - ner

  redis:
    image: redis:8-alpine
    command: redis-server --requirepass ${REDIS_PASSWORD:-mcpgate-default-pw} --appendonly yes --maxmemory 512mb --maxmemory-policy noeviction
    volumes:
      - redis-data:/data
    healthcheck:
      test: ["CMD", "redis-cli", "-a", "${REDIS_PASSWORD:-mcpgate-default-pw}", "ping"]
      interval: 5s
      retries: 3
    restart: unless-stopped

  # Optional NER container for person names: docker compose --profile ner up -d
  # Then in .env: NER_SERVICE_URL=http://172.31.250.2:8765/
  # It has no authentication: publish no port.
  ner:
    image: mcpgate/ner:v2.0.3584
    profiles: ["ner"]
    restart: unless-stopped
    networks:
      ner:
        ipv4_address: 172.31.250.2
    deploy:
      resources:
        limits:
          cpus: "3"
          memory: 1536M
    healthcheck:
      test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8765/health', timeout=3)"]
      interval: 30s
      timeout: 5s
      retries: 3
      start_period: 30s

networks:
  # Change the subnet and NER_SERVICE_URL if it collides with one of your networks.
  ner:
    ipam:
      config:
        - subnet: 172.31.250.0/29

volumes:
  gateway-data:
  redis-data:

Start the stack

docker compose up -d

That's it. Secrets are auto-generated on first start. Configuration is persisted automatically.

Open the setup wizard

Open localhost:8642 in your browser. The wizard walks you through:

  • Login — Sign in with Google or Microsoft (no OIDC setup needed)
  • Branding — Company name, logo, and primary color
  • Team — Admin emails and company domain
  • Services — Connect Jira, Slack, GitLab, Grafana, and more

Connect your AI client

After setup, connect your preferred AI client from the dashboard.

claude mcp add mcpgate https://your-gateway-url/mcp -s user -t http

For company-wide setup: Admin Settings → Connectors → add https://your-gateway-url/mcp

Verify

curl http://localhost:8642/health
# returns JSON with status and version

Updates

docker compose pull
docker compose up -d

Alternative: git clone

If you prefer to start from the repository (includes .env.example and documentation):

git clone https://gitlab.com/mcpgate/mcpgate.git
cd mcpgate
docker compose up -d

Advanced: .env configuration

For users who prefer file-based configuration:

cp .env.example .env
# Edit .env with your values
docker compose up -d

Environment variables take priority over wizard configuration. See Configuration Reference for all options.