Request npub ownership proof from a patron via Nostr DM.
This is the npub-OWNERSHIP-PROOF flow — use it when a call returns
``proof_required``. It proves the caller controls an npub; it does
NOT deliver any service secret. To hand an operator its API keys or
OAuth secrets, use ``request_credential_channel`` instead.
Sends a challenge DM that the patron must sign and reply to
using their Nostr client. **This is a human-in-the-loop flow.**
After calling this tool, STOP and tell the user to check their
Nostr client and reply to the challenge. Wait for the user to
confirm they have replied before calling ``receive_npub_proof``.
Do NOT poll or retry — each ``receive_npub_proof`` call
destructively drains the relay mailbox.
**Returns** a ``dpop_token`` — the demonstrated-proof-of-possession
token that the calling application MUST remember and pass as the
``dpop_token`` parameter on every subsequent paid tool call. The MCP
does not retain this value across restarts.
**Lifecycle:** The cached proof expires after the patron's
chosen duration. When it expires, call ``request_npub_proof``
again for a fresh challenge, then wait for the user, then
call ``receive_npub_proof``.
Free.
Connector