Skip to main content
Glama

start_identity_verification

Start or restart identity verification (KYC) — the first setup step before RealOpen can issue a crypto Proof of Funds letter for a real estate offer. If a previous session exists that was incomplete, denied, or expired, this creates a new one. Returns a secure hosted verification URL the user opens in their browser; do not collect sensitive identity details in chat.

Input Schema

NameRequiredDescriptionDefault
force_newNoForce a new verification session even if one is pending (use after denial or expiry)

Output Schema

NameRequiredDescriptionDefault
statusYesOne of: already_verified, processing, redirect_required
messageNo
instructionsNo
verified_nameNoSet when status=already_verified
previous_statusNoThe prior session status if this call is restarting a stale session
verification_urlNoStripe Identity URL the user opens in their browser. Present when status=redirect_required.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • removedInput schema / additionalProperties
      Removed value: -false
  2. Changed1 schema field changed
    • removedInput schema / properties / id_number_required
      Removed value: -{
      -  "default": true,
      -  "description": "Whether to require an ID number on the document (default: true)",
      -  "type": "boolean"
      -}
  3. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": false,
      +  "properties": {
      +    "instructions": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "message": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "previous_status": {
      +      "description": "The prior session status if this call is restarting a stale session",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "status": {
      +      "description": "One of: already_verified, processing, redirect_required",
      +      "type": "string"
      +    },
      +    "verification_url": {
      +      "description": "Stripe Identity URL the user opens in their browser. Present when status=redirect_required.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "verified_name": {
      +      "description": "Set when status=already_verified",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    }
      +  },
      +  "required": [
      +    "status"
      +  ],
      +  "type": "object"
      +}
  4. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Beyond the annotations, the description discloses that this creates a new session when a prior one is incomplete, denied, or expired, and that it returns a secure hosted verification URL for the user's browser. It also adds important privacy guidance not to collect sensitive identity details in chat, though it does not cover rate limits or permission requirements.

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

Conciseness5/5

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

The description is front-loaded with the core action and business purpose, then adds restart conditions and the return/usage constraint. It is three sentences with no wasted text and every clause adds useful context.

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

Completeness5/5

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

Given the output schema exists, the description need not explain return values in detail, yet it still mentions the hosted verification URL. Combined with annotations covering safety and idempotency, and the schema covering the force_new parameter, the description is complete enough for correct invocation.

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%, so the single parameter force_new is already fully documented. The description indirectly references restart behavior but does not add syntax or conditional details beyond what the schema already provides, making baseline 3 appropriate.

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

Purpose5/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: start or restart identity verification (KYC). It also clarifies the business context as the first setup step before issuing a crypto Proof of Funds letter, which distinguishes it from downstream sibling tools like generate_proof_of_funds.

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

Usage Guidelines4/5

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

It clearly states the primary usage context: the first setup step before RealOpen can issue a crypto Proof of Funds letter. It also explains that incomplete, denied, or expired sessions are replaced, but it does not explicitly name alternative tools or state when not to use this tool beyond the privacy warning about chat.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.