OpenClaw mit MCP und Skillkette auf einem gemieteten Remote-Mac bricht oft an Node-Drift, unsicherem Gateway oder fehlendem Preflight. Dieses HowTo bietet Schritte, zwei Tabellen (Bindung, Transport), eine Fehlermatrix, ein Workspace-Minimalbeispiel und Cron mit Preflight vor git pull. Ziel ist ein identischer Ablauf nach Neustart des Builders und nach Personalwechsel. Mehr Kontext: Startseite, Technik-Blog, ClawHub & Pre-Pull, Kaufen.

Drei typische Stolpersteine auf dem Mac-Builder

  1. Node-Drift: npm-openclaw erwartet Node.js 22+ (Stand Frühjahr 2026 laut Release- und Install-Dokus). Ältere Runtimes brechen ESM oder Postinstall ab.
  2. Offenes Gateway: 0.0.0.0 ohne Firewall und harte Tokens exponiert alle MCP-Fähigkeiten sofort im Netz.
  3. Kein Preflight: Ohne doctor und kurzen MCP-Check vor dem Job verschwenden Sie Build-Zeit auf dem Silizium-Knoten; Fehler fallen erst spät in der Pipeline auf, wenn Logs bereits rot sind.

Entscheidungsmatrix: Gateway-Bindung und harte Oberfläche

Bindungsvarianten für Gateway-Prozesse auf dem Remote-Mac – Risiko bewusst steuern.

Bindung / Zugriff Erreichbarkeit Angriffsfläche Auditierbarkeit Empfehlung
127.0.0.1 + SSH-Port-Forward oder lokaler Reverse-Proxy Nur Loopback Minimal Hoch Standard für CI-Runner und geteilte Hosts
Private RFC1918-IP + Firewall nur für Jump-Host LAN/VPN Mittel Mittel Nur mit Allowlist und getrenntem Token pro Umgebung
0.0.0.0 ohne WAF/Firewall/Token-Rotation Öffentlich erreichbar Sehr hoch Gering Vermeiden – entspricht „nacktem“ Lauschen im Internet
Unix-Socket + nginx/HAProxy davor Nur lokal Gering Hoch Gut kombinierbar mit festem App-User auf dem Mac

Zweite Matrix – MCP-Transport. Die Wahl beeinflusst, wie stark Sie Prozessgrenzen und TLS trennen müssen; für reine Loopback-Szenarien dominiert meist stdio.

Transport Latenz Isolation Typischer Fehler Wann sinnvoll
stdio (Subprozess) Sehr niedrig Prozessgrenze Falsches Arbeitsverzeichnis oder PATH Lokale Tools auf demselben Mac
HTTP(S) Server Mittel TLS + Token nötig Zertifikat oder Proxy-Bruch Mehrere Consumer oder entfernte Clients
Sidecar-Container Mittel cgroup/Netz-NS Docker-Socket-Rechte auf dem Mac Wenn ohnehin Docker auf dem Knoten läuft

Reproduzierbare Schritte: von Node bis launchd

Für einen CI-Benutzer auf macOS; nur ein Pfad: globales npm für klare Upgrades. Ein zweiter paralleler Pfad über Curl-Installer würde hier absichtlich weggelassen, damit Runbooks und Support nicht divergieren.

  • Schritt 1 – Node 22: node -v; bei Bedarf offizieller macOS-Installer oder nvm install 22. Minor im README festhalten.
  • Schritt 2 – Global installieren:
npm install -g openclaw@latest hash -r openclaw --version

npm prefix -g muss für den CI-User beschreibbar sein.

  • Schritt 3–4 – Workspace & MCP: Verzeichnis wie unten; openclaw.json versionieren; MCP-Server manuell mit gleichem CWD testen.
  • Schritt 5 – Gateway: Nur 127.0.0.1; Token ≥32 Zeichen in .env, nicht im Repo. Kein nacktes 0.0.0.0.
  • Schritt 6 – launchd: ~/Library/LaunchAgents/…plist mit RunAtLoad, Logs unter ~/Library/Logs/, nach launchctl bootstrap Reboot testen.
  • Schritt 7 – Preflight: doctor/status plus MCP-Smoke; erst bei Exit 0 git pull oder Build (siehe Cron).

Häufige Fehler – Kurzübersicht

Nutzen Sie die Tabelle als Checkliste, wenn Logs unklar bleiben; die meisten Fälle sind Pfad-, Port- oder Rechteprobleme auf demselben Host.

Symptom / Logzeile Wahrscheinliche Ursache Gegenmaßnahme
ERR_REQUIRE_ESM oder unsupported engine Node kleiner 22 oder falscher Interpreter im Shebang Node 22 aktivieren, Shebang und PATH in launchd plist angleichen
EADDRINUSE Port schon durch anderen Prozess belegt Port ändern oder Konfliktprozess beenden, dann Dienst neu laden
MCP connection closed sofort nach Start Falsches CWD, fehlende Binaries im PATH Arbeitsverzeichnis im plist und in openclaw.json vereinheitlichen
401 / unauthorized am Gateway Token fehlt, ist abgelaufen oder Header falsch Geheimnis rotieren, Umgebungsvariable in launchd prüfen
permission denied beim globalen npm npm prefix -g gehört root Besitz auf CI-User übertragen oder dediziertes Prefix mit npm config set prefix

Minimales Workspace-Layout (Beispiel)

Geheimnisse nie committen.

openclaw-ci/ ├── .env # OPENCLAW_GATEWAY_TOKEN=... (nicht committen) ├── .gitignore # .env, Logs ├── openclaw.json # Skills, MCP-Liste, feste Versionen ├── scripts/ │ └── preflight.sh # doctor + MCP smoke + exit codes └── skills/ └── README.md # kurze Beschreibung je Skill

Beispiel: zeitgesteuertes Preflight vor Pull

Alle sechs Stunden Preflight, dann nur bei Erfolg ziehen:

15 */6 * * * cd $HOME/openclaw-ci && ./scripts/preflight.sh && git pull --ff-only

preflight.sh: set -euo pipefail, .env laden, bei Fehler exit ≠ 0.

So bleibt der Git-Stand konsistent, wenn der MCP-Dienst kurz unavailable ist oder ein Skill-Update fehlschlägt, ohne halbfertige Artefakte im Workspace auf dem Remote-Builder.

Kurzreferenz: drei harte Regeln für 2026

Direkt ins Runbook übernehmen
  • Node 22+ im launchd-gleichen Kontext prüfen.
  • 127.0.0.1 + Token in .env, regelmäßig rotieren; niemals in Tickets oder Chat pasten.
  • Preflight vor Pull, sonst leere Build-Slots.

Fazit und nächste Schritte

Node 22, npm install -g openclaw@latest, Gateway auf Loopback, launchd und Preflight sichern die Skillkette auf dem gemieteten Mac-CI. MacPull: Preise, dann Jetzt kaufen. SSH und Region: Hilfe; mehr Lesestoff: Technik-Blog.

OpenClaw & MCP auf Remote-Mac

Mac-Knoten mieten – OpenClaw stabil betreiben

Wählen Sie ein passendes Paket, lesen Sie Hilfe und Blog-Beiträge zu CI und Pull-Stabilität – ideal für Skillketten und MCP auf Apple Silicon.

MCP-fähige Build-Umgebung
Dedizierte Mac-Mini-Knoten
Support bei Onboarding