Document controlled GitHub MCP write mode

This commit is contained in:
Mikei386
2026-08-23 18:20:01 +02:00
parent 2347073f3f
commit 288dc62e7e
5 changed files with 146 additions and 0 deletions
+49
View File
@@ -0,0 +1,49 @@
#!/usr/bin/env bash
set -Eeuo pipefail
MODE=${1:-}
CONFIRM=${2:-}
ROOT_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
PROJECT=mike-ai-tools
BASE=(docker compose -p "$PROJECT" --profile github -f "$ROOT_DIR/compose.yaml")
MAINTENANCE=(-f "$ROOT_DIR/compose.github-maintenance.yaml")
die() { printf 'FEHLER: %s\n' "$*" >&2; exit 1; }
[[ $EUID -eq 0 ]] || die "Bitte als root ausführen."
case "$MODE" in
read)
"${BASE[@]}" up -d --no-deps --force-recreate mcp-github
;;
maintenance)
[[ $CONFIRM == --confirm ]] || die \
"Wartungsmodus nur mit: $0 maintenance --confirm"
"${BASE[@]}" "${MAINTENANCE[@]}" up -d --no-deps --force-recreate mcp-github
;;
status)
command_line=$(docker inspect -f '{{json .Config.Cmd}}' mike-ai-mcp-github 2>/dev/null || true)
if [[ $command_line == *create_branch* ]]; then
printf 'GitHub MCP: WARTUNGSMODUS (begrenzter Schreibzugriff)\n'
elif [[ $command_line == *--read-only* ]]; then
printf 'GitHub MCP: NUR LESEN\n'
else
die "GitHub-MCP-Modus ist nicht eindeutig; Konfiguration prüfen."
fi
exit 0
;;
*)
die "Aufruf: $0 {status|read|maintenance --confirm}"
;;
esac
# Open WebUI caches MCP capabilities. A short backend restart makes the new
# allowlist deterministic for all profiles without touching model services.
docker restart mike-ai-open-webui >/dev/null
for _ in $(seq 1 30); do
[[ $(docker inspect -f '{{.State.Health.Status}}' mike-ai-mcp-github 2>/dev/null || true) == healthy ]] && break
sleep 1
done
[[ $(docker inspect -f '{{.State.Health.Status}}' mike-ai-mcp-github 2>/dev/null || true) == healthy ]] || \
die "GitHub MCP wurde nicht gesund. Zurücksetzen mit: $0 read"
"$0" status