// erkundung · mcp-approval · läuft
Kann ein Mensch im Loop bleiben, ohne den Agenten auszubremsen?
Der Build, den ich am weitesten gebracht habe: ein MCP-Server auf Cloudflare Workers, der Schreib- und Löschaktionen eines Agenten hinter eine menschliche Freigabe stellt — signiert mit einem Passkey auf einem zweiten Gerät. Er läuft; diese Seite hält fest, was ich auf dem Weg dahin gelernt habe.
Das Problem
KI-Agenten handeln zunehmend auf echten Systemen — sie versenden Mails, löschen Records, ändern Zustand. Eine Policy-Regel kann „erlaubt" oder „blockiert" sagen, aber nicht „genau diese Aktion, jetzt, ist in Ordnung". Für irreversible Aktionen reicht das nicht.
Die naheliegende Antwort — und warum sie zu kurz greift
Auto-Policy-Gateways geben nach Kategorie frei. Sie holen nie einen Menschen für die konkrete Payload in den Loop. Man gewinnt Geschwindigkeit, verliert aber genau das, worauf es bei riskanten Aktionen ankommt: eine bewusste menschliche Entscheidung über den echten Inhalt.
Der Ansatz — WYSIWYS
What You See Is What You Sign. Der Agent fordert eine Aktion an; die genaue Anfrage erscheint auf deinem Handy oder Laptop; du gibst sie mit einem WebAuthn-Passkey frei. Was der Bildschirm zeigt, ist das, was ausgeführt wird — nichts anderes. Keine Freigabe, keine Aktion (fail-closed).
send_email → signed · passkey ✓ Entscheidungen & Abwägungen
- Single-User by Design. Bewusst nicht multi-tenant — kleinere Angriffsfläche und ein klarer Umbaupunkt, falls es je skalieren muss.
- Zwei Authenticators, kein Recovery-Code. Ein Passkey wird auf zwei Geräten registriert; es gibt kein Fallback-Secret, das man phishen könnte. Sicherheit bewusst vor Bequemlichkeit.
- Service-Binding statt öffentlicher Fläche. Der Knowledge Core wird worker-zu-worker erreicht, nie dem öffentlichen Internet ausgesetzt. Defense in Depth.
Gebaut mit
Cloudflare Workers · D1 · R2 · MCP (Model Context Protocol) · WebAuthn / passkeys · OAuth 2.1 + PKCE · Terraform (IaC) · TypeScript
Interne Audit-Details und Secrets werden hier bewusst nicht veröffentlicht.
So wird es genutzt
Freigaben erscheinen in einer kleinen Web-UI auf deinem zweiten Gerät: der genaue Tool-Call, in Klartext, mit Freigeben/Ablehnen und einer Passkey-Abfrage. Was der Bildschirm zeigt, ist das, was ausgeführt wird — die Human-in-the-Loop-Fläche für jedes Tool im Hub.
Status & Fahrplan
Wo es steht: läuft. Live auf Cloudflare Workers — MCP-Server, per Passkey signierte Freigaben, fail-closed und Infrastruktur als Code.
Als Nächstes: eine live, nur lesende Sandbox-Demo direkt auf dieser Seite — same-origin, rate-limited, ohne Login — damit du den Signier-Flow selbst auslösen kannst.