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>
This commit is contained in:
@@ -2,9 +2,11 @@
|
||||
|
||||
Überblick über die Docker-Landschaft via Portainer. Übersicht aller MCPs: [../INVENTORY.md](../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+)`.
|
||||
## 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).
|
||||
@@ -14,27 +16,29 @@ Voraussetzung: `uv` installieren (`brew install uv` oder `curl -LsSf https://ast
|
||||
```
|
||||
# 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_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 — Docker HTTP auf Mac mini (.167), zentral hinter FQDN (wie ha-mcp/MikroMCP-Ziel)
|
||||
## 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).
|
||||
```
|
||||
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_..."
|
||||
# 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:**
|
||||
```jsonc
|
||||
// ~/.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.
|
||||
|
||||
Reference in New Issue
Block a user