Add official read-only GitHub MCP

This commit is contained in:
Mikei386 committed 2026-08-23 16:55:40 +02:00
1 parent 111ccaa543
commit 825f4ed469
12 files changed
+161 -16

No files matched your search

+36 -4
View File
@@ -14,6 +14,7 @@ Prompts heraus, verhindert den früher beobachteten Kontextverbrauch von über
| `mcp-homeassistant` | `http://mike-ai-mcp-homeassistant:8000/mcp` | Relay zum nativen HA-MCP; Token bleibt serverseitig | Profil `homeassistant` |
| `mcp-arr` | `http://mike-ai-mcp-arr:8000/mcp` | Sonarr/Radarr/Prowlarr mit serverseitiger Policy | Profil `arr` |
| `mcp-navidrome` | `http://mike-ai-mcp-navidrome:3000/mcp` | Navidrome-Bibliothek, Suche, Playlists, Favoriten und Hörverlauf | Profil `navidrome` |
| `mcp-github` | `http://mike-ai-mcp-github:8000/mcp` | offizieller GitHub-MCP, auf vier reine Repository-Lesewerkzeuge begrenzt | Profil `github` |
| `mcp-unraid-official` | `http://mike-ai-mcp-unraid-official:8000/mcp` | offizieller, read-only begrenzter Unraid-Zugang | Profil `unraid` |
| `mcp-unraid-ssh` | `http://mike-ai-mcp-unraid-ssh:8000/mcp` | erweiterte Diagnose über einen erzwungenen SSH-Befehl | optional (`extended`) |
@@ -53,7 +54,8 @@ passenden Server wählen:
| Aufgabe | Werkzeugserver | Nicht zusätzlich verwenden |
|---|---|---|
| Aktuelle öffentliche Informationen, Quellen, GitHub/Hugging Face, Produkte | Web | HA, ARR, Unraid |
| Aktuelle öffentliche Informationen, Quellen, Hugging Face, Produkte | Web | HA, ARR, Unraid |
| GitHub-Repository finden, Baum/README/Quellcode/API-Routen lesen | GitHub Repository | Web, HA, ARR |
| Entitäten, Zustände, Historie, Automationen und Dashboards | Home Assistant | Web, Unraid |
| Serien, Filme, fehlende Episoden und Indexer-Releases | Sonarr und Radarr | Web |
| Persönliche Musikbibliothek, Titel, Alben, Künstler und Playlists | Navidrome | Web, ARR |
@@ -98,6 +100,7 @@ Die lokale Installation benötigt die vorhandenen Secret-Dateien:
/etc/mike-ai/homeassistant-admin-mcp.env
/etc/mike-ai/arr-mcp.env
/etc/mike-ai/navidrome-mcp.env
/etc/mike-ai/github-mcp.env
/etc/mike-ai/runraid/.env
```
@@ -142,11 +145,40 @@ Metadaten. Das Last.fm Shared Secret ist dafür nicht erforderlich und wird
nicht gespeichert. Die Integration greift damit weder auf das persönliche
Last.fm-Profil noch auf dessen Hörverlauf zu.
## GitHub
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.
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.
Einrichtung:
```bash
sudo install -m 0600 config/github-mcp.env.example /etc/mike-ai/github-mcp.env
sudoedit /etc/mike-ai/github-mcp.env
sudo platform/mcp/install-tools.sh
sudo platform/openwebui/install-filters.sh
```
Der Token muss eigens für Athena erzeugt werden und ausschließlich lesenden
Zugriff auf die tatsächlich benötigten Repositories erhalten. Die vier
begrenzten Werkzeuge werden bei vorhandener Secret-Datei an die fünf
MikeAI-Profile geheftet. Dadurch kann das Modell Repositoryfragen selbständig
prüfen, ohne den großen GitHub-Standardwerkzeugkatalog in den Kontext zu laden.
## Client-Auswahl
Werkzeuge werden nicht pauschal an jedes Modell gehängt. Für Home-Assistant-
Fragen wird HA ausgewählt, für Medien ARR, für Recherche Web und für die NAS
Unraid. Mehrere Werkzeuge werden nur aktiviert, wenn die Aufgabe tatsächlich
Große Fachwerkzeuge werden nicht pauschal an jedes Modell gehängt. Nur die
kompakte Websuche und die vier GitHub-Lesewerkzeuge sind allgemein verfügbar.
Für Home-Assistant-Fragen wird HA ausgewählt, für Medien ARR und für die NAS
Unraid. Weitere Werkzeuge werden nur aktiviert, wenn die Aufgabe tatsächlich
mehrere Bereiche verbindet.
Schreibende Aktionen bleiben hinter der jeweiligen serverseitigen Policy und