# ProjectCapture Blockbench MCP Diese Werkzeugkette erzeugt aus dem exakt gepinnten Blockbench-MCP-Upstream einen gehärteten, reproduzierbaren Entwicklungs-Build. Sie installiert nichts automatisch in Blockbench oder Codex und speichert keine Geheimnisse im Repository. ## Sicherheitsprofil - Serverbindung ausschließlich an `127.0.0.1`. - Jede HTTP-, Health- und MCP-Anfrage benötigt einen Bearer-Token aus `PROJECTCAPTURE_BLOCKBENCH_TOKEN` (mindestens 32 Zeichen). - Alle Dateiimporte und -exporte liegen unter dem absoluten Verzeichnis aus `PROJECTCAPTURE_ASSET_ROOT`; absolute Pfade, `..`, falsche Dateiendungen, Symlink-Eltern und Symlink-Ziele werden abgewiesen. - Die Werkzeugregistrierung ist fail-closed. `risky_eval`, frei wählbare Blockbench-Actions, Klicksimulation, URL-Importe, beliebige Exporte und App-Screenshots werden nicht über MCP registriert. - Netzwerkgeladene MCP-Prompts sind im gehärteten Build entfernt. - Codex erhält zusätzlich eine explizite Werkzeug-Allowlist aus `examples/codex-config.toml`. ## Reproduzierbarer Ablauf Voraussetzungen sind `git`, `pnpm` und ein POSIX-Shell-Umfeld. Bun wird über `pnpm dlx bun@1.3.14` exakt gepinnt und nur im Paketmanager-Cache verwendet. ```sh ./scripts/test.sh ./scripts/build.sh ./scripts/stage-hytale-plugin.sh ``` `test.sh` klont Commit `6b069e3…` in ein temporäres Verzeichnis, prüft den Patch-Hash, wendet den Patch an und führt die automatisierten Tests aus. `build.sh` wiederholt diese Prüfung, baut anschließend das Plugin und legt nur reviewbare Artefakte plus SHA-256-Datei in `dist/` ab. `stage-hytale-plugin.sh` holt ausschließlich den gepinnten offiziellen Hytale-Plugin-Commit und prüft dessen bereits veröffentlichtes Distributionsfile gegen den Lock-Hash. ## Lokale Laufzeitwerte Der gehärtete Build startet absichtlich nicht, solange beide Variablen fehlen: ```sh export PROJECTCAPTURE_BLOCKBENCH_TOKEN='' export PROJECTCAPTURE_ASSET_ROOT='/absoluter/Pfad/zu/ProjectCapture/devtools/blockbench-assets' ``` Mit `scripts/create-local-env.sh AUSGABEDATEI ASSET_ROOT` kann außerhalb des Repositories eine Datei mit Modus `0600` erzeugt werden. Das Skript verweigert Ausgaben innerhalb dieses Git-Arbeitsbaums. Die Datei wird nicht automatisch geladen und nicht in Codex eingetragen. ## Review und Installation Nach erfolgreichem Review kopiert `scripts/install-reviewed.sh --i-reviewed-gpl ZIELVERZEICHNIS` die beiden geprüften JavaScript-Dateien in ein ausdrücklich angegebenes Verzeichnis. Das Skript verändert keine Codex-Konfiguration. Die Vorlage `examples/codex-config.toml` muss separat und mit `bearer_token_env_var` übernommen werden; ein Tokenwert gehört nie in TOML. ## Hytale-Werkzeuge Der Patch ergänzt sichere Werkzeuge für Capability-Probe, Hytale-Projekterzeugung, Validierung, PNG-Import/-Export, `.bbmodel`, `.blockymodel`, `.blockyanim` und Attachments. Gruppen-Defaults, Texturflags, Datenpunkte von Keyframes, asynchrones Codec-Kompilieren sowie Quad-Normalen/-Flächen und Flat-Shading sind korrigiert. Der statische Build und die automatisierten Tests ersetzen nicht das Live-Gate: Nach Installation müssen Blockbench 5.0.7 und Hytale Models 0.9.1 gemeinsam ein neutrales Testwesen öffnen, speichern, neu laden und in alle drei Formate exportieren. Erst danach gilt das Asset-Gate als bestanden.