
Ed25519 हस्ताक्षरित रसीदें + AI एजेंटों के लिए Cedar नीतियाँ। वित्त आदेश गेट (Legate), प्रूफ पैक, 3 IETF इंटरनेट-ड्राफ्ट। npx protect-mcp
AI एजेंट टूल कॉल्स के लिए fail-closed Cedar नीति गेट और हस्ताक्षरित रसीदें।
protect-mcp एक गेट है जो AI एजेंट के टूल कॉल्स के सामने बैठता है। यह प्रत्येक कॉल का मूल्यांकन Cedar नीति के विरुद्ध करता है (वही भाषा जिसका उपयोग AWS, IAM के लिए करता है), नियम तोड़ने वाली चीज़ों को चलने से पहले रोकता है, और प्रत्येक निर्णय की ऑफ़लाइन-सत्यापन-योग्य Ed25519 रसीद पर हस्ताक्षर करता है। यह स्थानीय रूप से चलता है, आपके निर्णयों का कोई टेलीमेट्री कहीं नहीं भेजता, और MIT लाइसेंस प्राप्त है।
would_deny: true के रूप में चिह्नित किया जाता है, ताकि विफलता कभी चुपचाप न हो।serve --enforce और doctor एक स्टार्टअप स्व-परीक्षण चलाते हैं और गेट को सशस्त्र करने से इनकार करते हैं जब तक वे यह नहीं दिखा सकें कि एक ज्ञात-निषिद्ध क्रिया वास्तव में अस्वीकृत होती है। जो गेट यह सिद्ध नहीं कर सकता कि वह अस्वीकार करता है, वह शुरू नहीं होता।@veritasacta/verify के साथ ऑफ़लाइन सत्यापन-योग्य होते हैं। किसी विक्रेता विश्वास की आवश्यकता नहीं: गणित को इससे कोई फ़र्क नहीं पड़ता कि इसे कौन चलाता है।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
Claude Desktop के लिए, पहले एक dry-run config patch चलाएँ, फिर उसे लागू करें:```bash
npx protect-mcp wrap --claude-desktop
npx protect-mcp wrap --claude-desktop --write
npx protect-mcp dashboard --open
डैशबोर्ड 127.0.0.1 पर बाइंड होता है, केवल स्थानीय लॉग/रसीद फ़ाइलें पढ़ता है, और कुछ भी अपलोड नहीं करता। npx protect-mcp connect का उपयोग केवल तब करें जब आप स्पष्ट रूप से होस्ट किया गया ScopeBlind डैशबोर्ड चाहते हों।
यदि आप Claude Code हुक्स को वायर करने के बजाय गेट को टूल्स के रूप में कॉल करना पसंद करते हैं, तो इसे MCP सर्वर के रूप में चलाएँ:```bash npx protect-mcp mcp
यह stdio पर MCP बोलता है और चार read-only tools को expose करता है, पूरा loop:
- **`evaluate_action`**: एक proposed tool call को inline Cedar policy के विरुद्ध तय करता है, fail-closed (कोई भी policy error DENY है)। `{ allowed, decision, reason, policy_digest }` return करता है।
- **`sign_decision`**: एक decision को Ed25519 signed receipt में बदलता है (एक denial `gateway_restraint` sign करता है, एक allow `decision_receipt`)। receipt और उसकी public key return करता है; यदि आप एक supply नहीं करते हैं तो एक ephemeral key generate करता है।
- **`verify_receipt`**: एक signed receipt को offline, एक public key के विरुद्ध verify करता है। `{ valid, error, type, kid, issuer }` return करता है।
- **`self_test`**: इसे सिद्ध करता है, कोई inputs नहीं। एक known-forbidden action deny किया जाता है, फिर एक signed receipt round-trip करता है और एक tampered copy fail होती है।
किसी भी MCP host को इस पर point करें, उदाहरण के लिए Claude Desktop:```json
{
"mcpServers": {
"protect-mcp": { "command": "npx", "args": ["-y", "protect-mcp", "mcp"] }
}
}
रसीदें उन रसीदों के साथ बाइट-संगत हैं जिन्हें गेट रनटाइम पर साइन करता है, इसलिए यहाँ बनाई गई रसीद @veritasacta/verify और ब्राउज़र वेरिफायर के साथ उसी तरह सत्यापित होती है।
protect-mcp dashboard दृश्यता से प्रवर्तन की ओर बढ़ने के लिए ऑपरेटर दृश्य है:
Require approval, Block, या Observe के लिए एक-क्लिक स्थानीय नीति संपादन। परिवर्तनों की समीक्षा के बाद रैपर को पुनः आरंभ करें।लाइव डेस्कटॉप फ़ॉलबैक अनुमोदनों के लिए, डैशबोर्ड को रैपर द्वारा प्रिंट किए गए स्थानीय गेटवे अनुमोदन एंडपॉइंट और नॉन्स के साथ आरंभ करें:```bash
npx protect-mcp dashboard --open
--approval-endpoint http://127.0.0.1:9876
--approval-nonce "$PROTECT_MCP_APPROVAL_NONCE"
`Approve` उन flags के मौजूद होने पर live local gateway को forward करता है।
`Deny`, `Edit`, और `Take over` locally approval-resolution records के रूप में
दर्ज किए जाते हैं; इन्हें operator instruction के रूप में उपयोग करें और आवश्यकता
पड़ने पर tool को दोबारा चलाएँ।
### Paid Boundary MVP: digest anchoring, not data upload
Local self-signed receipts मुफ़्त रहते हैं और offline-verifiable हैं। Paid boundary
स्वतंत्र प्रमाण है कि ScopeBlind ने किसी समय, किसी org identity के अंतर्गत, एक
receipt digest देखा था, बिना raw prompt, tool payload, output, private key, या
raw receipt प्राप्त किए।```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
लोकल प्रीव्यू को जानबूझकर local-preview-not-independent लेबल किया गया है।
होस्टेड मोड केवल रसीद हैश, अनुरोध आईडी, संगठन की सार्वजनिक कुंजियाँ, और
बिलिंग मेटाडेटा को एंकर करता है। यह कच्ची रसीदें या संवेदनशील संदर्भ अपलोड नहीं करता।
protect-mcp killer-demo एक पूरा तीन मिनट का सेल्स/डेमो पैक जनरेट करता है:```bash
npx protect-mcp killer-demo --dir ./scopeblind-demo
यह मॉक फाइलसिस्टम, GitHub, ईमेल, और PMS गतिविधि बनाता है; शैडो मोड में जोखिम भरी कॉल दिखाता है; एक पॉलिसी पैक लागू करता है; एक संवेदनशील PMS बुकिंग के लिए अनुमोदन की आवश्यकता होती है; गेटवे के माध्यम से निष्पादित करता है; एक हस्ताक्षरित रसीद लिखता है; सिद्ध करता है कि मूल रसीद सत्यापित होती है; सिद्ध करता है कि छेड़छाड़ की गई रसीद विफल होती है; और एक चयनात्मक प्रकटीकरण पैकेज बनाता है जो संवेदनशील संदर्भ को छिपाता है जबकि न्यूनतम प्रमाण दिखाता है।
पहले उत्पन्न `DEMO-RUNBOOK.md` खोलें। फिर ग्राहक को सटीक अनुक्रम के माध्यम से मार्गदर्शन करने के लिए मुद्रित डैशबोर्ड कमांड चलाएँ।
### चयनात्मक प्रकटीकरण v0