服务堆栈管理工具

MCP Stack是一个用于管理多服务堆栈的工具,支持Docker和Proxmox环境,适用于开发环境和服务管理。

  • by VugasDev
  • Dockerfile
  • 本地部署
  • 更新于
在 GitHub 查看 VugasDev/mcp-stack

使用说明

MCP Stack (WSL)

MCP-Server-Stack für Claude Code in WSL. Zwei Gateway-Instanzen für Catalog-Server und Proxmox.

Architektur

Claude Code (WSL)
  ├── localhost:3000/sse  →  mcp-gateway (Docker MCP Gateway)
  │                              ├── github-official
  │                              ├── n8n
  │                              ├── obsidian
  │                              ├── prometheus
  │                              ├── ffmpeg
  │                              ├── youtube_transcript
  │                              └── docker-docs
  │
  └── localhost:3001/sse  →  mcp-proxmox (Supergateway + Python)
                                 └── 40+ Proxmox VE Tools

→ Architektur-Details und Migrationspläne: docs/architecture.md

Voraussetzungen

  • Docker Engine in WSL (systemd-managed)
  • ~/.docker/mcp/ mit Konfigurationsdateien

Konfiguration

Secrets (.env)

.env.example kopieren und ausfüllen (nicht committen):

cp .env.example .env

Enthält:

  • GITHUB_PERSONAL_ACCESS_TOKEN, OBSIDIAN_API_KEY, N8N_API_KEY, N8N_API_URL
  • PROXMOX_HOST, PROXMOX_USER, PROXMOX_TOKEN_NAME, PROXMOX_TOKEN_VALUE

Aktive Catalog-Server (registry.yaml)

~/.docker/mcp/registry.yaml – Server eintragen/entfernen:

registry:
  github-official:
    ref: ""
  n8n:
    ref: ""
  # weiterer Server:
  # context7:
  #   ref: ""

Server-Konfiguration (config.yaml)

~/.docker/mcp/config.yaml:

n8n:
  api_url: http://<HOST_IP>:5678/

Claude Code registrieren (~/.claude.json)

{
  "mcpServers": {
    "MCP_DOCKER": { "type": "sse", "url": "http://localhost:3000/sse" },
    "proxmox":    { "type": "sse", "url": "http://localhost:3001/sse" }
  }
}

Starten / Stoppen

# Erstes Mal: mcp-proxmox Image bauen (dauert einige Minuten)
docker compose build mcp-proxmox

# Alle Services starten
docker compose up -d

# Nur mcp-gateway starten (ohne Proxmox)
docker compose up -d mcp-gateway

# Logs
docker logs mcp-gateway -f
docker logs mcp-proxmox -f

# Stoppen
docker compose down

# Via systemd (automatisch beim WSL-Start)
sudo systemctl start mcp-stack
sudo systemctl stop mcp-stack
sudo systemctl status mcp-stack

Proxmox API-Token erstellen

In der Proxmox Web-UI:

  1. Datacenter → Permissions → API Tokens → Add
  2. User: root@pam, Token ID: claude
  3. „Privilege Separation" deaktivieren für vollen Zugriff
  4. Token-UUID in .env eintragen als PROXMOX_TOKEN_VALUE

Catalog-Server hinzufügen (Option A)

Eintrag in ~/.docker/mcp/registry.yaml:

registry:
  context7:
    ref: ""

→ docker compose restart mcp-gateway

Eigenen MCP-Server hinzufügen (Option B)

Neuen Service in docker-compose.yml:

  mcp-meinserver:
    image: supercorp/supergateway
    ports:
      - "3002:8000"
    command: >
      --stdio "npx -y @modelcontextprotocol/server-meinserver"
      --port 8000
      --ssePath /sse
      --messagePath /message
    restart: unless-stopped

In ~/.claude.json registrieren:

"mein-server": { "type": "sse", "url": "http://localhost:3002/sse" }

Automatischer Start

systemd-Service startet automatisch nach WSL-Boot:

/etc/systemd/system/mcp-stack.service → docker compose up -d

Migration zum Heimserver (LXC 101)

Wenn der Stack auf Proxmox LXC 101 umzieht:

  1. mcp-stack/ auf LXC kopieren
  2. ~/.docker/mcp/ auf LXC kopieren
  3. .env auf LXC anlegen
  4. docker compose up -d
  5. In ~/.claude.json URLs auf LXC-IP ändern:
    • http://<lxc-ip>:3000/sse
    • http://<lxc-ip>:3001/sse