MCP-Sicherheit & Fehlerbehebung

Sicherheitsmodell

Der lokale Server ist so ausgelegt, dass er nicht mehr Rechte besitzt als der angemeldete confBuild-Nutzer.

  • Er verwendet normale Firebase-Benutzerauthentifizierung, keinen Admin-SDK-Bypass.
  • Private Projekte werden ausschließlich im Pfad des authentifizierten Nutzers gelesen und geschrieben.
  • Eine nackte Projekt-ID wird zuerst privat beim aktuellen Nutzer und danach öffentlich gesucht.
  • Öffentliche oder schreibgeschützte Projekte werden vor Änderungen privat geklont.
  • Der Server gibt Kennwörter, Custom Tokens oder Schlüsselbundinhalte niemals an den MCP-Client zurück.
  • Schreibvorgänge verwenden Revisionsschutz gegen unbemerkte Parallelüberschreibungen.
  • Der Server ruft keine KI-Provider- oder confBuild-KI-Endpunkte auf.

Welche Tools wirklich schreiben

Schreibende Remote-Aktionen sind:

  • confbuild_create_project
  • confbuild_clone_project
  • confbuild_begin_edit, wenn dabei ein schreibgeschütztes Projekt automatisch geklont wird
  • confbuild_commit_edit

confbuild_apply_sheet_patch verändert nur den Arbeitsspeicher. confbuild_discard_edit verwirft nur diese lokale Arbeitskopie und löscht kein bereits gespeichertes Projekt.

Anmeldedaten schützen

Bevorzugen Sie den macOS-Schlüsselbund gegenüber dauerhaft gesetzten Klartext-Umgebungsvariablen. Übergeben Sie Kennwörter nicht in Nutzerprompts, MCP-Toolargumenten, Projektmetadaten oder Repository-Dateien.

npm run playwright:confbuild:check-login

Die Statusantwort darf Benutzer-ID, E-Mail und Credential-Quelle enthalten, aber kein Secret.

Browser- und CDP-Sicherheit

Der Standardmodus headed verwendet ein getrenntes persistentes Profil. attached ist mächtiger: Ein CDP-Endpunkt kann Zugriff auf Tabs und Sitzungszustände geben.

  • Aktivieren Sie Remote Debugging bewusst und nur für die benötigte Session.
  • Binden Sie den Endpunkt an 127.0.0.1, nicht an ein öffentliches Interface.
  • Verwenden Sie ein getrenntes Browserprofil ohne unnötige Konten oder Tabs.
  • Teilen Sie die CDP-URL nicht mit fremden Clients.
  • Beenden Sie den Debug-Browser nach der Arbeit.

Der MCP-Server startet Remote Debugging nicht selbst und schließt einen angebundenen Benutzerbrowser beim Prozessende nicht.

Häufige Fehler

„Unable to authenticate the confBuild MCP server“

Ursache: Kein gültiges Passwort/Token, abgelaufene Anmeldung oder falsche E-Mail.

Lösung:

npm run playwright:confbuild:check-login
CONFBUILD_EMAIL='ihr-konto@example.com' \
CONFBUILD_PASSWORD='…' \
npm run playwright:confbuild:save-password

Starten Sie den MCP-Client anschließend neu, damit der Serverprozess die aktualisierte Umgebung beziehungsweise den Schlüsselbund liest.

„No accessible confBuild project was found“

Ursache: Falsche ID, nicht unterstützte URL, Projekt nicht öffentlich oder nicht im eigenen Konto.

Lösung: Prüfen Sie die ID und verwenden Sie eine erlaubte confBuild-URL mit /e/, /editor/, /p/ oder /lib/. Ein privates Projekt eines anderen Nutzers kann nicht über die ID erraten oder geöffnet werden; lassen Sie es veröffentlichen, freigeben oder in Ihr Konto kopieren.

„The project is read-only“

Ursache: Der Client hat automatisches Klonen deaktiviert.

Lösung: confbuild_begin_edit mit cloneReadOnly: true verwenden oder vorher confbuild_clone_project aufrufen. Das Original bleibt unverändert.

REVISION_CONFLICT

Ursache: Das Projekt wurde nach Beginn der Edit-Session im Browser oder von einem anderen Agenten gespeichert.

Lösung:

  1. Aktuelles Projekt erneut lesen.
  2. Änderungen zwischen Basis und aktueller Version vergleichen.
  3. Gewünschte lokale Änderungen bewusst auf die neue Version anwenden.
  4. Erneut validieren und committen.

Es gibt absichtlich keinen Force-Overwrite-Schalter.

„Validation failed“

Ursache: Mindestens ein harter Workbook-Fehler, zum Beispiel doppelter Sheet-Name, nicht serialisierbare Zelle oder Größenlimit.

Lösung: confbuild_validate_edit lesen, jeden Eintrag unter errors korrigieren und danach erneut validieren. Warnungen sind kein automatischer Blocker, sollten aber vor dem Commit fachlich bewertet werden.

„Commit the dirty edit before rendering“

Ursache: Browser und Firebase würden noch die alte Revision sehen.

Lösung: Edit validieren und committen. Wenn die Änderungen verworfen werden sollen, confbuild_discard_edit verwenden und das gespeicherte Projekt rendern.

Renderjob bleibt running

Ursache: Editor lädt noch, Anmeldung hängt, Renderjobs werden seriell abgearbeitet oder das Projekt ist groß.

Lösung: Weiter mit confbuild_get_render_result pollen, ohne einen zweiten identischen Job zu starten. Nach dem konfigurierten Timeout schlägt der Job fehl. Prüfen Sie dann Anmeldung, Browsermodus und ob die Projekt-URL im sichtbaren Browser lädt.

RENDER_FAILED oder Browser-Timeout

Ursache: Chromium fehlt, Login-Weiterleitung, Editor lädt nicht, CDP-Endpunkt fehlt oder ein UI-Selektor passt nicht mehr.

Lösung:

  1. confbuild_browser_capabilities prüfen.
  2. Bei attached: CONFBUILD_MCP_CDP_URL und lokalen Browser prüfen.
  3. Testweise browserMode: headed verwenden und den Browser beobachten.
  4. Für unbeaufsichtigte Tests browserMode: headless probieren.
  5. Projekt manuell öffnen und sichtbare Editorfehler beheben.

Keine Bilder im Ergebnis

Ursache: includeImages: false, maxImages zu klein oder der Job ist noch nicht abgeschlossen.

Lösung: Nach completed erneut confbuild_get_render_result mit includeImages: true und passendem maxImages aufrufen.

Prompt-Test meldet veraltete Artefakte

Ursache: Prompt-Editor-Quellen wurden geändert, aber die MCP-Exporte nicht aktualisiert.

Lösung:

npm run mcp:confbuild:prompts
npm run mcp:confbuild:test

Generierte Prompt-Artefakte und Quelländerungen gehören in denselben Änderungssatz.

Session fehlt oder ist abgelaufen

Ursache: MCP-Prozess wurde neu gestartet oder die In-Memory-Session war länger als sechs Stunden inaktiv.

Lösung: Neue Design-/Edit-Session auf dem zuletzt commiteten Projekt beginnen. Ungespeicherte In-Memory-Patches sind nicht wiederherstellbar; commitete Änderungen bleiben erhalten.

Große Sheets oder fehlende Chunks

Ursache: Ein chunked Projekt ist unvollständig oder überschreitet Sicherheitslimits.

Lösung: Den Fehler nicht durch manuelles Editieren des Manifests umgehen. Projekt erneut aus einer vollständigen Version speichern beziehungsweise aus einem Backup/Original klonen. Das MCP-Limit liegt bei 2.000.000 Zellen und maximal 450 Chunks pro Commit.

Bekannte Grenzen der lokalen Version 0.1

  • STDIO ist auf den lokalen Rechner und einen lokalen Client ausgerichtet, nicht auf einen beliebigen entfernten SaaS-Client.
  • Sessions und Renderjobs sind nicht persistent und nicht zwischen Clients übertragbar.
  • Strukturelle Validierung ist kein vollständiger Kollisions-, Fertigungs-, Bauordnungs- oder Solver-Nachweis.
  • Browseraufnahme und Orbit-Presets hängen teilweise von der aktuellen Editor-Oberfläche ab.
  • Es gibt noch keine automatische Projektsnapshot-/Rollback-Funktion vor jedem MCP-Commit.
  • Der MCP-Server ist direkt an das aktuelle Firestore-/Chunk-Schema gekoppelt.

Empfohlene produktive Ausbaustufen

  1. Remote-Zugriff: Authentifizierter Streamable-HTTP-Transport mit OAuth für Skedio oder andere SaaS-Clients.
  2. Browser-Bridge: Signierte Browser-Erweiterung oder Native-Messaging-Bridge zur sicheren Auswahl des exakten Nutzer-Tabs.
  3. Gemeinsames Schema-Paket: Identische Sheet-Typen, Serialisierung und Validierung für Angular-App und MCP.
  4. Persistente Agent-Runs: Lokale Datenbank oder Firestore-Trace für Wiederaufnahme, Audit und Client-Übergabe.
  5. CAD-Qualitätsgates: BVH-Kollisionsklassen, Ausreißer-Bounds, getrennte Komponenten, fehlende Metadaten und Domänenregeln.
  6. Versionen/Rollback: Projektsnapshot vor Commit und explizites Wiederherstellungs-Tool.
  7. Stabile Kameras: Editor-native Kamera-Presets und UI-freier Agent-Capture-Modus.

Sicherheits-Checkliste vor produktivem Einsatz

  • Separates, angemessen berechtigtes confBuild-Benutzerkonto verwenden
  • Secrets im Schlüsselbund oder in kurzlebigen Umgebungsvariablen halten
  • Öffentliche Vorlagen klonen statt Originale zu verändern
  • Revisionskonflikte rebasen, niemals umgehen
  • Finalen Screenshot- und Diagnosebericht prüfen
  • Sicherheits-, Statik-, Norm- und Fertigungsannahmen menschlich freigeben
  • CDP nur lokal und für die benötigte Dauer öffnen
  • Für Remote-Nutzung zuerst OAuth, Mandantentrennung, Quoten und Audit ergänzen

Weitere Hilfe

Beginnen Sie bei Einrichtungsproblemen mit MCP einrichten. Für Toolparameter und Patchformat siehe MCP-Tool- & Sheet-Referenz.