Files
Christoph Emsenhuber 759491b512 MCP-Bestand korrigiert + Mac-mini-Performance-Restriktion
- gitea-mcp + n8n-mcp nachgetragen (waren real live, aber aus dem Inventar verschollen)
- pve-mcp: SSE-Doku -> StreamableHTTP-Realitaet
- shelly-mcp/portainer-mcp: bewusst KEIN MCP-Client (User-Direktive 2026-08-28)
- Mac mini = n8n-Host, NICHT zentraler MCP-Host (Performance-Restriktion)
- ~/.claude.json + opencode.jsonc: 9 MCPs identisch (vorher 7 vs. 11 Asymmetrie)
- docs/mcp-host-policy.md: SSoT fuer Host->FQDN/Stack-Mapping
- docs/handoff-20260828-mcp-bestand-und-performance.md: Folge-Sessions A/B/C

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-28 18:40:05 +02:00
..

portainer-mcp (offiziell) — BF

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

Ist-Stand (2026-08-28)

  • Portainer-Server läuft auf https://10.40.20.126:9443 (Docker-LXC auf pve, VLAN20), v2.40.0, managed 5 Endpoints: pve (lokal, Id 2), nas-bf (ds923+) (Id 14), macmini (Id 20), nas-fm (ds415+) (Id 21), odroid-m1 (nicht mehr im Inventar — falls noch aktiv, neu hinzufügen).
  • API-Token in mcp/portainer/.env (gitignored).
  • Versions-Drift: Portainer ist 2.40.0, das offizielle portainer/portainer-mcp-Image verlangt 2.42.x → Portainer-Bump zuerst, dann MCP-Deploy.
  • 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.20.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 — Container auf DS923 (.181:3000/mcp), Stack-YML gitignored

Voraussetzung: Portainer-Bump 2.40.0 → 2.42.x (offizielles portainer/portainer-mcp-Image verlangt gleiche Minor).

# Stack deployen (gitignored): docs/nas-vlan20/stacks/portainer-mcp.yml
# Container-IP = 10.40.20.181 im vlan20-Netz (analog pve-mcp .173, komodo-mcp .176, shelly-mcp .180)

Client:

// ~/.claude.json + ~/.config/opencode/opencode.jsonc:
"portainer-mcp": {
  "type": "remote",
  "url": "http://10.40.20.181:3000/mcp",
  "headers": {}
}

Aktuell enabled: false bis Deploy durch ist.

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.