Skip to main content
Glama
@proof-holdings/mcp-server

@proof-holdings/mcp-server

Official

list_verifications

Read-only

Retrieve verification records with optional filters by asset type, status, and channel; returns paginated results.

Instructions

List verifications with optional filters. Returns paginated results.

ACCESS: needs a Proof account. Set PROOF_API_KEY and restart this server, then call this tool again. start_login does NOT open this tool.

Input Schema

NameRequiredDescriptionDefault
pageNoPage number
typeNoFilter by asset type
limitNoItems per page
statusNoFilter by status
channelNoFilter by channel

Output Schema

NameRequiredDescriptionDefault
dataYes
paginationYesPagination info in list responses

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changedv1.7.2
    • removedInput schema / additionalProperties
      Removed value: -false
    • changedInput schema / properties / channel / enum
      Previous value: -[
      -  "sms",
      -  "whatsapp",
      -  "telegram",
      -  "email"
      -]New value: +[
      +  "whatsapp",
      +  "telegram",
      +  "sms",
      +  "email",
      +  "dns",
      +  "http",
      +  "auto",
      +  "github",
      +  "google",
      +  "facebook",
      +  "x",
      +  "linkedin",
      +  "instagram",
      +  "youtube",
      +  "tiktok",
      +  "ethereum",
      +  "solana",
      +  "bitcoin",
      +  "coinbase",
      +  "kraken",
      +  "telegram_bot_token"
      +]
    • removedInput schema / properties / external_user_id
      Removed value: -{
      -  "description": "Filter by external user ID",
      -  "type": "string"
      -}
    • addedInput schema / properties / page / maximum
      Added value: +9007199254740991
    • addedInput schema / properties / type
      Added value: +{
      +  "description": "Filter by asset type",
      +  "enum": [
      +    "phone",
      +    "email",
      +    "domain",
      +    "social",
      +    "wallet",
      +    "account",
      +    "telegram_bot"
      +  ],
      +  "type": "string"
      +}
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": {},
      +  "description": "Paginated list of verifications",
      +  "properties": {
      +    "data": {
      +      "items": {
      +        "additionalProperties": {},
      +        "properties": {
      +          "channel": {
      +            "type": "string"
      +          },
      +          "created_at": {
      +            "type": "string"
      +          },
      +          "environment": {
      +            "type": "string"
      +          },
      +          "id": {
      +            "type": "string"
      +          },
      +          "identifier": {
      +            "type": "string"
      +          },
      +          "status": {
      +            "type": "string"
      +          },
      +          "type": {
      +            "type": "string"
      +          },
      +          "verified_at": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "id",
      +          "type",
      +          "channel",
      +          "status",
      +          "environment",
      +          "created_at"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "pagination": {
      +      "additionalProperties": {},
      +      "description": "Pagination info in list responses",
      +      "properties": {
      +        "limit": {
      +          "maximum": 9007199254740991,
      +          "minimum": -9007199254740991,
      +          "type": "integer"
      +        },
      +        "page": {
      +          "maximum": 9007199254740991,
      +          "minimum": -9007199254740991,
      +          "type": "integer"
      +        },
      +        "total": {
      +          "maximum": 9007199254740991,
      +          "minimum": -9007199254740991,
      +          "type": "integer"
      +        },
      +        "total_pages": {
      +          "maximum": 9007199254740991,
      +          "minimum": -9007199254740991,
      +          "type": "integer"
      +        }
      +      },
      +      "type": "object"
      +    }
      +  },
      +  "required": [
      +    "data",
      +    "pagination"
      +  ],
      +  "type": "object"
      +}
  2. First observedv1.1.0

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

readOnlyHint=true already covers the safety profile, and the description adds value on top by disclosing pagination and a concrete auth prerequisite, including the non-obvious warning that start_login does not authorize this call. Missing rate-limit or result-volume context, but the auth/misconception disclosure is substantive beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The functional line is front-loaded and wastes nothing. The ACCESS block is longer than the purpose statement and reads as setup instructions, but every clause in it (account requirement, env var, restart) prevents a failed call, so it earns its space.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be described, and the auth prerequisite plus pagination note cover the operational essentials for invoking it correctly. The remaining gap is disambiguation from the many verification-adjacent siblings, which matters given the crowded namespace.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and three of the five parameters carry enums with documented values, so the schema already carries parameter meaning. The description only restates that filters are optional and results are paginated, adding no syntax, defaults, or interaction details beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ("List verifications") plus the two defining traits: optional filters and paginated output. However, with siblings such as list_verified_users, list_verification_requests, list_reissued_proofs and list_revoked_proofs, it never clarifies which population of 'verifications' this returns, leaving the agent to infer the distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The ACCESS block gives one real usage condition (a Proof account with PROOF_API_KEY configured, and the explicit note that start_login does not unlock this tool), which is genuinely helpful. But there is no guidance on when to choose this over the numerous other list/get verification tools, so selection still requires inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools