* Projekt-Spezifikation für StarCraft-Kampagnen-MCP-Server in README festhalten Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NaZBZofC1on2gkSMb5UWZy * StarCraft-Kampagnen-MCP-Server: vollstaendige Implementierung FastMCP-Server (stdio + Streamable HTTP) mit 13 sc_-Tools fuer das Lesen und Schreiben von StarCraft-Brood-War-Karten (.scm/.scx) ueber RichChk: - sc_list_maps, sc_describe_map, sc_list_locations, sc_list_triggers (lesen) - sc_create_location, sc_rename_location, sc_set_player_setup - sc_add_trigger (Kern-Tool: 10 Condition- und 20 Action-Typen), sc_remove_trigger, sc_clear_triggers - sc_embed_wav (Voiceover/Sound-Einbettung), sc_save_map, sc_reset_map Tolerante Pydantic-Eingaben, hilfreiche Fehlermeldungen, readOnly/destructive-Hints. Karten-Sitzung im Speicher pro Basis-Karte; Basis-Karte bleibt unveraendert. Deployment: Dockerfile (python:3.12-slim), docker-compose, Caddyfile, run.sh. Beispiel-Basis-Karte in data/maps. Selbsttest beweist die ganze Pipeline. Verifiziert: Pipeline + alle Tools + WAV-Einbettung + Streamable-HTTP-Handshake (echter MCP-Client), unter Python 3.11 und 3.12. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NaZBZofC1on2gkSMb5UWZy --------- Co-authored-by: Claude <noreply@anthropic.com>
37 lines
1.2 KiB
YAML
37 lines
1.2 KiB
YAML
# StarCraft-Kampagnen-MCP-Server ("Missions-Baumeister").
|
|
#
|
|
# Einbindung in ein bestehendes Setup mit Caddy als Reverse-Proxy:
|
|
# - Der Server lauscht intern auf Port 8000 (Streamable HTTP, Pfad /mcp).
|
|
# - Caddy terminiert TLS und leitet die Subdomain an diesen Service weiter.
|
|
# Siehe Caddyfile in diesem Repo.
|
|
#
|
|
# Start/Neustart: ./run.sh (oder: docker compose up -d --build)
|
|
|
|
services:
|
|
sc-mcp:
|
|
build: .
|
|
image: starcraft-campaign-mcp:latest
|
|
container_name: sc-mcp
|
|
restart: unless-stopped
|
|
environment:
|
|
SC_TRANSPORT: "http"
|
|
SC_HOST: "0.0.0.0"
|
|
SC_PORT: "8000"
|
|
SC_MAPS_DIR: "/data/maps"
|
|
volumes:
|
|
# Karten, WAVs und fertige Missionen liegen auf dem Host und bleiben erhalten.
|
|
- ./data/maps:/data/maps
|
|
# Standardmaessig NICHT nach aussen exponiert; Caddy spricht den Service im
|
|
# gemeinsamen Docker-Netzwerk ueber den Namen "sc-mcp:8000" an.
|
|
# Zum lokalen Testen ohne Caddy diese Zeilen einkommentieren:
|
|
# ports:
|
|
# - "8000:8000"
|
|
networks:
|
|
- web
|
|
|
|
# Externes Netzwerk, in dem auch Caddy haengt. Passe den Namen an dein Setup an
|
|
# (z.B. das von deinem bestehenden Caddy genutzte Netzwerk).
|
|
networks:
|
|
web:
|
|
external: true
|
|
name: caddy
|