OpenCode MCP-Aktivierung¶
Stand: 2026-05-26
Ziel¶
OpenCode soll fuer mehrere Benutzer ohne VPN-, LAN- oder VLAN70-Abhaengigkeit starten und sofort nutzbar sein. LLM- und Tool-Zugriff laufen ueber zentrale HTTPS-Endpunkte.
Primaerer Weg¶
OpenCode nutzt den zentralen Lanstyle Remote MCP unter:
https://mcphub.lanstyle.de/lanstyle-mcp
Dieser Pfad ist kein OAuth-Browserflow. OpenCode sendet einen Bearer Token aus der lokalen Umgebung:
{
"mcp": {
"lanstyle_mcphub": {
"type": "remote",
"url": "https://mcphub.lanstyle.de/lanstyle-mcp",
"enabled": true,
"timeout": 60000,
"oauth": false,
"headers": {
"Authorization": "Bearer {env:LANSTYLE_MCPHUB_TOKEN}"
}
}
}
}
Der Token liegt pro Benutzer lokal als LANSTYLE_MCPHUB_TOKEN und wird nicht in Git oder Dokumentation gespeichert.
Per-User Token-Konzept¶
Der Remote-MCP unterstuetzt mehrere serverseitig konfigurierte Tokens ueber LANSTYLE_MCPHUB_TOKENS_JSON.
Zusaetzlich kann der OpenCode Self-Service neue Benutzer-/Geraete-Tokens in den dynamischen Store schreiben:
/var/lib/lanstyle-agent/controlled-execution/opencode-access/mcp-tokens.json
Der Store enthaelt serverseitige Validierungsdaten und ist root-only zu betreiben. Benutzer sehen spaeter nur Fingerprints und Ablaufdaten; Tokenwerte werden ausschliesslich einmalig im Onboarding-Paket ausgeliefert.
Namensschema:
vorname-nachname-client- Beispiel ohne Secretwert:
maximilian-eberhardt-mbp-pro-max
Token-Metadaten:
name: Benutzer/Client-Zuordnungenabled: Sperrung einzelner Benutzer ohne Rotation aller Tokensscopes: aktuelllanstyle:readundlanstyle:planaccess: aktuellread-onlyundplan-onlyexpires_at: optionaler Ablaufzeitpunkt
Rotation:
- neuen Token erzeugen und in Vaultwarden beim Benutzer/Client ablegen
- Token serverseitig in
LANSTYLE_MCPHUB_TOKENS_JSONergaenzen - Remote-MCP neu starten
- Client mit neuem Token testen
- alten Token serverseitig auf
enabled:falsesetzen oder entfernen
Sperrung:
- nur den betroffenen Token deaktivieren
- keine anderen Benutzer-Tokens loeschen
- anschliessend
401mit dem alten Token pruefen
Architektur¶
- OpenCode spricht extern nur
https://litellm.lanstyle.de/v1undhttps://mcphub.lanstyle.de/lanstyle-mcp. - Im Client gibt es keine direkten
10.222.x.x,10.0.x.xoder GB10/Ollama-Provider. - Der zentrale Remote MCP laeuft im Agent-Runtime-LXC
259als Servicelanstyle-remote-mcpauf Port3011. - NPM leitet nur den Pfad
/lanstyle-mcpvonmcphub.lanstyle.deauf10.222.70.20:3011. - Der normale MCPHub unter
mcphub.lanstyle.debleibt fuer UI/OAuth separat erhalten.
Lokaler Admin-Fallback¶
Lokale stdio-MCPs bleiben deaktiviert als Admin-/LAN-Fallback:
lanstyle_infra_locallanstyle_write_plan_local
Sie duerfen nicht der Standardweg fuer normale Benutzer sein.
Erwartete Tools¶
netbox_get_statusnetbox_list_sitesnetbox_list_prefixesnpm_list_proxy_hostsproxmox_get_versionproxmox_list_cluster_resourcesgitea_get_versionnetbox_plan_prefix_changegitea_plan_repository_changeproxmox_plan_guest_change
Regeln¶
- Keine generischen Toolnamen verwenden.
- Keine Secrets ausgeben.
- Live-Writes bleiben verboten, solange kein separater Approval-Flow mit
approval_idexistiert. - Read-only Tools bleiben lesend.
- Plan-only Tools erzeugen nur Aenderungsplaene.
- Pro Benutzer kann spaeter ein eigener
LANSTYLE_MCPHUB_TOKENausgegeben und serverseitig gesperrt/rotiert werden. - Remote-MCP-Logs enthalten Tokenname und Hashpraefix, aber keine Tokenwerte.
- Ungueltige Tokens liefern
401.
Tests¶
Getestet am 2026-05-26:
- Remote MCP
initialize:200 - Tool Listing:
10Tools - Read-only Tool Call: erfolgreich
- Plan-only Tool Call: erfolgreich
- Ungueltiger Token:
401 - Deaktivierter Bootstrap-Token:
401 - Kein OAuth-/Browserlogin noetig
Vaultwarden Ablage¶
Status 2026-05-26:
- Vaultwarden ist fuer OpenCode-MCP-Tokens Source of Truth.
- Aktiver Eintrag:
Lanstyle / OpenCode MCP Token / maximilian-eberhardt-mbp-pro-max. - Der Tokenwert liegt als verstecktes Feld
tokenin Vaultwarden. - Lokale Clients laden den Wert als
LANSTYLE_MCPHUB_TOKENin~/.config/opencode/secrets.env. - Der fruehere Bootstrap-Token
maximilian-eberhardt-opencode-bootstrapist serverseitig deaktiviert.
Manuelle Ablage fuer weitere Benutzer:
vault.lanstyle.deoeffnen- Tresor/Organisation fuer Lanstyle waehlen
- neuen Eintrag
Lanstyle / OpenCode MCP Token / <vorname-nachname-client>erstellen - Tokenwert als Hidden Field
tokenspeichern - Felder ohne Secretwert ergaenzen:
token_name,service,scopes,access,status - danach lokal
LANSTYLE_MCPHUB_TOKENaus Vaultwarden in~/.config/opencode/secrets.envsetzen