- 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>
2.9 KiB
MCP-Inventar — BF (Single Source of Truth gegen "1000 MCP-Leichen")
Regel: Jeder MCP-Server, der für BF läuft, steht hier — sonst existiert er nicht. Kein lokaler Ad-hoc-
npx-Wildwuchs auf Laptops. Zentral = Docker auf einem Host, FQDN-adressiert. Wer einen MCP abschaltet, streicht die Zeile (oder setzt Statusretiredmit Datum).
Aktive / geplante MCPs
| MCP | Zweck / Geräte | Host | Transport / Endpoint | Image | Config | Status |
|---|---|---|---|---|---|---|
| MikroMCP (AliKarami) | MikroTik hAP ax² ap1/ap2 (RouterOS 7) — WLAN/CAPsMAN, später Router-Cutover | jetzt: lokal (dieser Mac) / Ziel: Mac mini .167 Docker |
jetzt stdio (npx mikromcp serve) / Ziel HTTP :3000 |
ghcr.io/alikarami/mikromcp:latest (HTTP) bzw. npm mikromcp (stdio) |
mcp/mikromcp/ + Claude-Code user-config |
🟢 live (stdio), doctor 12/12, in Claude Code ✓Connected |
| omada-mcp (realtydev) | TP-Link Omada Controller → ES208G (+ künftige Omada-Geräte) | tbd (Controller = pve-LXC 10.40.41.126) |
HTTP (stream) | jmtvms/tplink-omada-mcp (Fork prüfen) |
mcp/omada/ (tbd) |
🔴 wartet auf Controller+Adoption |
| portainer-mcp (offiziell) | Docker-Überblick 5 Hosts (pve/ds923/odroid/macmini/ds415) via Portainer | Portainer-Server läuft auf .126:9443 v2.40.0 |
stdio (uvx) o. Docker-HTTP, read-only | portainer/portainer-mcp / mcp-portainer |
mcp/portainer/ (Token in .env ✓) |
🟠 blockiert: Portainer 2.40 hat keinen passenden MCP (nur 2.41/2.42) → Portainer bumpen; + lokal kein uvx/docker |
| ALLNET ALL-SG8316M Core-Switch | — | — | — | — | ⛔ bewusst NICHT (Telnet/1-VTY/15-min-Lock auf Core = zu fragil). User-Entscheid: erst beschriebener Weg, sonst Omada-Core-Tausch. |
Legende: 🟢 live · 🟡 staged (Config da, nicht deployed) · 🔴 blockiert · ⛔ bewusst nicht gemacht
Anti-Sprawl-Regeln
- Zentral statt lokal: MCPs laufen als Container auf einem festen Host, nicht als
npxpro Laptop. - Eine Zeile pro MCP in dieser Tabelle. Kein Eintrag → abschalten.
- Config im Git (
mcp/<name>/), Secrets nur in.env(gitignored). - FQDN statt IP, sobald eingerichtet (DNS-Rewrite) → Endpoint-Spalte updaten.
- Review-Datum: mind. halbjährlich diese Tabelle gegen tatsächlich laufende Container prüfen
(
docker psauf den Hosts).
ALLNET — warum kein MCP
ALL-SG8316M (Core) nach FW-2.2.1-Flash: Web-UI tot, nur Telnet-CLI, kein SSH/REST/SNMP-Write,
nur 1 VTY-Line, ~15 min Busy-Lock bei Stale-Sessions. Ein MCP darüber wäre auf dem Core-Switch
(an dem alles hängt) fragil und lockout-gefährlich. → Management bleibt bei der bestehenden
Telnet-CLI-Toolchain (switch/cli/). Strategische Option: Core-Switch (Methusalem, Bj. 2015)
gegen einen Omada-Switch tauschen → fällt unter denselben Omada-Controller/omada-mcp.
Das ist Hardware-Ausgabe + Core-Cutover → User-Entscheidung (offen).