Proof
Proofof Holdings
How It Works
PricingDocsFAQ
Log InGet Started

Documentation

Browse all docs

Documentation

Learn how to integrate proof.holdings

Core Primitives
The mental model in one page
API Reference
Complete API documentation
SDKs
Official client libraries
Smart Reuse
Skip re-verification with existing proofs
Multi-Profile System
Multiple public profiles per account
Message Templates
Custom branding and message templates per project
Comparison
vs SMS OTP, TOTP, WebAuthn
Pricing
Plans and pricing tiers
Security
Threat model and guarantees
MCP Server
131 tools for AI agents
Integrations
n8n, Zapier, Make, and custom integrations
Resources
GitHub Docs
API Status

MCP Server

131 tools for AI agents — verify assets, manage approvals, and automate trust workflows


What is MCP?

The Model Context Protocol (MCP) lets AI assistants call tools directly. The proof.holdings MCP server wraps our entire REST API into 131 structured tools that any MCP-compatible agent can use — Claude, LangChain, CrewAI, OpenAI Agents SDK, Cursor, Windsurf, and more.


Installation

bash
npm install -g @proof-holdings/mcp-server

Or run directly with npx:

bash
npx -y @proof-holdings/mcp-server

Environment Variables

VariableRequiredDefaultDescription
PROOF_API_KEYYes—Your API key (pk_live_* or pk_test_*)
PROOF_BASE_URLNohttps://api.proof.holdingsAPI base URL

Client Setup

Claude Desktop

Add to your claude_desktop_config.json:

json
{
  "mcpServers": {
    "proof-holdings": {
      "command": "npx",
      "args": ["-y", "@proof-holdings/mcp-server"],
      "env": {
        "PROOF_API_KEY": "pk_live_YOUR_API_KEY"
      }
    }
  }
}

Claude Code CLI

bash
claude mcp add proof-holdings -- npx -y @proof-holdings/mcp-server \
  --env PROOF_API_KEY=pk_live_YOUR_API_KEY

Cursor

Add to .cursor/mcp.json in your project:

json
{
  "mcpServers": {
    "proof-holdings": {
      "command": "npx",
      "args": ["-y", "@proof-holdings/mcp-server"],
      "env": {
        "PROOF_API_KEY": "pk_live_YOUR_API_KEY"
      }
    }
  }
}

Windsurf

Add to your Windsurf MCP configuration:

json
{
  "mcpServers": {
    "proof-holdings": {
      "command": "npx",
      "args": ["-y", "@proof-holdings/mcp-server"],
      "env": {
        "PROOF_API_KEY": "pk_live_YOUR_API_KEY"
      }
    }
  }
}

Tool Overview (131 tools)

Verifications (12 tools)

Create and manage asset control verification challenges.

ToolDescription
create_verificationCreate a new verification challenge
get_verificationGet verification status
list_verificationsList all verifications
trigger_verificationTrigger a verification check
submit_verification_codeSubmit a verification code
resend_verificationResend verification challenge
test_verifyAuto-complete a test verification
list_verified_usersList verified users
get_verified_userGet a specific verified user
start_domain_verificationStart domain verification
check_domain_verificationCheck domain verification status
wait_for_verificationPoll until verification completes

Verification Requests (6 tools)

Multi-asset B2B verification request flows.

ToolDescription
create_verification_requestCreate a multi-asset request
get_verification_requestGet request status
list_verification_requestsList all requests
get_request_by_referenceGet request by reference ID
cancel_verification_requestCancel a request
wait_for_requestPoll until request completes

Proofs (4 tools)

Validate, check, and revoke cryptographic proof tokens.

ToolDescription
validate_proofValidate a proof token
get_proof_statusCheck proof status
revoke_proofRevoke a proof
list_revoked_proofsList revoked proofs

HITL Approvals (8 tools)

Human-in-the-loop approval workflows — create configs and request human approval.

ToolDescription
create_hitlCreate a HITL approval config
get_hitlGet a HITL config
list_hitlsList all HITL configs
update_hitlUpdate a HITL config
delete_hitlArchive a HITL config
create_confirmationRequest human approval
get_confirmationGet confirmation status
list_confirmationsList confirmations (filter by status, config, search)

Authorizations (5 tools)

Manage delegated consent — users authorize agents to contact them.

ToolDescription
create_authorizationRequest user authorization
get_authorizationGet authorization status
list_authorizationsList all authorizations
revoke_authorizationRevoke an authorization
export_authorizationsExport authorizations

Sessions (3 tools)

Phone-first authentication sessions.

ToolDescription
create_sessionCreate an auth session
get_sessionGet session status
wait_for_sessionPoll until session completes

Templates (7 tools)

Custom message branding and templates.

ToolDescription
list_templatesList all templates
get_default_templatesGet default templates
get_templateGet a specific template
update_templateUpdate a template
delete_templateDelete a template
preview_templatePreview rendered template
render_templateRender a template

Webhook Deliveries (4 tools)

Monitor and retry webhook deliveries.

ToolDescription
get_webhook_statsGet delivery statistics
list_webhook_deliveriesList deliveries
get_webhook_deliveryGet a specific delivery
retry_webhook_deliveryRetry a failed delivery

Account Management (45+ tools)

Assets, settings, profiles, projects, emails, phones, API keys, 2FA, domains, DNS credentials, billing, and more.

See the API Reference for the full list of account management endpoints, all of which are available as MCP tools.


Example: Verify a Phone Number

text
Use the create_verification tool to verify phone +37069199199 via WhatsApp.
Then use wait_for_verification to poll until the user completes it.

The agent will call:

  1. create_verification with { type: "phone", channel: "whatsapp", identifier: "+37069199199" }
  2. wait_for_verification with the returned verification ID
  3. The result includes the signed proof token

Example: Request Human Approval

text
Use create_confirmation to ask the human to approve deploying v2.1 to production.
Use HITL config ID "abc123". Set a 1-hour timeout.

The agent will call:

  1. create_confirmation with { hitl_id: "abc123", message: "Deploy v2.1 to production?", timeout: 3600 }
  2. get_confirmation to check the result — approved, denied, or expired

Test Mode

Use a pk_test_* API key and all tools work in test mode:

  • No real messages are sent
  • Use test_verify to auto-complete verifications
  • Webhooks still fire for integration testing
  • Test verifications don't count toward your quota

Resources

  • npm package — Install from npm
  • API Reference — Complete endpoint documentation
  • SDKs — Official client libraries for JavaScript, Python, Go, PHP
  • OpenAPI Spec — Machine-readable specification

Related

API ReferenceSDKsIntegrations
Last updated March 16, 2026
Proof
Proofof Holdings

Trust infrastructure for humans and AI agents. Verify control, delegate authority, get human approval — with cryptographic proof.

XGitHubLinkedIn
© 2026 Proof of Holdings

A service of LT Telecom (Uždaroji akcinė bendrovė "LT telekomunikacijos")

Product

  • How It Works
  • Verification Types
  • Human Approvals
  • FAQ

Developers

  • Docs
  • MCP Server
  • Integrations
  • OpenAPI Spec
  • GitHub Docs
  • API Status

Company

  • Brand Kit
  • About
  • Privacy
  • Terms