Zum Inhalt

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:

/opt/mcp-shell/.tool-config-backups/

Die Schreibsperre liegt unter:

/opt/mcp-shell/.tool-config.write-lock

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_execute besitzt ein separates root-geschütztes menschliches Gate;
  • write_file verwendet 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:

Prüfung

Nach Änderungen an der Policy:

  1. Admin-Seite vollständig neu laden;
  2. gültigen Policy-Status prüfen;
  3. gewünschte Freigaben kontrollieren;
  4. mindestens ein erlaubtes Read-Tool testen;
  5. eine gesperrte Aktion nicht produktiv provozieren, wenn der Zustand bereits durch Tests belegt ist;
  6. 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.