TP2 ✅ omada-mcp live (.176/pve, StreamableHTTP /mcp) — Verbindungstest grün

Root cause der Crash-Loops gefunden:
- Container bekam Env beim Deploy INLINE (Portainer ignoriert env_file) → alte falsche Var-Namen
- jmtvms/tplink-omada-mcp v0.15 nutzt Omada OPEN API (CLIENT_ID/SECRET), nicht user/pass
- Transport ist StreamableHTTP (MCP_SERVER_USE_HTTP + MCP_HTTP_*), NICHT SSE/MCP_TRANSPORT

Jetzt: /health 200, MCP initialize-Handshake liefert Tools/Capabilities. settings.json → /mcp.
.env-Schema, .env.template, compose-Doku korrigiert.
Offen: Claude Code reload → VLANs anlegen + .12 adoptieren (Tool-Categories ggf. um write erweitern).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-15 15:07:14 +02:00
parent bf5d2b2741
commit d99d8cf6da
4 changed files with 39 additions and 32 deletions

View File

@@ -39,15 +39,14 @@ Kontrolle: MikroMCP (MikroTik) live · ALLNET = Klickanleitungen (inline) · Oma
### TP2 — Omada Access-Switch + Controller ▸ 🔄 IN ARBEIT (2026-06-15)
- ✅ Omada Controller 6.2.10.17 auf DS923 (macvlan `.175`): `omada/docker-compose.yml`, Stack via Portainer endpointId=14. **Wizard abgeschlossen** (configured=true), Creds in `mcp/omada/.env`.
- ✅ pve-mcp (samik081) in Claude Code eingetragen (`~/.claude/settings.json`, SSE `.173:3000`).
- ✅ omada-mcp Container deployed auf **pve-LXC (`.126`, endpointId=2), ipvlan-IP `.176`**, in `~/.claude/settings.json` eingetragen. **Aktuell gestoppt** (Crash-Loop).
- ⚠️ **Erkenntnis:** `jmtvms/tplink-omada-mcp` nutzt die **Omada OPEN API** (`OMADA_CLIENT_ID/SECRET/OMADAC_ID/SITE_ID`), **nicht** User/Passwort. `.env`-Schema entsprechend angepasst.
- ⚠️ Admin-API-Login (admin / Wizard-PW) gibt `-30109` → im UI verifizieren.
**Noch offen (Reihenfolge):**
1. Controller-UI https://10.40.41.175:8043 → Settings → Platform Integration → **Open API** → App anlegen (Grant: Client Credentials) → Client ID + Secret notieren
2. `OMADA_SITE_ID` holen (UI oder `GET /{omadacId}/api/v2/sites`)
3. `mcp/omada/.env` befüllen (CLIENT_ID/SECRET/SITE_ID) → Container neu starten (Portainer Stack `omada-mcp`, Id=200)
4. SSE-Test `http://10.40.41.176:3000/health` → Claude Code reload → omada-mcp Tools verfügbar
5. VLANs 10/20/30/40/50/90/99/100 anlegen → `.12` adoptieren → Port 2 (ap2) + Uplink → Trunk-All, Rest → Access VLAN10
- ✅ omada-mcp **live** auf **pve-LXC (`.126`, endpointId=2), ipvlan-IP `.176`**, Stack Id=200, in `~/.claude/settings.json`.
- **Transport:** StreamableHTTP `http://10.40.41.176:3000/mcp` (Health `/health` → 200, MCP-Handshake verifiziert).
- **Auth:** Omada **Open API Client-Credentials** (NICHT User/PW). Env: `MCP_SERVER_USE_HTTP/MCP_HTTP_*` + `OMADA_BASE_URL/OMADAC_ID/SITE_ID/CLIENT_ID/CLIENT_SECRET/STRICT_SSL`. Creds in `mcp/omada/.env`.
- ⚠️ Open-API-App wurde im Controller-UI angelegt (User); omadac_id=`adbef8fa…`, site_id=`6a2fe68e…`.
**Noch offen:**
1. Claude Code reload → omada-mcp Tools (84 Tools, read-categories) verfügbar
2. VLANs 10/20/30/40/50/90/99/100 anlegen → `.12` adoptieren → Port 2 (ap2) + Uplink → Trunk-All, Rest → Access VLAN10
(Hinweis: geladene Tool-Categories sind aktuell **read-only** — für VLAN/Port-Writes ggf. `OMADA_TOOL_CATEGORIES` um write-Scopes erweitern.)
- ✅ Port-Plan: Omada-Switch Port 2 = ap2 (Trunk all), Uplink-Port (→ ALLNET GE8) = Trunk all.
- ✅ Portainer-Ablösung: **Komodo** empfohlen (einzige Option mit nativem MCP `mcp-server-komodo`). Eigener Task.
- Abh. erfüllt: TP1 (GE8 Trunk ✅).