Star-Edit/starcraft_mcp/__init__.py
Claude 9604e26351
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
2026-06-22 07:35:13 +00:00

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"