MCP-Katalog¶
Stand: 2026-05-25
Ziel¶
MCPs werden als kontrollierte Toolschicht fuer Agenten genutzt. Neue MCPs werden nur eingefuehrt, wenn sie eine bestehende Luecke schliessen und nicht bereits durch eine vorhandene Integration abgedeckt sind.
Risikoklassen¶
| Klasse | Beschreibung | Verhalten |
|---|---|---|
read_only |
reine Discovery, Status, Suche, Inventar | automatisch erlaubt |
write_reviewed |
Aenderungen mit Diff, Plan oder PR | Approval erforderlich |
privileged |
SSH, Proxmox, NetBox write, M365 write | Approval und Logging erforderlich |
dangerous |
Loeschen, Firewall-Default, Key-Export, Secret-Dump | standardmaessig blockiert |
Ziel-MCPs¶
| MCP | Status | Risiko | Backend | Zweck |
|---|---|---|---|---|
| Context7 | vorhanden | read_only |
extern | technische Dokumentation |
| grep.app | vorhanden | read_only |
extern | Code-/Repo-Recherche |
| Filesystem | geplant | write_reviewed |
lokal/OpenCode | Doku, Runbooks, Skripte im Projektkontext |
| Git/Gitea | geplant | write_reviewed |
Gitea | Branches, PRs, Issues, Commits, Wiki-Sync |
| NetBox | aktiv ueber MCPHub | write_reviewed |
NetBox API | IPAM/DCIM Discovery und geplante Aenderungen |
| Proxmox | aktiv ueber MCPHub | privileged |
Proxmox API | VM/LXC/Storage/Netzwerk-Inventar |
| SSH | geplant | privileged |
OpenSSH | kontrollierte Serverautomation |
| PowerShell | geplant | privileged |
PowerShell/Graph/Exchange | M365, Intune, AD, Exchange Online |
| HTTP/OpenAPI | aktiv ueber Lanstyle Tools API | read_only bis write_reviewed |
interne APIs | Open-WebUI-kompatible Fassade fuer NPM, Gitea, NetBox und Proxmox |
| Docker | geplant | privileged |
Docker API/CLI | Containerstatus, Logs, kontrollierte Deployments |
| Browser | vorhanden in Codex, fuer OpenCode zu klaeren | read_only bis write_reviewed |
Browser Automation | UI-Pruefung, Admin-Oberflaechen |
| Vaultwarden Helper | geplant | privileged |
Bitwarden CLI/API | Secret-Referenzen ohne Klartextausgabe |
Vorbereitete interne MCP-Basis¶
Repository-Pfad:
agent-runtime/mcp/lanstyle-infra-mcp
Status:
- Code-Skelett vorhanden
- FastMCP-basiert
- aktuell read-only
- Secret-Zugriff nur ueber Environment/Vaultwarden-Wrapper
- strukturierte Logs mit Redaction
Vorbereitete Tools:
| Tool | Klasse | Zweck |
|---|---|---|
netbox_get_status |
read_only |
NetBox API-Status lesen |
netbox_list_sites |
read_only |
Standorte lesen |
netbox_list_prefixes |
read_only |
Prefixe/VLAN-Bezug lesen |
npm_list_proxy_hosts |
read_only |
NPM Proxy Hosts lesen |
proxmox_get_version |
read_only |
Proxmox Version lesen |
proxmox_list_cluster_resources |
read_only |
Proxmox Ressourcen inventarisieren |
gitea_get_version |
read_only |
Gitea Version lesen |
hermes_context_search |
read_only |
kuratierten Hermes-/Obsidian-/Qdrant-Kontext fuer OpenCode suchen |
hermes_session_summary_preview |
read_only |
Session-Zusammenfassung und Memory-Kandidaten als Preview erzeugen, ohne Speicherung |
Hermes Context Tools¶
Stand 2026-05-30:
hermes_context_search ist als read-only Kontextwerkzeug fuer OpenCode vorbereitet. Es durchsucht serverseitig die kuratierten Qdrant-Collections lanstyle_obsidian_memory, lanstyle_docs und lanstyle_inventory. Obsidian nutzt LiteLLM-Embeddings, MkDocs/Inventory nutzen den passenden Ollama/Nomic-Embedding-Pfad. Die Antwort liefert kompakte Quellen mit title, source_path, source_system, collection, confidence, updated, Score und customer_context.
Wichtig fuer Operatorfragen: Wenn eine Frage eindeutig Lanstyle-Kontext enthaelt, zum Beispiel VLAN70, br70, 10.222.*, GB10 oder Agent Runtime, wird customer_context=lanstyle gesetzt. Kundenkontexte wie TecMed bleiben strikt gefiltert, damit keine Systeme vermischt werden.
Grenzen:
- keine Infrastrukturwrites
- keine Shell
- keine Proxmox-/NetBox-/NPM-/DNS-Aenderungen
- keine Secret-Ausgabe
- Antwortgroesse begrenzt
hermes_session_summary_preview erzeugt nur eine Preview fuer Session Summary und Memory Candidates. Kandidaten werden nicht automatisch gespeichert und brauchen Review.
Write-Planning MCP¶
Repository-Pfad:
agent-runtime/mcp/lanstyle-infra-write-plan-mcp
Status:
- plan-only
- keine Live-Writes
- keine Secrets erforderlich
- Approval immer erforderlich
Vorbereitete Tools:
netbox_plan_prefix_changegitea_plan_repository_changeproxmox_plan_guest_change
Startwrapper:
agent-runtime/scripts/start-lanstyle-infra-mcp.sh
OpenCode-Beispiel:
agent-runtime/configs/opencode-mcp.example.json
Aktivierungsrunbook:
agent-runtime/runbooks/opencode-mcp-activation.md
Implementierungsstandard¶
Eigene MCPs werden bevorzugt mit FastMCP gebaut:
- kleine, fokussierte Toolsets
- JSON-Schema fuer Ein- und Ausgabe
- strukturierte Logs
- Run-ID-Unterstuetzung
- klare Fehlercodes
- keine Secrets in Responses
- getrennte read/write Tools
- Schreibtools mit
dry_runundapproval_id
Namensschema¶
Toolnamen muessen OpenCode-kompatibel und eindeutig sein:
netbox_get_prefixesnetbox_get_ipnetbox_plan_ip_assignmentproxmox_list_guestsproxmox_get_guest_configgitea_create_branchgitea_open_prssh_run_readonlyssh_plan_change
Keine Tools mit generischen Namen wie run, list, write, todo_write bereitstellen. Diese Namen fuehren bei OpenCode/Ollama zu Tool-Schema-Missverstaendnissen.
Vorbereitete Tokens¶
- NetBox:
- Vaultwarden-Eintrag:
Lanstyle / NetBox API Token Agent Legacy Write - Test:
HTTP 200auf/api/status/ - Langfristig durch v2-Token ersetzen.
- Proxmox:
- Vaultwarden-Eintrag:
Lanstyle / Proxmox API Token Agent - Token-ID:
root@pam!lanstyle-agent - Test:
HTTP 200auf/api2/json/version - Hinweis:
privsep=0; spaeter engeres Rollenmodell planen.
MCPHub Aktivierung¶
Stand 2026-05-25:
- MCPHub laeuft im Agent-Runtime-LXC
259. - Runtime-Image:
lanstyle/mcphub:1.0.5-fastmcp-20260525. - MCP-Code wird aus
/opt/agent-runtime/mcp/in den Container gemountet. - Secrets liegen nur in
/opt/agent-runtime/mcphub/lanstyle-infra.env. - Aktive Server:
lanstyle-infra-readonly:7Read-only-Toolslanstyle-infra-write-plan:3Dry-Run-Planungstools- Smoke-Test erfolgreich gegen NetBox, NPM, Proxmox und Gitea.
- OAuth-State ist aktiv.
- Dynamic Client Registration erfordert Authentifizierung.
- Externer Zugriff bleibt zusaetzlich ueber NPM Access List
Maxbegrenzt. - Unauthentifizierte Dynamic-Registration-Tests liefern keinen Client; MCPHub ist damit nicht mehr offen registrierbar.
OpenAPI-Fassade fuer Open WebUI¶
Stand 2026-05-25:
- Dienst:
lanstyle-tools-api - LXC: Agent Runtime
259 - Interner Endpoint:
http://10.222.70.20:3010 - OpenAPI-Spec:
http://10.222.70.20:3010/openapi.json - Auth: Bearer Token aus Vaultwarden und
/opt/agent-runtime/mcphub/lanstyle-infra.env - Open-WebUI-Connection:
lanstyle-tools-api - Zugriff: alle bekannten Open-WebUI-User per
access_grants
Die Fassade stellt nur kontrollierte Funktionen bereit:
- Read-only Discovery fuer NetBox, NPM, Proxmox und Gitea
- Plan-only Endpunkte fuer NetBox-, Gitea- und Proxmox-Aenderungen
- keine Live-Writes
Damit kann Open WebUI externe Toolserver nutzen, ohne MCPHub direkt als OpenAPI-Endpunkt zweckzuentfremden.