MCP – Tool-Freigaben absichern¶
Status: produktiv seit 08.09.2026. Die Tool-Konfiguration wird von MCP und Admin gemeinsam geprüft und arbeitet fail closed.
Ziel¶
Eine fehlende, unlesbare oder ungültige tool-config.json darf niemals dazu führen, dass Werkzeuge stillschweigend freigegeben werden. Stattdessen werden betroffene Aktionen abgelehnt, während die menschliche Admin-Anmeldung zur Reparatur erreichbar bleibt.
Produktiver Aufbau¶
/opt/mcp-shell/tool-config.json
/opt/mcp-shell/lib/tool-policy.js
/opt/mcp-shell/lib/core.js
/opt/mcp-shell/index.js
/opt/mcp-admin/policy-routes.js
/opt/mcp-admin/policy-client.js
Die Policy prüft insbesondere:
- vollständige Pflichtfelder;
- korrekte Datentypen;
- bekannte Tool-Namen;
- bekannte SSH-Hosts;
- eindeutige absolute Schreibpfade mit abschließendem
/; - keine stillen Ersatzfreigaben bei Lesefehlern.
Aktuelle Grundstruktur¶
{
"disabled_tools": [],
"write_allow": {
"ebusd-heizung": ["/etc/ebusd/", "/tmp/"],
"ebusd-lueftung": ["/etc/ebusd/", "/tmp/"],
"home-assistant": ["/config/", "/tmp/"],
"mcp-server": ["/tmp/"],
"proxmox": [],
"cloudflared": []
}
}
Die fünf HA-Bridge-Tools sind kein eigener write_allow-Pfad. Ihre Read-/Write-/Delete-Trennung wird serverseitig durch HA-MCP und die drei Gateway-Proxys erzwungen.
Admin-Schreibschutz¶
Beim Speichern wird die zuvor gelesene Revision über eine Versionskennung geprüft. Ein veraltetes Browserfenster kann einen neueren Stand nicht überschreiben.
Schreibvorgänge werden serialisiert und zusätzlich prozessübergreifend gesperrt. Vor dem atomischen Austausch entsteht eine root-eigene Sicherung unter:
Die Schreibsperre liegt unter:
Eine verwaiste Sperre darf nur nach Prüfung und mit gestopptem Admin-Dienst als root entfernt werden.
Zusammenspiel mit dem Sicherheitsmodell¶
Die Policy ist nur eine von mehreren Schutzschichten:
shell_executebesitzt ein separates root-geschütztes menschliches Gate;write_fileverwendet zusätzlich Pfad-Allowlist und Hard-Denies;- produktiver MCP-Code ist root-owned;
- Prozessfehler werden strukturiert ausgewertet;
- Audit-v2 reduziert Inhalte vor dem Schreiben;
- der Audit-Writer läuft separat als root;
- HA-Bridge-Tools verwenden eine eigene Read-/Write-/Delete-Klassifizierung.
Details: MCP-Server.
Inzwischen erledigte frühere Abgrenzungen¶
Bei der ursprünglichen Policy-Installation waren folgende Themen noch separat offen. Sie sind inzwischen umgesetzt:
- allgemeine Audit-Inhaltsbegrenzung → Audit-Inhalte begrenzen;
- direkte Manipulierbarkeit der Audit-Dateien durch
mcp→ Audit-Integrität; - fehlerhafte frühere
run()-Fehlerweitergabe → Befehlsfehler und Exitcodes; - Home-Assistant-Werkzeuge über den zentralen MCP → Home Assistant Bridge.
Prüfung¶
Nach Änderungen an der Policy:
- Admin-Seite vollständig neu laden;
- gültigen Policy-Status prüfen;
- gewünschte Freigaben kontrollieren;
- mindestens ein erlaubtes Read-Tool testen;
- eine gesperrte Aktion nicht produktiv provozieren, wenn der Zustand bereits durch Tests belegt ist;
- Audit-Eintrag kontrollieren.
Historische Installationsunterlagen¶
/root/mcp-policy-backup-20260908T053949Z.oK8avh/rollback.sh
/root/mcp-policy-umaskfix-20260908.FX6MAQ
/tmp/mcp-policy-install-test.lHDJxC
Diese Unterlagen dokumentieren das ursprüngliche Deployment. Für einen vollständigen Neuaufbau ist die aktuelle Installationsseite maßgeblich.