Files
AI-Profile-Router/docs/GITHUB_MCP.md
T

79 lines
2.8 KiB
Markdown

# GitHub MCP: sicherer Lese- und Wartungsmodus
## Normalbetrieb
Athena startet den offiziellen GitHub MCP grundsätzlich im Nur-Lesen-Modus.
Sichtbar sind exakt:
- `search_repositories`
- `get_repository_tree`
- `get_file_contents`
- `search_code`
Der Token liegt ausschließlich in `/etc/mike-ai/github-mcp.env` (Modus 0600).
Er steht weder in Open WebUI noch in Git, der Dokumentation oder dem Platform
Context MCP. Der Container besitzt keinen Host-Port.
Status anzeigen:
```bash
sudo /opt/mike-ai/stack/platform/mcp/github-mcp-mode.sh status
```
## Bewusster Wartungstermin mit Schreibzugriff
Wenn Dateien in einem eigenen Repository geändert werden sollen, aktiviert der
Administrator den begrenzten Wartungsmodus:
```bash
sudo /opt/mike-ai/stack/platform/mcp/github-mcp-mode.sh maintenance --confirm
```
Zusätzlich zu den Lesewerkzeugen werden nur diese Operationen angeboten:
- Branches auflisten und einen neuen Branch anlegen
- eine oder mehrere Dateien committen
- einen Pull Request anlegen
Absichtlich fehlen Löschen, Mergen, Repository-Erstellung, Workflow-Ausführung,
Issue-Veränderungen und administrative Werkzeuge. Trotzdem ist dies echter
Schreibzugriff. Vor jeder Änderung muss das Modell den aktuellen Dateiinhalt
lesen, auf einem neuen Branch arbeiten und Ziel, Dateien und Wirkung nennen.
Nach der Arbeit sofort zurückschalten:
```bash
sudo /opt/mike-ai/stack/platform/mcp/github-mcp-mode.sh read
```
Beide Umschaltungen starten nur den GitHub-MCP-Container neu und danach kurz
das Open-WebUI-Backend, damit dessen Werkzeugcache sicher zum aktiven Modus
passt. LLM-Profile, Router, VPN und andere MCPs werden nicht neu gestartet.
## Token-Rechte
Die serverseitige Werkzeugliste ersetzt keine saubere Tokenbegrenzung. Für den
Normalbetrieb ist ein nur lesender Fine-grained PAT ideal. Ein Token, der auch
schreiben darf, sollte nur Zugriff auf ausdrücklich ausgewählte Repositories und
den geringsten benötigten `Contents`-Umfang erhalten. Geschützte Hauptbranches
und verpflichtende Pull Requests bilden die zweite Schutzschicht.
Nach Tokenwechsel oder Rechteänderung:
```bash
sudo /opt/mike-ai/stack/platform/mcp/github-mcp-mode.sh read
```
## Fehlerbehebung
`Failed to connect to MCP server 'github-local'` war am 23. August 2026 kein
Tokenfehler. Supergateway beantwortete den regulären MCP-Handshake von Open
WebUI fehlerhaft. Produktiv wird deshalb der offizielle GitHub MCP 1.10.1 über
`mcp-proxy` 0.12.0 bereitgestellt. Der Pfad wurde mit Open WebUIs eigenem
Python-MCP-Client und einer echten öffentlichen Repositorysuche geprüft.
Der Normalmodus ist Teil des Installationsskripts. Skript, Compose-Override und
diese Anleitung liegen im Git-Repository und werden vom Recovery-Koffer
mitgeführt. Das Platform Context MCP kann diese Anleitung lesen, erhält aber
weder Token noch die Fähigkeit, den Modus selbst unbemerkt umzuschalten.