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
21 lines
807 B
Python
21 lines
807 B
Python
"""StarCraft-Kampagnen-MCP-Server ("Missions-Baumeister").
|
|
|
|
Ein MCP-Server, der StarCraft-Brood-War-Karten (.scm/.scx) liest und schreibt,
|
|
damit Claude aus einer Kreativ-Vorlage echte, spielbare Missionsdateien baut.
|
|
Die Karten-Manipulation laeuft komplett ueber die Bibliothek RichChk.
|
|
"""
|
|
|
|
import os as _os
|
|
|
|
# RichChk loggt sonst sehr ausfuehrlich (INFO/WARNING) nach stderr. Wir setzen das
|
|
# Log-Level per RichChk-Config-Datei auf CRITICAL, BEVOR irgendein RichChk-Logger
|
|
# erzeugt wird (RichChk liest die Datei beim ersten get_logger). Das haelt die Ausgabe
|
|
# sauber; unsere Tools melden Fehler ohnehin als Exceptions.
|
|
_os.environ.setdefault(
|
|
"io.sethmachine.richchk.config",
|
|
_os.path.join(_os.path.dirname(__file__), "richchk_logging.yaml"),
|
|
)
|
|
|
|
__all__ = ["__version__"]
|
|
|
|
__version__ = "0.1.0"
|