Use OpenWebUI-compatible GitHub MCP transport

This commit is contained in:
Mikei386
2026-08-23 18:11:12 +02:00
parent 933d2a6e7d
commit 2347073f3f
5 changed files with 37 additions and 27 deletions
+16 -13
View File
@@ -156,22 +156,25 @@ Last.fm-Profil noch auf dessen Hörverlauf zu.
Der GitHub-Container verwendet unverändert den offiziellen
`github/github-mcp-server` 1.10.1. Da dessen lokaler Container stdio spricht,
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.
wandelt `mcp-proxy` 0.12.0 ausschließlich den Transport in Streamable HTTP für
Open WebUI und weitere interne Clients um. Basisimage und GitHub-Image 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.
`mcp-proxy` läuft bewusst **stateless**. Die zuerst getestete Supergateway-
Brücke war mit Open WebUIs Python-MCP-Client nicht zuverlässig kompatibel: Im
stateful Betrieb konnten Sitzungen ablaufen; im stateless Betrieb beantwortete
sie die reguläre `notifications/initialized`-Nachricht mit HTTP 400. Beides
führte trotz gesundem GitHub-Server und gültigem Token zu
`Failed to connect to MCP server 'github-local'`. Der jetzt verwendete Proxy
ist derselbe Transport, der sich bereits beim Athena Platform Context MCP
bewährt hat.
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
Host-Port und speichert den Token nicht in Open WebUI.
`get_file_contents` und `search_code` angeboten. Der offizielle Server wird
zusätzlich explizit mit `--read-only` gestartet; die Umgebungsvariablen im
Compose-Stack bleiben als zweite, deklarative Sicherung erhalten. Damit sind
Schreiboperationen auch serverseitig ausgeschlossen. Der Container
veröffentlicht keinen Host-Port und speichert den Token nicht in Open WebUI.
Einrichtung: