Files
bf-infra/mcp/portainer
Christoph Emsenhuber e688b37b60 Teilprojekte + MikroMCP + WLAN-Vorarbeit: Steuerungsdok, Research, MCP-Setup, CAPsMAN-Asbuilt, AP-Trunk-Guides + Port-Map
- docs/teilprojekte.md: kanonisches Projektsteuerungsdokument (TP1–TP13 + TP-R)
- docs/research/: RouterOS-Capabilities-Sweep (TP-R) + VPN-Vergleich (TP10)
- mcp/: MikroMCP + Portainer-MCP Docker-Compose, routers.yaml, READMEs, .gitignore
- routeros/: ap1-manager.rsc, ap2-cap.rsc, CAPsMAN-Flat-Asbuilt, WLAN-Handover
- switch/cli/03-trunk-ap-ports.cli + switch/ui-guides/01-trunk-ap-ports.md: AP-Trunk-Konfiguration
- docs/allnet-ge8-trunk-klickanleitung.md: GE8 Hybrid→Trunk Schritt-für-Schritt
- inventory/bf-core-ports: gi1/gi2 als TRUNK zu ap1/ap2 eingetragen (gesetzt 2026-06-09)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-15 08:42:03 +02:00
..

portainer-mcp (offiziell) — BF

Überblick über die Docker-Landschaft via Portainer. Übersicht aller MCPs: ../INVENTORY.md.

Ist-Stand (2026-06-09)

  • Portainer-Server läuft auf https://10.40.41.126:9443, v2.40.0, managed 5 Endpoints: pve (lokal), nas-bf (ds923+), odroid-m1, macmini, nas-fm (ds415+).
  • API-Token vorhanden (admin) → in .env (gitignored).
  • Blocker: portainer-mcp gibt es nur als 2.41.x / 2.42.x, jeweils = gleiche Portainer-Minor. 2.40 hat keinen passenden MCP → Portainer auf .126 auf 2.42.x bumpen (sauberster Weg).

Weg A — lokal stdio via uvx (least-invasive, kein Portainer-Touch nötig zum Probieren)

Voraussetzung: uv installieren (brew install uv oder curl -LsSf https://astral.sh/uv/install.sh | sh).

# NACH Portainer-Bump auf 2.42 (oder Versuch 2.41 gegen 2.40):
claude mcp add portainer -s user \
  -e PORTAINER_URL=https://10.40.41.126:9443 \
  -e PORTAINER_API_KEY=ptr_... \
  -e PORTAINER_TLS_VERIFY=0 \
  -- uvx --from "mcp-portainer~=2.42.0" mcp-portainer

Read-only erzwingen: über MCP-Config/Profil (siehe portainer-mcp docs/configuration.md → „read-only capabilities").

Weg B — Docker HTTP auf Mac mini (.167), zentral hinter FQDN (wie ha-mcp/MikroMCP-Ziel)

docker run -d --name portainer-mcp -p 17717:17717 \
  -e PORTAINER_URL=https://10.40.41.126:9443 \
  -e PORTAINER_API_KEY=ptr_... \
  -e PORTAINER_TLS_VERIFY=0 \
  -e PORTAINER_MCP_AUTH_TOKEN=<gate-secret> \
  -e PORTAINER_MCP_ALLOWED_HOSTS=<fqdn-or-167-ip>:17717 \
  portainer/portainer-mcp:2.42
# Client:
claude mcp add portainer --transport http http://<mini>:17717/mcp \
  --header "Authorization: Bearer <gate-secret>" \
  --header "X-Portainer-API-Key: ptr_..."

Versions-Policy (Doku)

Match MCP-Minor = Portainer-Minor. Tabelle: nur 2.41.x↔2.41.x, 2.42.x↔2.42.x. Kein 2.40. TLS: self-signed → PORTAINER_TLS_VERIFY=0.