Capabilities
Capabilities are declared by the host and answer: “what may this device ask for?”Permission policy
The policy runs before the user is asked anything. It filters what a device may ever hold:Key invariants
autoApprovecannot grant abovemaxAutoGrantRisk, which defaults tolow- The approval prompt can narrow an offer, never widen it
denywins over everything — including human approval
Pairing approval
When a new device pairs, the host decides what to grant:Default behavior
Withoutpairing.approve, the host refuses all pairing requests. You must implement this callback.
With pairing.autoApprove: true, all requests are approved — useful for development, never for production.
Per-use consent
Capabilities markedconfirmEachUse are never standing permissions. Every invocation stops at a prompt:
Silence denies. A host with no
onConsentRequest configured refuses confirmEachUse methods outright.