accueil / serveurs / Communication / holdings.proof/mcp-server
holdings.proof/mcp-server
serveur MCP (Model Context Protocol) · proof-holdings 1.7.0
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que holdings.proof/mcp-server est sûr ?
Au dernier audit MCP Hub, le serveur MCP « holdings.proof/mcp-server » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 167 outils
- add_circle_member≈ 282 tokens
Add a pending member to a Circle by name, with an optional pre-declared WhatsApp phone. The Telegram chat id is captured later when the member taps the enrollment deep link. Agent usage: after adding a member, call invite_circle_member to mint the single-use enrollment link the member taps to bind their messenger identity. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (3)
Paramètresid· string · requis
Circle ID to add the member toname· string · requis
Display name of the memberwhatsapp_phone· string · optionnel
E.164 WhatsApp phone with a leading + (optional, declared)
Exemple d'appel{"name": "add_circle_member", "arguments": {"id": "texte", "name": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - add_circle_member_channel≈ 287 tokens
Declare a channel for a Circle member. Returns 409 if that channel type already exists on the member. The identifier is a Telegram chat id or an E.164 WhatsApp phone (per-channel format validated server-side). ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (4)
Paramètresid· string · requis
Circle IDchannel· string · requis · telegram | whatsapp
Channel type (telegram or whatsapp)member_id· string · requis
Member ID to add the channel toidentifier· string · requis
Telegram chat id, or E.164 WhatsApp phone with a leading +
Exemple d'appel{"name": "add_circle_member_channel", "arguments": {"id": "texte", "channel": "telegram", "member_id": "texte", "identifier": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - add_domain≈ 230 tokens
Add a new domain to verify ownership. Optionally specify email sending intent and verification method. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), or sign in with start_login — a session opens this tool — then call this tool again.
Paramètres, retour & exemple (3)
Paramètresdomain· string · requis
Domain name to add (e.g. example.com)for_email_sending· boolean · optionnel
Whether this domain is for email sendingverification_method· string · optionnel · auto_dns | manual_dns | http_file | email
Preferred verification method
Exemple d'appel{"name": "add_domain", "arguments": {"domain": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - add_verification_provider≈ 238 tokens
Add an additional DNS provider for verification to an already-verified domain. Note: credentials will be visible in the AI conversation context. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), or sign in with start_login — a session opens this tool — then call this tool again.
Paramètres, retour & exemple (3)
Paramètresid· string · requis
Domain IDprovider· string · requis
DNS provider identifiercredentials· object · requis
Provider-specific credential key-value pairs
Exemple d'appel{"name": "add_verification_provider", "arguments": {"id": "texte", "provider": "texte", "credentials": {}}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - cancel_user_request≈ 149 tokens
Cancel a pending verification request. Only the creator can cancel. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), or sign in with start_login — a session opens this tool — then call this tool again.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
Verification request ID to cancel
Exemple d'appel{"name": "cancel_user_request", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - cancel_verification_request≈ 146 tokens
Cancel a pending verification request. Only pending requests can be cancelled. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
Verification request ID
Exemple d'appel{"name": "cancel_verification_request", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - check_domain_credentials≈ 158 tokens
Check if stored DNS credentials have access to a domain. Use before triggering verification to confirm the credentials work. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), or sign in with start_login — a session opens this tool — then call this tool again.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
Domain ID to check credentials for
Exemple d'appel{"name": "check_domain_credentials", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - check_domain_email_status≈ 145 tokens
Check the email sending setup status for a domain, including DNS record configuration progress. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), or sign in with start_login — a session opens this tool — then call this tool again.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
Domain ID
Exemple d'appel{"name": "check_domain_email_status", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - check_domain_verification≈ 153 tokens
Check the status of a pending domain verification. Triggers a DNS/HTTP check and returns the updated status. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
Domain verification ID
Exemple d'appel{"name": "check_domain_verification", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - check_user_domain_verification≈ 163 tokens
Trigger a check on the domain verification challenge. Call after placing DNS record or HTTP file. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), or sign in with start_login — a session opens this tool — then call this tool again.
Paramètres, retour & exemple (1)
Paramètressession_id· string · requis
Domain verification session ID
Exemple d'appel{"name": "check_user_domain_verification", "arguments": {"session_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - claim_username≈ 191 tokens
Claim a unique username for the authenticated user's public profile. Usernames must be 3-30 characters, alphanumeric and underscores only. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), or sign in with start_login — a session opens this tool — then call this tool again.
Paramètres, retour & exemple (1)
Paramètresusername· string · requis
Username to claim (3-30 chars, alphanumeric and underscores)
Exemple d'appel{"name": "claim_username", "arguments": {"username": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - confirm_domain_email_code≈ 181 tokens
Confirm domain email verification by submitting the code sent to the corporate email address. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), or sign in with start_login — a session opens this tool — then call this tool again.
Paramètres, retour & exemple (2)
Paramètresid· string · requis
Domain IDcode· string · requis
Verification code from the email
Exemple d'appel{"name": "confirm_domain_email_code", "arguments": {"id": "texte", "code": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - connect_cloudflare≈ 194 tokens
Connect a Cloudflare API token to a domain for automated DNS record management. Note: the API token will be visible in the AI conversation context. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), or sign in with start_login — a session opens this tool — then call this tool again.
Paramètres, retour & exemple (2)
Paramètresid· string · requis
Domain IDapi_token· string · requis
Cloudflare API token with DNS edit permissions
Exemple d'appel{"name": "connect_cloudflare", "arguments": {"id": "texte", "api_token": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - connect_dns_provider≈ 236 tokens
Connect a generic DNS provider to a domain using provider-specific credentials. Note: credentials will be visible in the AI conversation context. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), or sign in with start_login — a session opens this tool — then call this tool again.
Paramètres, retour & exemple (3)
Paramètresid· string · requis
Domain IDprovider· string · requis
DNS provider identifiercredentials· object · requis
Provider-specific credential key-value pairs
Exemple d'appel{"name": "connect_dns_provider", "arguments": {"id": "texte", "provider": "texte", "credentials": {}}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - connect_godaddy≈ 213 tokens
Connect GoDaddy API credentials to a domain for automated DNS record management. Note: the API key and secret will be visible in the AI conversation context. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), or sign in with start_login — a session opens this tool — then call this tool again.
Paramètres, retour & exemple (3)
Paramètresid· string · requis
Domain IDapi_key· string · requis
GoDaddy API keyapi_secret· string · requis
GoDaddy API secret
Exemple d'appel{"name": "connect_godaddy", "arguments": {"id": "texte", "api_key": "texte", "api_secret": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create_account≈ 712 tokens
Create an account-bootstrap session for agent-driven onboarding. Public endpoint (no API key required). Returns a session id, channel-specific instructions, and — FOR TELEGRAM AND WHATSAPP ONLY — deep_link, qr_code (base64 PNG) and qr_text (UTF-8 text QR). The endpoint is safe to call regardless of whether the submitted identity is new: completing verification transparently creates a User when none exists, or logs the user in when one already does. The response is intentionally uniform — the server does NOT reveal whether the identity is already registered (this would be a user-enumeration oracle). If the agent needs to distinguish new-vs-returning users, call `get_current_user` after verification and inspect the user's `created_at`. EMAIL CHANNEL SENDS NOTHING HERE. The response carries email_sent=false and send_required=true: confirm with the user that the address is theirs, then call send_account_email. The other channels dispatch nothing either way — the user sends the first message themselves (reverse OTP). Agent usage: (1) Call create_account with the user's chosen channel. (2) For email, confirm with the user and call send_account_email. On telegram/whatsapp pass `deep_link` to render_auth_link, which returns the clickable link with a QR code beneath it to you. On sms `deep_link` is an EMPTY STRING and render_auth_link will reject it — show `sms_message`, which is what the user sends; this response carries no destination number, so do not invent one. Do not hand `qr_text` to a link renderer either — it is the link already rendered as QR art; print it verbatim inside a fenced code block if a real terminal needs the QR. (3) Once your reply shows the user the challenge, call wait_for_account_creation with the session id until verification completes. (4) On verified, JWT + refresh cookies are set; proceed with whatever follow-up the agent was asked to do. The user does not see tool results — most clients fold them away, render_auth_link's output included. Before you wait or poll, put what the user must act on into your own reply text: the link itself (not a sentence announcing it), the SMS text and number, or a note to check their inbox.
Paramètres, retour & exemple (3)
Paramètresemail· string · optionnel
Email address. Required for email channel.channel· string · requis · telegram | whatsapp | sms | email
Authentication channel the user will verify throughphone_number· string · optionnel
E.164 phone number. Required for SMS channel (determines DID routing).
Exemple d'appel{"name": "create_account", "arguments": {"channel": "telegram"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create_api_key≈ 648 tokens
Create a new API key. The secret key value is returned ONLY in this response — store it securely. Note: the secret will be visible in the AI conversation context. Optionally bind the key to a sub-account (project) via profile_id — outbound messages sent with the key are then branded as that project. Agent usage: This operation requires 2FA. Before calling, complete the 2FA flow: (1) call start_2fa with action_type "api_key_create" and the user's preferred channel, (2) tell the user a code was sent and wait for them to verify, (3) poll get_2fa_status until status is "verified", (4) then call create_api_key — the backend session will be elevated. If you get a 403, the 2FA session has expired — restart the flow. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), or sign in with start_login — a session opens this tool — then call this tool again.
Paramètres, retour & exemple (4)
Paramètresname· string · optionnel
Human-readable key namescopes· array · optionnel
Permission scopes for the keyprofile_id· string · optionnel
Bind the new key to a sub-account (PublicProfile) project you own (24-hex id). Immutable after creation; omit for an unbound account-wide key.environment· string · optionnel · production | test
Key environment (default: production)
Exemple d'appel{"name": "create_api_key", "arguments": {"name": "texte", "scopes": [], "profile_id": "texte", "environment": "production"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create_authorization≈ 490 tokens
Create a new authorization request. Authorizations grant permission to send confirmations to a user via a specific channel. The user must approve the authorization before confirmations can be sent. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (9)
Paramètresbsuid· string · optionnel
WhatsApp Business-Scoped User ID (alternative to phone for WhatsApp channel)phone· string · requis
Target phone number in E.164 format (e.g., +15551234567)scope· string · optionnel · confirmations
Authorization scope (default: confirmations)channel· string · requis · whatsapp | telegram | sms | email
Channel for sending confirmationshitl_id· string · requis
HITL configuration ID to link this authorization torecipient· string · requis
Channel-specific recipient identifier (chat_id for Telegram, phone/BSUID for WhatsApp)expires_in· integer · optionnel
Expiry in seconds (max 90 days, default 90 days)business_name· string · requis
Business name displayed to user during authorizationbusiness_profile_id· string · optionnel
Public profile ID for branding
Exemple d'appel{"name": "create_authorization", "arguments": {"phone": "texte", "channel": "whatsapp", "hitl_id": "texte", "recipient": "texte", "business_name": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create_chat_id_discovery≈ 336 tokens
Create a Telegram chat ID discovery token. Returns a deep_link, qr_code (base64 PNG), and qr_text (UTF-8 text QR for terminal display). The user opens the link in Telegram, which reveals their chat ID for HITL config setup. Agent usage: pass the response's `deep_link` to render_auth_link so the user can click or scan it. Never hand `qr_text` to a link renderer — it is that same link already rendered as QR art. Print it verbatim inside a fenced code block only when a real terminal needs the QR. Then poll poll_chat_id_discovery with the returned token until the chat_id appears. Use the discovered chat_id when creating a HITL config with a Telegram channel. The user does not see tool results — most clients fold them away, render_auth_link's output included. Before you wait or poll, put what the user must act on into your own reply text: the link itself (not a sentence announcing it), the SMS text and number, or a note to check their inbox. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "create_chat_id_discovery", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create_circle≈ 544 tokens
Create a Circle — a named group of trusted contacts (the people-primitive powering Proof-Me and Approvals-on-Circle). Optionally seed initial members; each member's declared channels are stored so they can be invited to enroll. Agent usage: after creating a Circle, add members with add_circle_member (or seed them here), then invite_circle_member to mint the enrollment deep link each contact taps to bind their messenger identity. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (5)
Paramètresname· string · requis
Human-readable name for the Circlemembers· array · optionnel
Initial members (name + optional declared channels)owner_name· ? · optionnel
How this Circle's members know its owner ("Dad", "Giorgi"). The bots name the owner by it; while it is empty they name nobody — the Circle's name labels the group, never the person. Trimmed by the API; null or an empty value clears it.profile_id· string · optionnel
Public profile (sub-account) to bind for branded messages — create-onlyproof_me_enabled· boolean · optionnel
Enable Proof-Me drills for this Circle
Exemple d'appel{"name": "create_circle", "arguments": {"name": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create_circle_member_drill≈ 224 tokens
Fire an on-demand Proof-Me drill against one enrolled member — a real cross-channel identity challenge carrying the scheduled-safety-check label (the account owner practices confirming). Complements the automated daily drill + monthly reinforcement sweeps. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (2)
Paramètresid· string · requis
Circle IDmember_id· string · requis
Member ID to drill
Exemple d'appel{"name": "create_circle_member_drill", "arguments": {"id": "texte", "member_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create_confirmation≈ 646 tokens
Create a HITL confirmation request. Sends an approval request to the channels configured on the referenced HITL config. First response wins. Agent usage: The HITL config referenced by hitl_id must be authorized before you can create confirmations. If this returns a 403 or "not authorized" error, call request_hitl_authorization on the HITL config first, then wait for the user to approve via the messaging channel. After creating a confirmation, poll get_confirmation to check for approval/denial, or use get_confirmation_approval_link to generate a fresh link for the user. Encryption is NOT optional: a HITL config cannot send confirmations without a keypair, the human approves by decrypting in their browser, and `message` must be a JSON ciphertext envelope. Plaintext is refused with 400 `message_not_encrypted`; an envelope sealed to another key with 400 `message_key_mismatch`. Choose the version by who must be able to decrypt: - v1 (single-recipient): wraps the content key for the config owner only. Use ONLY when there are no enrolled non-owner approvers — with approvers enrolled it is refused with 400 `envelope_missing_approvers`. - v2 (multi-recipient): additionally wraps the content key for each enrolled approver via an `approver_ek` map, so every approver can decrypt. Build it with the SDK `encryptMessageV2(plaintext, ownerPublicKey, hitlId, approverKeys)` after fetching the approvers via the SDK `getApproverKeys(hitlId)` (`GET /api/v1/hitl/:id/approver-keys`). AAD is the `hitlId`. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (3)
Paramètreshitl_id· string · requis
HITL config ID whose channels will receive the approval requestmessage· string · requis
The client-encrypted ciphertext envelope as a JSON string (v1 or v2) — NOT the human-readable text. Encrypt the sentence the approver should read; passing it directly is refused with 400 `message_not_encrypted`, because the approval page can only decrypt an envelope.proof_expiry_days· integer · optionnel
Per-request proof expiry override in days (7, 30, 90, or 365)
Exemple d'appel{"name": "create_confirmation", "arguments": {"hitl_id": "texte", "message": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create_delegation≈ 544 tokens
Create a delegation (Proof of Delegation): a control-proven domain authorizes a typed url/purl artifact for a set of capability scopes and receives a publishable signed token. The attestation is that the domain's controller authorized this artifact — nothing more; it says nothing about the artifact or the business behind it. Each mint is a billable proof. A requested lifetime longer than the control proof's remainder is rejected, never truncated. The result carries the publishable token AND the DERIVED effective_status/is_valid — the same pair the list and get tools return, so the shape does not depend on which verb produced it. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (4)
Paramètresscope· array · requis
1-32 capability scopes: lowercase kebab-case tokens, at most 64 characters each (e.g. send-email). NOT API scopes — an API-style resource:action such as payments:read is rejected with invalid_scope.delegate· object · requis
The typed artifact being authorizedexpires_in· integer · optionnel
Lifetime in seconds (must not exceed the control proof's remainder)control_proof· string · requis
Public handle (ph_ctl_<32 hex>) of YOUR active domain control proof
Exemple d'appel{"name": "create_delegation", "arguments": {"scope": [], "delegate": {}, "control_proof": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create_dns_credential≈ 228 tokens
Store DNS provider credentials for automated domain verification. Note: credentials will be visible in the AI conversation context. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), or sign in with start_login — a session opens this tool — then call this tool again.
Paramètres, retour & exemple (2)
Paramètresprovider· string · requis
DNS provider identifier (e.g. cloudflare, route53, digitalocean)credentials· object · requis
Provider-specific credential key-value pairs
Exemple d'appel{"name": "create_dns_credential", "arguments": {"provider": "texte", "credentials": {}}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create_hitl≈ 511 tokens
Create a HITL (Human-in-the-Loop) config. Defines which messaging channels receive approval requests and the default timeout. Agent usage: After creating a HITL config, you must call request_hitl_authorization before it can be used with create_confirmation. For Telegram channels, use create_chat_id_discovery first to discover the user's chat ID, then include it in the channel config. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (3)
Paramètresname· string · requis
Human-readable name for this HITL configchannels· array · requis
Messaging channels for approval requests (telegram or whatsapp)timeout_seconds· integer · optionnel
Default timeout in seconds (60–86400, default: 3600)
Exemple d'appel{"name": "create_hitl", "arguments": {"name": "texte", "channels": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create_identity_challenge≈ 308 tokens
Create a Proof-Me cross-channel identity challenge (CONFIRM) for an enrolled Circle member. The account holder approves/denies on a channel different from the one the suspicious contact reached the member on. Agent usage: poll get_identity_challenge with the returned ID until it leaves pending (confirmed, denied, cancelled, failed, expired or revoked). ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (3)
Paramètrescircle_id· string · requis
Circle that holds the membermember_id· string · requis
Enrolled Circle member initiating the checksuspicious_channel· string · optionnel · telegram | whatsapp
Channel the suspicious contact reached the member on; defaults to the member channel
Exemple d'appel{"name": "create_identity_challenge", "arguments": {"circle_id": "texte", "member_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create_multi_channel_verification≈ 618 tokens
Create a multi-channel phone verification: one phone number challenged over several channels at once (OR / first-wins). The first channel the user completes wins, yields a single proof token, and cancels the losing siblings. Exactly one proof is billed, at the winning channel's completion — not one per channel, and nothing at creation. Agent usage: the response includes a `group_id` (format vg_<hex>) and a `channels` array — each block carries a `deep_link` (WhatsApp/Telegram) or an `sms_message` to present to the user — pass the `deep_link` to render_auth_link. A block's `qr_text` is that same link already rendered as QR art, not an alternative address: print it verbatim inside a fenced code block or leave it out. Poll get_multi_channel_verification_status with the group_id to track completion and retrieve the proof token when a channel verifies. The user does not see tool results — most clients fold them away, render_auth_link's output included. Before you wait or poll, put what the user must act on into your own reply text: the link itself (not a sentence announcing it), the SMS text and number, or a note to check their inbox. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (6)
Paramètrestype· string · requis · phone
Asset type — only "phone" is supportedchannels· array · requis
1-4 unique channels attempted in parallel (first to complete wins)identifier· string · requis
Phone number in E.164 formatclient_metadata· object · optionnel
Custom key-value metadataexternal_user_id· string · optionnel
Your application user ID for grouping verificationsproof_expiry_days· integer · optionnel
Per-request proof expiry override in days (1-365)
Exemple d'appel{"name": "create_multi_channel_verification", "arguments": {"type": "phone", "channels": [], "identifier": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create_profile≈ 542 tokens
Create a new profile with optional display name, bio, avatar, business info, email branding (theme, support email), and theme settings. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (10)
Paramètresbio· string · optionnel
Profile biotheme· object · optionnel
Profile theme settingsis_public· boolean · optionnel
Whether the profile is publicly visibleavatar_url· string · optionnel
Avatar as base64 data URI or URL (~75KB limit)is_primary· boolean · optionnel
Set as primary profileemail_theme· string · optionnel · dark | light
Theme of this project's emailsis_business· boolean · optionnel
Whether this is a business profiledisplay_name· string · optionnel
Display namebusiness_name· string · optionnel
Business namesupport_email· string · optionnel
Support email this project's messages show
Exemple d'appel{"name": "create_profile", "arguments": {"bio": "texte", "theme": {}, "is_public": true, "avatar_url": "texte", "is_primary": true, "email_theme": "dark"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create_session≈ 474 tokens
Create a new phone verification session. Returns deep_link, qr_code (base64 PNG), and qr_text (UTF-8 text QR for terminal display). Sessions provide a hosted verification flow with callbacks. Agent usage: After creating a session, pass the response's `deep_link` to render_auth_link so the user can open or scan it. Never hand `qr_text` to a link renderer — it is that link already rendered as QR art. Print it verbatim inside a fenced code block only when a real terminal needs the QR. Then use wait_for_session to poll until the session reaches a terminal state (verified, failed, or expired). The user does not see tool results — most clients fold them away, render_auth_link's output included. Before you wait or poll, put what the user must act on into your own reply text: the link itself (not a sentence announcing it), the SMS text and number, or a note to check their inbox. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (6)
Paramètreschannel· string · requis · sms | whatsapp | telegram
Verification channelmetadata· object · optionnel
Custom key-value metadatatemplate_id· string · optionnel
Custom template IDcallback_url· string · optionnel
URL to redirect after verificationphone_number· string · requis
Phone number in E.164 formatexternal_user_id· string · optionnel
Your application user ID
Exemple d'appel{"name": "create_session", "arguments": {"channel": "sms", "phone_number": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create_user_request≈ 970 tokens
Create a new verification request to ask another user to share verified assets. Each asset is an object naming its type, e.g. { "type": "email" }. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), or sign in with start_login — a session opens this tool — then call this tool again.
Paramètres, retour & exemple (10)
Paramètresassets· array · requis
Assets to request, e.g. [{ "type": "email" }, { "type": "phone", "required": false }]partial_ok· boolean · optionnel
Whether partial asset sharing is acceptable (default: false)action_type· string · optionnel · verification | 2fa | login | custom | confirmation | authorization
Purpose of the request (default: verification); custom and confirmation also need an action_context titlecallback_url· string · optionnel
HTTPS webhook URL for request status updatesredirect_url· string · optionnel
HTTPS URL to redirect the subject after completing the requestreference_id· string · optionnel
External reference ID for trackingaction_context· object · optionnel
What the recipient is shown about why the assets are needed, e.g. { "title": "Confirm your contact details" }expires_in_hours· integer · optionnel
Hours until request expires (default: 168, i.e. 7 days)public_profile_id· string · optionnel
Public profile ID for brandingvalidity_requirement· string · optionnel
How recently an existing proof must have been verified for the recipient to reuse it: a number and a unit, h hours, d days, w weeks or m months (30 days), e.g. "24h", "7d", "1m"
Exemple d'appel{"name": "create_user_request", "arguments": {"assets": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create_verification≈ 875 tokens
Create a new identity verification. Initiates a verification flow for an asset identifier (phone number, email, domain, social handle, wallet address, account, or Telegram bot). Agent usage: pass the asset `type`, the delivery `channel`, and the `identifier` (e.g. type "phone", channel "sms", identifier "+37060000000"; or type "email", channel "email", identifier "user@example.com"). The response carries a `challenge` object with the instruction for the chosen channel — except a `telegram_bot` verification made with a LIVE key, which the server completes on the spot and answers with `status: verified` plus a proof token and no challenge at all; with a `pk_test_` key that same call stays pending and does carry a challenge. On the messenger channels it also carries `challenge.deep_link` — pass THAT to render_auth_link to give the user a clickable link and a QR code. This endpoint returns no `qr_text` at all. For OTP-based flows (sms/email), the user receives a code — poll get_verification or use wait_for_verification to track completion. For Telegram/WhatsApp, the user clicks the deep link to verify. The user does not see tool results — most clients fold them away, render_auth_link's output included. Before you wait or poll, put what the user must act on into your own reply text: the link itself (not a sentence announcing it), the SMS text and number, or a note to check their inbox. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (9)
Paramètrestype· string · requis · phone | email | domain | social | wallet | account | telegram_bot
Asset type being verifiedchannel· string · requis · whatsapp | telegram | sms | email | dns | http | auto | github
Verification channel (must match the asset type, e.g. sms/whatsapp/telegram for phone)bot_token· string · optionnel
Telegram bot token (required for channel "telegram_bot_token")identifier· string · requis
The asset identifier to verify (E.164 phone, email address, domain, handle, wallet address, ...)dns_provider· object · optionnel
DNS provider credentials (required for channel "auto")email_prefix· string · optionnel · admin | administrator | webmaster | hostmaster | postmaster
Mailbox prefix for domain email verificationclient_metadata· object · optionnel
Custom key-value metadataexternal_user_id· string · optionnel
Your application user ID for grouping verificationsproof_expiry_days· integer · optionnel
Per-request proof expiry override in days (1-365)
Exemple d'appel{"name": "create_verification", "arguments": {"type": "phone", "channel": "whatsapp", "identifier": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create_verification_request≈ 756 tokens
Create a multi-asset verification request. Allows verifying multiple assets (phone, email, domain, social, wallet, account, telegram_bot) in a single flow. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (10)
Paramètresassets· array · requis
Array of assets to verify (1-10)expires_in· integer · optionnel
Request expiry in seconds (default: 604800, i.e. 7 days; max: 2592000, i.e. 30 days)partial_ok· boolean · optionnel
Allow partial completion (default: false)action_type· string · optionnel · verification | 2fa | login | custom | confirmation
Purpose of the verification (default: verification)callback_url· string · optionnel
Webhook URL for status updates (HTTPS only)redirect_url· string · optionnel
URL to redirect user after verification completes (HTTPS only)reference_id· string · optionnel
Your unique reference ID for this requestaction_context· object · optionnel
Context displayed to user during verificationproof_expiry_days· integer · optionnel
Per-request proof expiry override in days (7, 30, 90, or 365)public_profile_id· string · optionnel
Public profile ID for branding
Exemple d'appel{"name": "create_verification_request", "arguments": {"assets": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - delete_circle≈ 170 tokens
Archive a Circle (soft delete — sets status to archived). It stops appearing in the default list but is recoverable via list_circles with status="archived". ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
Circle ID to archive
Exemple d'appel{"name": "delete_circle", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - delete_dns_credential≈ 162 tokens
Delete a stored DNS provider credential. Domains using this credential will need new credentials for automated verification. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), or sign in with start_login — a session opens this tool — then call this tool again.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
DNS credential ID to delete
Exemple d'appel{"name": "delete_dns_credential", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - delete_domain≈ 272 tokens
Remove a domain from the account. Revokes every proof of the domain and every delegation issued from it (for good — re-adding the domain does not bring them back), deletes the domain and its records, and removes our _proof TXT record and the Resend sending domain where we can; the response lists what is left for you to remove by hand. Owner only, in a start_login session, with one code: start_2fa_for_action with action_type domain_remove and targets [this domain id]. Need only a fresh proof? Revoke the proofs instead (revoke_asset), which keeps the domain. Cannot be undone. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), or sign in with start_login — a session opens this tool — then call this tool again.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
Domain ID to delete
Exemple d'appel{"name": "delete_domain", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - delete_domain_verification≈ 222 tokens
Delete a domain verification attempt that is not verified (pending, verifying or failed) — nothing is revoked. A verified domain, or one that needs re-verification, is refused with domain_verified: removing it revokes its proofs and every delegation issued from it, which is delete_domain in a start_login session (or the dashboard). ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
Domain verification ID (24 hex characters)
Exemple d'appel{"name": "delete_domain_verification", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - delete_hitl≈ 150 tokens
Delete (archive) a HITL config. Sets status to archived. Cannot be used for new confirmations after deletion. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
HITL config ID to delete
Exemple d'appel{"name": "delete_hitl", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - delete_hitl_keys≈ 153 tokens
Delete the encryption keypair from a HITL config. WARNING: Existing ciphertexts will become permanently unreadable. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (1)
Paramètreshitl_id· string · requis
HITL config ID
Exemple d'appel{"name": "delete_hitl_keys", "arguments": {"hitl_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - delete_profile≈ 295 tokens
Delete a project (profile). Revokes its API keys, archives the HITL setups and declines the pending requests created with its own keys, keeps its history but unlinks it, deletes its message templates, and retires its username for good. The last project cannot be deleted; deleting the primary project makes the oldest remaining one primary (the response names it). In a start_login session: one code first — start_2fa_for_action with action_type profile_delete and targets [this project id]. With an API key alone only an EMPTY project (no API keys, HITL setups or pending requests) can be deleted; anything else answers owner_session_required. Cannot be undone. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), or sign in with start_login — a session opens this tool — then call this tool again.
Paramètres, retour & exemple (1)
Paramètresprofile_id· string · requis
Profile ID
Exemple d'appel{"name": "delete_profile", "arguments": {"profile_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - delete_template≈ 250 tokens
Delete a sub-account's (project's) custom template, reverting that project to the default template for the channel and message type. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (3)
Paramètreschannel· string · requis · telegram | whatsapp | sms | email
Message channelprofile_id· string · optionnel
The sub-account (project) to act on; omitted → your key's project, or the primary project for an account-wide keymessage_type· string · requis
Message type (e.g. verification_request, login_request)
Exemple d'appel{"name": "delete_template", "arguments": {"channel": "telegram", "message_type": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - export_authorizations≈ 216 tokens
Export authorizations as CSV or JSON. Supports date range and status filtering. Maximum 10,000 records. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (4)
Paramètresto· string · optionnel
End date filter (ISO 8601)from· string · optionnel
Start date filter (ISO 8601)format· string · optionnel · csv | json
Export format (default: json)status· string · optionnel · pending | active | expired | revoked | denied
Filter by status
Exemple d'appel{"name": "export_authorizations", "arguments": {"to": "texte", "from": "texte", "format": "csv", "status": "pending"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - export_data≈ 318 tokens
Export a complete copy of your account's data (GDPR Articles 15 and 20), or check on one. Owner only: sign in with start_login first (a connection with only an API key is refused user_session_required). The first call starts the export; it is prepared in the background, and the account owner is told by email (or on their login channel) with a link that downloads it only while they are signed in — this tool never returns the data itself. Call again to see whether it is ready: an export already preparing or ready is reported instead of starting another. One new export per 24 hours (no limit while the account is scheduled for deletion); the file is kept for 7 days. Pass export_id to read one export's status. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), or sign in with start_login — a session opens this tool — then call this tool again.
Paramètres, retour & exemple (1)
Paramètresexport_id· string · optionnel
Read this export's status instead of the latest one
Exemple d'appel{"name": "export_data", "arguments": {"export_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - extend_request≈ 146 tokens
Extend the expiration time of a pending verification request. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), or sign in with start_login — a session opens this tool — then call this tool again.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
Verification request ID to extend
Exemple d'appel{"name": "extend_request", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_2fa_status≈ 280 tokens
Check the status of a 2FA session by session ID. Returns whether the challenge has been completed, is pending, or has expired. Agent usage: Poll this after calling start_2fa. Check every few seconds. Terminal states: "verified" (proceed with protected operation), "expired" (restart with start_2fa). While "pending", the user has not yet entered their code. Before calling this for a challenge you created, make sure your reply text already shows the user what to act on — the link itself, the SMS text and number, or a note to check their inbox; a link that appeared only in a tool result is one they never saw. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), or sign in with start_login — a session opens this tool — then call this tool again.
Paramètres, retour & exemple (1)
Paramètressession_id· string · requis
2FA session ID
Exemple d'appel{"name": "get_2fa_status", "arguments": {"session_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_add_email_status≈ 143 tokens
Check the status of an in-progress email addition by session ID. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), or sign in with start_login — a session opens this tool — then call this tool again.
Paramètres, retour & exemple (1)
Paramètressession_id· string · requis
Add-email session ID
Exemple d'appel{"name": "get_add_email_status", "arguments": {"session_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_add_phone_status≈ 214 tokens
Check the status of an in-progress phone addition by session ID. Poll until terminal state. Before calling this for a challenge you created, make sure your reply text already shows the user what to act on — the link itself, the SMS text and number, or a note to check their inbox; a link that appeared only in a tool result is one they never saw. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), or sign in with start_login — a session opens this tool — then call this tool again.
Paramètres, retour & exemple (1)
Paramètressession_id· string · requis
Add-phone session ID
Exemple d'appel{"name": "get_add_phone_status", "arguments": {"session_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_api_key_usage≈ 266 tokens
Get per-API-key usage for a given key id: verification counts by type/channel/status, plus verification-request/confirmation/authorization totals, and attribution context (attribution_cutoff_at, attributed_fraction). The counts cover the key and every key it replaced (api_key.replaced_key_ids). Counts only — no recipient identifiers. Scoped to the authenticated account; an API-key caller may read only its own key. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), or sign in with start_login — a session opens this tool — then call this tool again.
Paramètres, retour & exemple (2)
Paramètresid· string · requis
The API key id to fetch usage forenvironment· string · optionnel · production | test
Scope metrics to test or production data (default: production)
Exemple d'appel{"name": "get_api_key_usage", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_asset≈ 139 tokens
Get a single verified asset by ID. Returns details including type, value, status, and verification timestamps. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
Asset ID
Exemple d'appel{"name": "get_asset", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_authorization≈ 144 tokens
Get an authorization by ID. Returns the current state of the authorization including status and usage statistics. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
Authorization ID
Exemple d'appel{"name": "get_authorization", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_circle≈ 158 tokens
Get a Circle by ID. Returns the Circle including its members and per-member channel presence booleans (an identifier is NEVER returned — SEC-PM-006). ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
Circle ID
Exemple d'appel{"name": "get_circle", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_confirmation≈ 140 tokens
Get a confirmation by ID. Returns the full confirmation including status, response, and proof token. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
Confirmation ID
Exemple d'appel{"name": "get_confirmation", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_confirmation_approval_link≈ 170 tokens
Generate a fresh approval link for a pending confirmation. The link expiry inherits the confirmation timeout. Only works for pending confirmations. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
Confirmation ID
Exemple d'appel{"name": "get_confirmation_approval_link", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_current_user≈ 155 tokens
Get the signed-in user's account details, plan and settings. Needs a login session: call start_login, then wait_for_login until it reports success. An API key alone cannot read this — for the key's own account use get_self_api_key or get_settings. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), or sign in with start_login — a session opens this tool — then call this tool again.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "get_current_user", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_default_templates≈ 121 tokens
Get all default message templates. These are the built-in templates a project sends when it has no custom template of its own. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "get_default_templates", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_delegation≈ 221 tokens
Get one of your delegations by Mongo id or ph_dlg_* handle. Returns the stored publishable token plus the DERIVED effective_status/is_valid — the delegation is only as live as the control proof it stands on (a revoked, suspended or expired domain proof invalidates it) and never outlives its own expires_at, whichever comes first. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
Delegation ID (24-hex Mongo id or ph_dlg_<32 hex> handle)
Exemple d'appel{"name": "get_delegation", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_dns_providers≈ 120 tokens
Get metadata for all supported DNS providers, including required credential fields and documentation links. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), or sign in with start_login — a session opens this tool — then call this tool again.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "get_dns_providers", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_domain≈ 145 tokens
Get details of a specific domain by ID, including verification status, DNS records, and provider connections. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), or sign in with start_login — a session opens this tool — then call this tool again.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
Domain ID
Exemple d'appel{"name": "get_domain", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_hitl≈ 134 tokens
Get a HITL config by ID. Returns the config including channels, timeout, and status. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
HITL config ID
Exemple d'appel{"name": "get_hitl", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_hitl_keys≈ 194 tokens
Get the encryption keypair for a HITL config. With `hitl:read` it returns the public key, encrypted private key, KDF salt, and key ID (kid). A key holding `confirmations:create` without `hitl:read` receives only `public_key` and `kid` — what a confirmation message is sealed to, never the private-key material. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (1)
Paramètreshitl_id· string · requis
HITL config ID
Exemple d'appel{"name": "get_hitl_keys", "arguments": {"hitl_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_identity_challenge≈ 196 tokens
Get a Proof-Me identity challenge by ID. Returns its status (pending, confirmed, denied, cancelled, failed, expired, revoked or suspended), the channel the CONFIRM ran on, and — once the person being checked decided — the proof token and its proof_id. Poll this for resolution. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
Identity challenge ID
Exemple d'appel{"name": "get_identity_challenge", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_multi_channel_verification_status≈ 261 tokens
Get the status of a multi-channel verification group by its group_id. Returns the aggregate status (pending/verified/expired), the winning_channel once one completes, per-channel statuses, and the proof token (with expires_at) when the group is verified. Before calling this for a challenge you created, make sure your reply text already shows the user what to act on — the link itself, the SMS text and number, or a note to check their inbox; a link that appeared only in a tool result is one they never saw. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (1)
Paramètresgroup_id· string · requis
Multi-channel verification group ID (format vg_<hex>)
Exemple d'appel{"name": "get_multi_channel_verification_status", "arguments": {"group_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_my_profile≈ 118 tokens
Get the current user's primary profile. Returns profile details, theme, custom links, and public proof display settings. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "get_my_profile", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_platform_summary≈ 214 tokens
Get a one-call account snapshot: quota with end-of-month projection, request health (pending/completed/expired counts + success rate), per-channel completion rates, HITL counts, and active API key count. The same data the dashboard home renders. The hitl_channels sub-object requires the hitl:read scope. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (1)
Paramètresenvironment· string · optionnel · production | test
Scope request/channel/HITL metrics to test or production data (default: production)
Exemple d'appel{"name": "get_platform_summary", "arguments": {"environment": "production"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_profile≈ 148 tokens
Get a specific profile by ID. Returns full profile details including theme, custom links, and verification display settings. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (1)
Paramètresprofile_id· string · requis
Profile ID
Exemple d'appel{"name": "get_profile", "arguments": {"profile_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_profile_assets≈ 120 tokens
Get available verified assets that can be displayed on the user's profile. Returns assets eligible for public proof display. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "get_profile_assets", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_proof_status≈ 174 tokens
Get the status of a proof by its public handle (ph_ctl_* / ph_dlg_*) or a verification ID. Returns whether the proof is active, suspended, expired, or revoked — a live proof reads "active". ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
Public proof handle (ph_ctl_* / ph_dlg_*) or verification ID
Exemple d'appel{"name": "get_proof_status", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_request_by_reference≈ 142 tokens
Get a verification request by its reference ID (your unique identifier). ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (1)
Paramètresreference_id· string · requis
Your unique reference ID
Exemple d'appel{"name": "get_request_by_reference", "arguments": {"reference_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_request_proofs≈ 150 tokens
Get proof tokens for verified assets in a verification request. Returns proof tokens that can be used for offline verification. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
Verification request ID
Exemple d'appel{"name": "get_request_proofs", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_self_api_key≈ 162 tokens
Get the calling API key's own redacted metadata (id, name, key_prefix, environment, scopes, last_used_at, revoked_at, created_at) for agent self-inspection. Never returns the key hash or full secret. Requires API-key auth — a JWT session has no single-key context (returns 400 api_key_required). ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "get_self_api_key", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_session≈ 138 tokens
Get a session by ID. Returns the session status, verification details, and proof token if verified. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
Session ID
Exemple d'appel{"name": "get_session", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_settings≈ 202 tokens
Get account settings: the outbound webhook endpoint with its event subscriptions, and the default proof lifetime. Branding (name, logo, colour, email theme, support email) belongs to each sub-account (project): read it with get_profile. The webhook signing secret is NOT returned to an API key — the response reports webhook.secret_set instead, and the value itself is visible only in the dashboard or in the update_settings response that created or rotated it. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "get_settings", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_subscription≈ 112 tokens
Get the current subscription details including plan, status, billing period, and usage limits. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "get_subscription", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_template≈ 264 tokens
Get the template a sub-account (project) sends for a channel and message type: its custom template if set (scope "project"), otherwise the default (scope "default"). The response names the project in profile_id. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (3)
Paramètreschannel· string · requis · telegram | whatsapp | sms | email
Message channelprofile_id· string · optionnel
The sub-account (project) to act on; omitted → your key's project, or the primary project for an account-wide keymessage_type· string · requis
Message type (e.g. verification_request, login_request)
Exemple d'appel{"name": "get_template", "arguments": {"channel": "telegram", "message_type": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_usage≈ 177 tokens
Get usage metrics for the authenticated account. Shows verification counts, API calls, and quota usage. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (2)
Paramètresmonths· integer · optionnel
Number of months of historyperiod· string · optionnel
Month to query in YYYY-MM format (e.g. 2026-01)
Exemple d'appel{"name": "get_usage", "arguments": {"months": 1, "period": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_user_domain_verification_status≈ 154 tokens
Get the current status of a domain verification session, including challenge details. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), or sign in with start_login — a session opens this tool — then call this tool again.
Paramètres, retour & exemple (1)
Paramètressession_id· string · requis
Domain verification session ID
Exemple d'appel{"name": "get_user_domain_verification_status", "arguments": {"session_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_verification≈ 209 tokens
Get a verification by ID. Returns the full verification object including status, channel, and proof token if verified. Before calling this for a challenge you created, make sure your reply text already shows the user what to act on — the link itself, the SMS text and number, or a note to check their inbox; a link that appeared only in a tool result is one they never saw. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
Verification ID
Exemple d'appel{"name": "get_verification", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_verification_request≈ 143 tokens
Get a verification request by ID. Returns the request with all its asset verification statuses. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
Verification request ID
Exemple d'appel{"name": "get_verification_request", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_verified_user≈ 142 tokens
Get a single verified user and their verifications by external user ID. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (1)
Paramètresexternal_user_id· string · requis
The external user ID
Exemple d'appel{"name": "get_verified_user", "arguments": {"external_user_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_webhook_delivery≈ 143 tokens
Get details of a single webhook delivery attempt including request/response payloads and retry history. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
Webhook delivery ID
Exemple d'appel{"name": "get_webhook_delivery", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_webhook_stats≈ 114 tokens
Get webhook delivery statistics including total deliveries, success/failure counts, and recent activity. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "get_webhook_stats", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - invite_circle_member≈ 208 tokens
Mint a single-use enrollment invite for a Circle member. Returns Telegram + WhatsApp deep links and a QR code; the member taps the channel-matched link to bind their messenger identity to the Circle. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (2)
Paramètresid· string · requis
Circle IDmember_id· string · requis
Member ID to invite
Exemple d'appel{"name": "invite_circle_member", "arguments": {"id": "texte", "member_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_api_keys≈ 117 tokens
List all API keys for the authenticated account. Returns key metadata (not the secret key values). ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), or sign in with start_login — a session opens this tool — then call this tool again.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list_api_keys", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_assets≈ 223 tokens
List all verified assets for the authenticated user. Assets are verified identities (phones, emails, domains). ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (4)
Paramètrespage· integer · optionnel
Page numbertype· string · optionnel · phone | email | domain | social | wallet
Filter by asset typelimit· integer · optionnel
Items per pagestatus· string · optionnel · active | revoked | expired
Filter by status
Exemple d'appel{"name": "list_assets", "arguments": {"page": 1, "type": "phone", "limit": 1, "status": "active"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_auth_sessions≈ 135 tokens
List all active authentication sessions for the current user. Shows session details including channel, user agent, and expiry. When called via API key, no session is marked as is_current. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list_auth_sessions", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_authorizations≈ 239 tokens
List authorizations with optional filters. Returns paginated results. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (5)
Paramètrespage· integer · optionnel
Page numberlimit· integer · optionnel
Items per pagephone· string · optionnel
Filter by phone numberstatus· string · optionnel · pending | active | expired | revoked | denied
Filter by authorization statuschannel· string · optionnel · whatsapp | telegram | sms | email
Filter by channel
Exemple d'appel{"name": "list_authorizations", "arguments": {"page": 1, "limit": 1, "phone": "texte", "status": "pending", "channel": "whatsapp"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_circle_member_channels≈ 186 tokens
List a Circle member's channels. Returns channel metadata only (channel, status, verified_at) — an identifier is NEVER returned (SEC-PM-006). ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (2)
Paramètresid· string · requis
Circle IDmember_id· string · requis
Member ID
Exemple d'appel{"name": "list_circle_member_channels", "arguments": {"id": "texte", "member_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_circle_members≈ 181 tokens
List a Circle's members. Each member carries channel-presence booleans (has_telegram / has_whatsapp) and the masked phone they enrolled from (enrolled_phone_hint, e.g. +9••••••4171) — a full identifier is NEVER returned (SEC-PM-006). ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
Circle ID
Exemple d'appel{"name": "list_circle_members", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_circles≈ 288 tokens
List Circles with optional filters. Archived Circles are excluded by default; pass status="archived" to surface them. Returns paginated results. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (5)
Paramètrespage· integer · optionnel
Page number (default 1)limit· integer · optionnel
Items per page (default 20, max 100)status· string · optionnel · active | archived
Filter by status (archived excluded unless requested)profile_id· string · optionnel
Filter by bound public profile (sub-account)environment· string · optionnel · production | test
Filter by environment (production or test)
Exemple d'appel{"name": "list_circles", "arguments": {"page": 1, "limit": 1, "status": "active", "profile_id": "texte", "environment": "production"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_confirmations≈ 223 tokens
List confirmations with optional filters. Returns paginated results with status and HITL config filtering. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (4)
Paramètrespage· integer · optionnel
Page numberlimit· integer · optionnel
Items per pagestatus· string · optionnel · pending | approved | denied
Filter by confirmation statushitl_id· string · optionnel
Filter by HITL config ID
Exemple d'appel{"name": "list_confirmations", "arguments": {"page": 1, "limit": 1, "status": "pending", "hitl_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_delegations≈ 368 tokens
List your own delegations with optional filters. Each item carries the DERIVED effective_status/is_valid beside its stored status — read effective_status, since status records only whether the owner revoked the delegation themselves, so a delegation still reads active there after its domain control proof was revoked, suspended or expired, and after its OWN lifetime ran out. effective_status accounts for all of those: it reports expired once either lifetime has passed, whichever is earlier. Tokens are not included in the list — use get_delegation for the stored token. There is no public enumeration of third-party delegations. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (3)
Paramètrespage· integer · optionnel
Page numberlimit· integer · optionnel
Items per pagestatus· string · optionnel · active | revoked
Filter by the delegation's OWN stored status (active|revoked). Does NOT filter the derived effective_status — status=active still returns delegations whose control proof died, and ones that simply ran out.
Exemple d'appel{"name": "list_delegations", "arguments": {"page": 1, "limit": 1, "status": "active"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_dns_credentials≈ 124 tokens
List all stored DNS provider credentials for the authenticated account. Returns credential metadata (not secret values). ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), or sign in with start_login — a session opens this tool — then call this tool again.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list_dns_credentials", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_domains≈ 118 tokens
List all domains for the authenticated account. Returns domain metadata including verification status. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), or sign in with start_login — a session opens this tool — then call this tool again.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list_domains", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_emails≈ 109 tokens
List all email addresses associated with the authenticated account. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), or sign in with start_login — a session opens this tool — then call this tool again.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list_emails", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_hitls≈ 216 tokens
List HITL configs with optional filters. Returns paginated results. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (4)
Paramètrespage· integer · optionnel
Page numberlimit· integer · optionnel
Items per pagestatus· string · optionnel · active | archived
Filter by status (active or archived)environment· string · optionnel · production | test
Filter by environment (production or test)
Exemple d'appel{"name": "list_hitls", "arguments": {"page": 1, "limit": 1, "status": "active", "environment": "production"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_incoming_requests≈ 115 tokens
List incoming verification requests where the authenticated user is the subject. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), or sign in with start_login — a session opens this tool — then call this tool again.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list_incoming_requests", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_my_requests≈ 108 tokens
List verification requests created by the authenticated user. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), or sign in with start_login — a session opens this tool — then call this tool again.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list_my_requests", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_phones≈ 108 tokens
List all phone numbers associated with the authenticated account. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), or sign in with start_login — a session opens this tool — then call this tool again.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list_phones", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_profiles≈ 113 tokens
List all profiles for the authenticated account. Returns all profiles including primary and secondary. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list_profiles", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_revoked_proofs≈ 118 tokens
Get the revocation list for offline proof validation. Returns a signed list of all revoked proof IDs. Reuse a fetched list for up to 5 minutes (its cache lifetime), then fetch it again to see new revocations; if you cannot, its signature stays verifiable offline for 1 hour.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list_revoked_proofs", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_templates≈ 212 tokens
List the custom message templates of one sub-account (project), organized by channel and message type. Templates belong to a project, not to the account: profile_id picks it — omitted, a project-bound key lists its own project and an account-wide key the primary project. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (1)
Paramètresprofile_id· string · optionnel
The sub-account (project) to act on; omitted → your key's project, or the primary project for an account-wide key
Exemple d'appel{"name": "list_templates", "arguments": {"profile_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_verification_requests≈ 240 tokens
List verification requests with optional filters. Returns paginated results. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (4)
Paramètrespage· integer · optionnel
Page numberlimit· integer · optionnel
Items per pagestatus· string · optionnel · pending | partial | completed | expired | cancelled | active
Filter by status. 'active' = live (not-yet-expired) pending or partial requests; persisted statuses are time-aware.reference_id· string · optionnel
Filter by reference ID
Exemple d'appel{"name": "list_verification_requests", "arguments": {"page": 1, "limit": 1, "status": "pending", "reference_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_verifications≈ 240 tokens
List verifications with optional filters. Returns paginated results. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (5)
Paramètrespage· integer · optionnel
Page numberlimit· integer · optionnel
Items per pagestatus· string · optionnel · pending | verified | failed | expired | revoked
Filter by statuschannel· string · optionnel · sms | whatsapp | telegram | email
Filter by channelexternal_user_id· string · optionnel
Filter by external user ID
Exemple d'appel{"name": "list_verifications", "arguments": {"page": 1, "limit": 1, "status": "pending", "channel": "sms", "external_user_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_verified_users≈ 160 tokens
List verified users grouped by external_user_id. Shows all verifications per user. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (2)
Paramètrespage· integer · optionnel
Page numberlimit· integer · optionnel
Items per page
Exemple d'appel{"name": "list_verified_users", "arguments": {"page": 1, "limit": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_webhook_deliveries≈ 224 tokens
List webhook delivery attempts with pagination and filtering. Shows delivery status, response codes, and timestamps. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (4)
Paramètrespage· integer · optionnel
Page numberlimit· integer · optionnel
Items per pagestatus· string · optionnel · pending | success | failed
Filter by delivery statusevent_type· string · optionnel
Filter by event type (e.g. verification.completed)
Exemple d'appel{"name": "list_webhook_deliveries", "arguments": {"page": 1, "limit": 1, "status": "pending", "event_type": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - poll_chat_id_discovery≈ 223 tokens
Poll a chat ID discovery token. Returns the discovered Telegram chat ID, user ID, and username once the user interacts with the bot. Before calling this for a challenge you created, make sure your reply text already shows the user what to act on — the link itself, the SMS text and number, or a note to check their inbox; a link that appeared only in a tool result is one they never saw. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (1)
Paramètrestoken· string · requis
Discovery token from create_chat_id_discovery
Exemple d'appel{"name": "poll_chat_id_discovery", "arguments": {"token": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - preview_template≈ 371 tokens
Preview a template with sample data before saving, as a sub-account (project) would send it. Shows how the message will look with placeholder variables filled in. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (7)
Paramètresbody· string · requis
Template body textchannel· string · requis · telegram | whatsapp | sms | email
Message channelsubject· string · optionnel
Email subject lineprofile_id· string · optionnel
The sub-account (project) to act on; omitted → your key's project, or the primary project for an account-wide keybutton_text· string · optionnel
Button textmessage_type· string · requis · verification_request | verification_success | verification_expired | login_request | login_success | 2fa_request | 2fa_success
Message typebutton_url_template· string · optionnel
Button URL template
Exemple d'appel{"name": "preview_template", "arguments": {"body": "texte", "channel": "telegram", "message_type": "verification_request"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - regenerate_api_key≈ 295 tokens
Regenerate an API key: issues a new key (a new id and secret) with the same name, environment, scopes and project. The old key stops working immediately; use the id in this response from now on. The new key lists the old one in replaced_key_ids, so its requests and usage stay with it. The new secret is returned ONLY in this response. Note: the secret will be visible in the AI conversation context. Agent usage: This operation requires 2FA. Before calling, complete the 2FA flow: (1) call start_2fa with action_type "api_key_regenerate", (2) wait for user to verify the code, (3) poll get_2fa_status until "verified", (4) then call regenerate_api_key. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), or sign in with start_login — a session opens this tool — then call this tool again.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
API key ID to regenerate
Exemple d'appel{"name": "regenerate_api_key", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - remove_circle_member≈ 189 tokens
Remove a member from a Circle. Deletes the member's channels and revokes any live authorizations that routed through them. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (2)
Paramètresid· string · requis
Circle IDmember_id· string · requis
Member ID to remove
Exemple d'appel{"name": "remove_circle_member", "arguments": {"id": "texte", "member_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - remove_circle_member_channel≈ 216 tokens
Remove a channel from a Circle member. Removing the last channel is allowed (the member simply becomes unreachable). ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (3)
Paramètresid· string · requis
Circle IDmember_id· string · requis
Member IDchannel_id· string · requis
Channel ID to remove
Exemple d'appel{"name": "remove_circle_member_channel", "arguments": {"id": "texte", "member_id": "texte", "channel_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - remove_email≈ 261 tokens
Remove an email address from the account. Always requires one code: start_2fa_for_action with action_type email_remove and targets [this email id]. Revokes every proof of the address and your own consents naming it, declines pending confirmations waiting on it, moves Lookalike Watch alerts to your remaining primary email (or stops the watch when none is left), deletes the record, signs out your other devices, and names the new primary email. Refused for the address you signed in with and for your only way to sign in. Cannot be undone. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), or sign in with start_login — a session opens this tool — then call this tool again.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
Email record ID
Exemple d'appel{"name": "remove_email", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - remove_phone≈ 293 tokens
Remove a phone number from the account. Always requires one code: start_2fa_for_action with action_type phone_remove and targets [this phone id]. Revokes every proof of the number and your own consents naming it, declines pending confirmations waiting on it, flags approval setups left with no approver, deletes the record and its messenger links, signs out your other devices, and names the new primary phone — your Proof of Me circles then reach you there. Refused for the number you signed in with, for your only way to sign in, and for your last phone while circles are active (circles_need_phone: add another phone first, or archive the circles). Cannot be undone. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), or sign in with start_login — a session opens this tool — then call this tool again.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
Phone record ID
Exemple d'appel{"name": "remove_phone", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - render_auth_link≈ 480 tokens
Render an authorization or verification URL as a clickable link followed by a scannable QR code inside a fenced code block. This is a local computation tool — no HTTP request is made. Its output comes back to you, not to the user: copy the link, and the QR block inside its fence, into your reply. Agent usage: pass a LINK field from an earlier response — `deep_link` (create_session, create_chat_id_discovery always; start_login, create_account, start_2fa, start_2fa_for_action, start_add_phone on telegram/whatsapp ONLY, where on sms and email that field is empty or absent altogether and this tool rejects it either way), `challenge.deep_link` (create_verification, messenger channels only), or `telegram_deep_link` / `whatsapp_deep_link`. Do NOT pass `qr_text` to this tool: that field is a QR code already rendered as text, and this tool takes a link. When a response gives you `qr_text` and no link, print it verbatim inside a fenced code block instead — its rows only scan while they stay adjacent, so a blank line or wrapped row destroys the code. The user does not see tool results — most clients fold them away, render_auth_link's output included. Before you wait or poll, put what the user must act on into your own reply text: the link itself (not a sentence announcing it), the SMS text and number, or a note to check their inbox.
Paramètres, retour & exemple (2)
Paramètresurl· string · requis
The link to render — e.g. a deep_link response field. Never a qr_text value: that is the link already rendered as QR art.label· string · optionnel
Optional label to display above the link (e.g. "Verify your phone number")
Exemple d'appel{"name": "render_auth_link", "arguments": {"url": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - render_template≈ 364 tokens
Render the template a sub-account (project) sends — its custom template, otherwise the default — with provided variables. Returns the fully rendered message content. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (4)
Paramètreschannel· string · requis · telegram | whatsapp | sms | email
Message channelvariables· object · optionnel
Variables to substitute into the templateprofile_id· string · optionnel
The sub-account (project) to act on; omitted → your key's project, or the primary project for an account-wide keymessage_type· string · requis
Message type
Exemple d'appel{"name": "render_template", "arguments": {"channel": "telegram", "message_type": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - request_hitl_authorization≈ 446 tokens
Request authorization for a HITL config. Sends consent requests to all configured channels (Telegram/WhatsApp). Users must approve before confirmations can be sent. Agent usage: This must be completed before create_confirmation will work for this HITL config. The consent request is DELIVERED to each channel — the response carries no link to show. It returns `authorizations` — one entry per resolved recipient, each with its `channel`, `recipient`, `authorization_id` and `status` — plus a `message`. Read the entries rather than assuming: `status: 'pending'` means consent was just sent and the user must approve in Telegram/WhatsApp itself, while `status: 'active'` means that recipient had already authorized and nothing was sent to them. An EMPTY array does not mean everyone is authorized — it means no recipient could be resolved at all (usually a HITL config bound to a missing or inactive circle, or channels whose recipient is blank), so nobody was asked and waiting for an approval would hang forever. Do not relay `message` on that branch: it reads 'All channels already have active or pending authorizations', which is exactly the wrong conclusion. Read the array. After requesting, you can proceed once the user confirms they have approved. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
HITL config ID to request authorization for
Exemple d'appel{"name": "request_hitl_authorization", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - resend_domain_email≈ 188 tokens
Resend the domain verification email. Rate limited to 3 requests per minute. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), or sign in with start_login — a session opens this tool — then call this tool again.
Paramètres, retour & exemple (2)
Paramètresid· string · requis
Domain IDemail_prefix· string · optionnel · admin | administrator | webmaster | hostmaster | postmaster
Email prefix to resend verification to
Exemple d'appel{"name": "resend_domain_email", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - resend_email_otp≈ 146 tokens
Resend the OTP code for an in-progress email addition. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), or sign in with start_login — a session opens this tool — then call this tool again.
Paramètres, retour & exemple (1)
Paramètressession_id· string · requis
Add-email session ID
Exemple d'appel{"name": "resend_email_otp", "arguments": {"session_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - resend_verification≈ 144 tokens
Resend a verification message (email channel only). Generates and sends a new code. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
Verification ID
Exemple d'appel{"name": "resend_verification", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - retry_webhook_delivery≈ 155 tokens
Retry a failed webhook delivery. Creates a new delivery attempt with the same payload to the configured endpoint. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
Webhook delivery ID to retry
Exemple d'appel{"name": "retry_webhook_delivery", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - revoke_api_key≈ 214 tokens
Revoke an API key by ID. The key will immediately stop working. This action cannot be undone. Agent usage: This operation requires 2FA. Before calling, complete the 2FA flow: (1) call start_2fa with action_type "api_key_revoke", (2) wait for user to verify the code, (3) poll get_2fa_status until "verified", (4) then call revoke_api_key. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), or sign in with start_login — a session opens this tool — then call this tool again.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
API key ID to revoke
Exemple d'appel{"name": "revoke_api_key", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - revoke_asset≈ 350 tokens
Revoke the proofs of one of your assets (a phone, email or domain) — the asset stays on the account. Owner only: sign in with start_login (a connection with only an API key is refused user_session_required — a key revokes a proof with revoke_proof instead), then one code: start_2fa_for_action with action_type revocation_bulk and targets [this asset id], wait_for_2fa, and call again. A phone or email: every proof of that number or address is revoked; signing in with it again issues a fresh proof. A domain you own: every proof of the domain and every delegation issued from it are revoked for good, and the domain needs re-verification — re-verifying does NOT bring the delegations back. Need a temporary stop for a domain proof? Use suspend_proof instead. Status-checking verifiers see the revocation within about a minute; signature-only verifiers accept a token until it expires. Cannot be undone. ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), or sign in with start_login — a session opens this tool — then call this tool again.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
Asset ID
Exemple d'appel{"name": "revoke_asset", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]}
+ 47 autres outils (affichage limité à 120).
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».