* 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>
28 lines
735 B
Docker
28 lines
735 B
Docker
FROM python:3.12-slim
|
|
|
|
# StormLib (von RichChk mitgeliefert) braucht keine extra System-Libs auf glibc-Basis.
|
|
# 'slim' (Debian) ist glibc -> kompatibel mit der mitgelieferten StormLib .so.
|
|
|
|
ENV PYTHONUNBUFFERED=1 \
|
|
PIP_NO_CACHE_DIR=1 \
|
|
SC_TRANSPORT=http \
|
|
SC_HOST=0.0.0.0 \
|
|
SC_PORT=8000 \
|
|
SC_MAPS_DIR=/data/maps
|
|
|
|
WORKDIR /app
|
|
|
|
COPY requirements.txt /app/requirements.txt
|
|
RUN pip install --no-cache-dir -r requirements.txt
|
|
|
|
COPY starcraft_mcp /app/starcraft_mcp
|
|
COPY selftest.py /app/selftest.py
|
|
|
|
# Karten-Volume (Basis-Karten, WAVs, fertige Missionen).
|
|
RUN mkdir -p /data/maps
|
|
VOLUME ["/data/maps"]
|
|
|
|
EXPOSE 8000
|
|
|
|
# Streamable-HTTP-Endpunkt unter http://0.0.0.0:8000/mcp
|
|
CMD ["python", "-m", "starcraft_mcp.server"]
|