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

@proof-holdings/mcp-server

Official

get_user_domain_verification_status

Read-only

Retrieves the current status of a domain verification session, including challenge details, so you can track verification progress and next steps.

Instructions

Get the current status of a domain verification session, including challenge details.

ACCESS: needs a Proof account. Set PROOF_API_KEY and restart this server, or sign in with start_login — a session opens this tool — then call this tool again.

Input Schema

NameRequiredDescriptionDefault
session_idYesDomain verification session ID

Output Schema

NameRequiredDescriptionDefault
domainYes
statusYes
channelYes
challengeNoWhat is still to be published, while the session is not verified (no `instruction`, unlike the start)
created_atYes
session_idYes
verified_atNoPresent once `status` is `verified`

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv1.7.2
    • removedInput schema / additionalProperties
      Removed value: -false
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": {},
      +  "description": "A self-service domain verification session's state",
      +  "properties": {
      +    "challenge": {
      +      "additionalProperties": {},
      +      "description": "What is still to be published, while the session is not verified (no `instruction`, unlike the start)",
      +      "properties": {
      +        "file_content": {
      +          "type": "string"
      +        },
      +        "file_url": {
      +          "type": "string"
      +        },
      +        "record_name": {
      +          "type": "string"
      +        },
      +        "record_type": {
      +          "type": "string"
      +        },
      +        "record_value": {
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "channel": {
      +      "type": "string"
      +    },
      +    "created_at": {
      +      "type": "string"
      +    },
      +    "domain": {
      +      "type": "string"
      +    },
      +    "session_id": {
      +      "type": "string"
      +    },
      +    "status": {
      +      "type": "string"
      +    },
      +    "verified_at": {
      +      "description": "Present once `status` is `verified`",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "session_id",
      +    "domain",
      +    "channel",
      +    "status",
      +    "created_at"
      +  ],
      +  "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?

The readOnlyHint annotation already covers the safe-read profile, and the description consistently matches it. It adds context beyond the annotations: an account or key prerequisite and the important detail that 'a session opens this tool,' meaning the data is scoped to an authenticated session. It does not mention rate limits, caching, or whether status can be polled repeatedly, but the auth behavior is substantive.

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 purpose is front-loaded in the first sentence, followed by a clearly separated ACCESS block. Both parts are short, and the second part is operational rather than filler. The only inefficiency is that the access instructions could be terser, but they are directly relevant to successfully invoking the tool.

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?

Given a single required parameter, a readOnly annotation, and an output schema that documents the returned challenge details, the description covers what an agent needs to call the tool successfully. The remaining gap is disambiguation from similarly named verification-status siblings. In a server with roughly 130 tools, that keeps it short of a 5.

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?

The input schema has 100% description coverage for the single parameter, so the baseline is 3. The description adds no meaning about the session_id beyond what the schema already says, such as whether it comes from start_user_domain_verification or how an invalid ID behaves. The schema does the heavy lifting here.

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?

The description names a specific verb and resource: 'Get the current status of a domain verification session, including challenge details.' That is clearer than a bare restatement of the name, and it adds the useful detail that challenge data is returned. However, among the many near-identical siblings in this server (check_domain_verification, check_user_domain_verification, start_user_domain_verification), nothing in the description tells the agent which one this tool is not.

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 provides real usage guidance: the tool requires a Proof account, an API key, or a login session, and the description says to restart the server or use start_login, then retry. However, it gives no guidance on when to choose this tool over the domain-verification siblings, or whether it is the polling counterpart to start_user_domain_verification. Usage guidance is implied by the sibling naming rather than stated explicitly.

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