
Ed25519-signierte Belege + Cedar-Richtlinien für KI-Agenten. Finanzmandats-Gate (Legate), Nachweispakete, 3 IETF-Internetentwürfe. npx protect-mcp
Fail-closed Cedar Policy Gate plus signierte Belege für Tool-Aufrufe von KI-Agenten.
protect-mcp ist ein Gate, das vor den Tool-Aufrufen eines KI-Agenten sitzt. Es bewertet
jeden Aufruf anhand einer Cedar-Policy (derselben Sprache,
die AWS für IAM verwendet), blockiert, was die Regeln verletzt, bevor es ausgeführt wird, und signiert
einen offline-verifizierbaren Ed25519-Beleg für jede Entscheidung. Es läuft lokal, sendet keine
Telemetrie deiner Entscheidungen irgendwohin und ist MIT-lizenziert.
would_deny: true markiert, sodass ein Fehler niemals still bleibt.serve --enforce und doctor führen einen Startup-
Selbsttest aus und weigern sich, das Gate zu scharf zu stellen, es sei denn, sie können zeigen, dass eine bekannte verbotene
Aktion tatsächlich verweigert wird. Ein Gate, das nicht beweisen kann, dass es verweigert, startet nicht.@veritasacta/verify.
Kein Vendor-Vertrauen erforderlich: Die Mathematik kümmert sich nicht darum, wer sie ausführt.npx protect-mcp init
npx protect-mcp wrap -- node your-mcp-server.js
npx protect-mcp dashboard --open
npx protect-mcp recommend --write
npx protect-mcp --policy protect-mcp.recommended.json --enforce -- node your-mcp-server.js
Für Claude Desktop führen Sie zuerst einen Dry-Run-Konfigurations-Patch aus und wenden ihn dann an:```bash
npx protect-mcp wrap --claude-desktop
npx protect-mcp wrap --claude-desktop --write
npx protect-mcp dashboard --open
Das Dashboard bindet an 127.0.0.1, liest nur lokale Log-/Receipt-Dateien und
lädt nichts hoch. Verwende npx protect-mcp connect nur, wenn du explizit ein
gehostetes ScopeBlind-Dashboard möchtest.
Wenn du das Gate lieber als Tools aufrufen möchtest, anstatt die Claude Code Hooks zu verdrahten, führe es als MCP-Server aus:```bash npx protect-mcp mcp
Es spricht MCP über stdio und stellt vier schreibgeschützte Tools bereit, die den gesamten Ablauf abdecken:
- **`evaluate_action`**: entscheidet einen vorgeschlagenen Tool-Aufruf anhand einer Inline-Cedar-Richtlinie, fail-closed (jeder Richtlinienfehler ist DENY). Gibt `{ allowed, decision, reason, policy_digest }` zurück.
- **`sign_decision`**: verwandelt eine Entscheidung in eine Ed25519-signierte Quittung (eine Ablehnung signiert eine `gateway_restraint`, eine Erlaubnis eine `decision_receipt`). Gibt die Quittung und ihren öffentlichen Schlüssel zurück; generiert einen ephemeren Schlüssel, wenn Sie keinen bereitstellen.
- **`verify_receipt`**: verifiziert eine signierte Quittung offline gegen einen öffentlichen Schlüssel. Gibt `{ valid, error, type, kid, issuer }` zurück.
- **`self_test`**: beweist es, ohne Eingaben. Eine bekanntermaßen verbotene Aktion wird abgelehnt, dann durchläuft eine signierte Quittung einen Round-Trip und eine manipulierte Kopie schlägt fehl.
Richten Sie einen beliebigen MCP-Host darauf aus, zum Beispiel Claude Desktop:```json
{
"mcpServers": {
"protect-mcp": { "command": "npx", "args": ["-y", "protect-mcp", "mcp"] }
}
}
Receipts sind byte-kompatibel mit denen, die das Gate zur Laufzeit signiert, sodass ein hier erzeugter Receipt mit @veritasacta/verify und dem Browser-Verifier genauso verifiziert wird.
protect-mcp dashboard ist die Operator-Ansicht für den Übergang von Sichtbarkeit zu Durchsetzung:
Require approval, Block oder Observe. Starten Sie den Wrapper nach der Überprüfung der Änderungen neu.Für Live-Desktop-Fallback-Genehmigungen starten Sie das Dashboard mit dem lokalen Gateway-Genehmigungsendpunkt und dem vom Wrapper ausgegebenen Nonce:```bash
npx protect-mcp dashboard --open
--approval-endpoint http://127.0.0.1:9876
--approval-nonce "$PROTECT_MCP_APPROVAL_NONCE"
`Approve` leitet an das Live-Local-Gateway weiter, wenn diese Flags vorhanden sind.
`Deny`, `Edit` und `Take over` werden lokal als Approval-Resolution-Datensätze
aufgezeichnet; verwende sie als Operator-Anweisung und führe das Tool bei Bedarf erneut aus.
### Paid Boundary MVP: Digest-Anchoring, kein Daten-Upload
Lokale selbstsignierte Belege bleiben kostenlos und offline-verifizierbar. Die Paid Boundary ist
ein unabhängiger Nachweis, dass ScopeBlind einen Beleg-Digest zu einem Zeitpunkt unter einer Org-
Identität gesehen hat, ohne den rohen Prompt, Tool-Payload, Output, Private Key oder
rohen Beleg zu erhalten.```bash
# Create or refresh a local org identity and public-key directory.
npx protect-mcp registry init --org "Meridian Global Macro" --billing-account acct_meridian
# Local preview: writes a digest registry and shareable static verifier page.
npx protect-mcp registry anchor
# Hosted mode: uploads receipt digests only for independent anchoring.
SCOPEBLIND_TOKEN=... npx protect-mcp registry anchor \
--hosted \
--endpoint https://api.scopeblind.com \
--verifier-base https://scopeblind.com
Die lokale Vorschau ist bewusst als local-preview-not-independent gekennzeichnet.
Der gehostete Modus verankert nur Receipt-Hashes, Request-IDs, öffentliche
Organisationsschlüssel und Abrechnungsmetadaten. Er lädt keine rohen Receipts
oder sensiblen Kontext hoch.