Document controlled GitHub MCP write mode
This commit is contained in:
Executable
+49
@@ -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
|
||||
Reference in New Issue
Block a user