StarCraft-Kampagnen-MCP-Server ("Missions-Baumeister") (#1)
* 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>
This commit is contained in:
parent
57502546bc
commit
4075cf4ebd
17 changed files with 1886 additions and 1 deletions
40
run.sh
Executable file
40
run.sh
Executable file
|
|
@ -0,0 +1,40 @@
|
|||
#!/usr/bin/env bash
|
||||
# Ein-Befehl-Start/Neustart des StarCraft-Kampagnen-MCP-Servers.
|
||||
#
|
||||
# ./run.sh -> baut (falls noetig) und startet/neustartet den Container
|
||||
# ./run.sh logs -> zeigt die Live-Logs
|
||||
# ./run.sh selftest -> fuehrt den Selbsttest im Container aus
|
||||
# ./run.sh stop -> stoppt den Container
|
||||
set -euo pipefail
|
||||
cd "$(dirname "$0")"
|
||||
|
||||
# docker compose (v2) bevorzugen, sonst docker-compose (v1).
|
||||
if docker compose version >/dev/null 2>&1; then
|
||||
DC="docker compose"
|
||||
else
|
||||
DC="docker-compose"
|
||||
fi
|
||||
|
||||
cmd="${1:-up}"
|
||||
case "$cmd" in
|
||||
up|"")
|
||||
$DC up -d --build
|
||||
echo
|
||||
echo "Server laeuft. Streamable-HTTP-Endpunkt intern: http://sc-mcp:8000/mcp"
|
||||
echo "Oeffentlich (via Caddy): https://sc-mcp.pixel-by-design.de/mcp"
|
||||
;;
|
||||
logs)
|
||||
$DC logs -f sc-mcp
|
||||
;;
|
||||
selftest)
|
||||
$DC run --rm sc-mcp python selftest.py
|
||||
;;
|
||||
stop|down)
|
||||
$DC down
|
||||
;;
|
||||
*)
|
||||
echo "Unbekannter Befehl: $cmd"
|
||||
echo "Nutze: ./run.sh [up|logs|selftest|stop]"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
Loading…
Add table
Add a link
Reference in a new issue