diff --git a/docs/CURRENT_REFERENCE.md b/docs/CURRENT_REFERENCE.md index 6fa6193..1db2e60 100644 --- a/docs/CURRENT_REFERENCE.md +++ b/docs/CURRENT_REFERENCE.md @@ -169,6 +169,8 @@ Aktuell existieren funktionale Adapter für: Der GitHub-Container läuft produktiv. Token-Datei, interner Streamable-HTTP-Handshake, fehlende Host-Portfreigabe und exakt vier read-only Werkzeuge wurden am 23. August 2026 verifiziert. +Die Transportbrücke läuft stateless mit MCP `2025-11-25`, damit Open WebUI +keine bereits abgelaufenen serverseitigen Sitzungen wiederverwendet. Der Platform Context MCP läuft ohne Docker-Socket, Shell, Egress oder Secrets. Ein root-eigener Minutentimer erzeugt nur einen begrenzten Laufzeitsnapshot. diff --git a/docs/RECOVERY_REQUIREMENTS.md b/docs/RECOVERY_REQUIREMENTS.md index 864ead1..2e0a92c 100644 --- a/docs/RECOVERY_REQUIREMENTS.md +++ b/docs/RECOVERY_REQUIREMENTS.md @@ -48,6 +48,8 @@ Im Repository gesichert sind inzwischen: - Web-MCP-Fassade sowie gepinnte TinySearch-/SearXNG-Images - ARR-MCP 1.0.1 und der aktuell eingesetzte kompakte Sonarr-Patch - offizieller GitHub-MCP 1.10.1 mit Supergateway 3.4.3, beide per Digest gepinnt +- GitHub-Supergateway stateless mit MCP-Protokoll `2025-11-25`; keine + serverseitig ablaufenden Sitzungen für Open WebUI - Home-Assistant-Relay ohne eingebettetes Token - Startlogik und Health-Checks diff --git a/platform/mcp/Dockerfile.github b/platform/mcp/Dockerfile.github index 7079100..a043728 100644 --- a/platform/mcp/Dockerfile.github +++ b/platform/mcp/Dockerfile.github @@ -9,4 +9,7 @@ COPY --from=github /server/github-mcp-server /usr/local/bin/github-mcp-server USER 65532:65532 ENTRYPOINT ["supergateway"] -CMD ["--stdio", "/usr/local/bin/github-mcp-server stdio", "--outputTransport", "streamableHttp", "--stateful", "--sessionTimeout", "600000", "--streamableHttpPath", "/mcp", "--port", "8000", "--logLevel", "info"] +# Open WebUI can retain an MCP session longer than a stateful gateway keeps it +# alive. A later call then fails although both the token and server are healthy. +# Stateless mode provides a fresh auto-initialized stdio server per request. +CMD ["--stdio", "/usr/local/bin/github-mcp-server stdio", "--outputTransport", "streamableHttp", "--protocolVersion", "2025-11-25", "--streamableHttpPath", "/mcp", "--port", "8000", "--logLevel", "info"] diff --git a/platform/mcp/README.md b/platform/mcp/README.md index 4785c2d..f120369 100644 --- a/platform/mcp/README.md +++ b/platform/mcp/README.md @@ -160,6 +160,14 @@ wandelt Supergateway 3.4.3 ausschließlich den Transport in Streamable HTTP für Open WebUI und weitere interne Clients um. Beide Images sind per OCI-Digest festgeschrieben; die Brücke implementiert keine GitHub-Operationen. +Supergateway läuft hier bewusst **stateless** mit MCP-Protokoll +`2025-11-25`. Eine frühere stateful Konfiguration konnte nach dem Ablauf einer +serverseitigen Sitzung noch von Open WebUI referenziert werden; der nächste +Aufruf endete dann trotz gesundem Container mit +`Failed to connect to MCP server 'github-local'`. Stateless erzeugt je Anfrage +eine frische, automatisch initialisierte stdio-Sitzung und vermeidet diesen +Lebenszyklusfehler. + Dem Modell werden ausschließlich `search_repositories`, `get_repository_tree`, `get_file_contents` und `search_code` angeboten. `GITHUB_READ_ONLY=1` erzwingt zusätzlich serverseitig den Nur-Lesen-Modus. Der Container veröffentlicht keinen