Skip to main content
Glama
hail-hq

hail

Official

Confirm a verification with a code

confirm_verification

When a registration shows confirmation 'code', ask the person for the code the carrier texted and submit it here.

Instructions

When a registration shows confirmation 'code', ask the person for the code the carrier texted and submit it here.

    ``verification_id`` comes from submit_verification or
    list_verifications. ``code`` is 4 to 10 characters. A wrong or expired
    code is an error naming ``code``; the carrier sends a new one after a
    day. On success the registration moves on; poll get_verification
    until ``approved``. A ``confirmation`` of ``reply`` means the person
    answers the carrier's text instead; nothing is entered here.

    Returns the verification or ``{"error": "<message>"}``.

Input Schema

NameRequiredDescriptionDefault
codeYes
verification_idYes

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.29.0

TDQS

A4.9/5.0
Behavior5/5

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

Annotations only declare the generic profile (not read-only, open-world, not idempotent, not destructive). The description adds real operational context: wrong or expired codes surface as an error naming 'code', the carrier re-sends after a day, success advances the registration and requires polling get_verification until 'approved', and failures return an error object.

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?

Front-loaded with the action and condition, then parameters, then failure modes, then return value – a sensible ordering. The final return-value sentence partially duplicates the output schema and the earlier error statement, so there is minor slack.

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?

Covers trigger, parameter sourcing, valid input shape, failure behavior with recovery timing, the post-success next step (poll get_verification), and the alternate 'reply' path. Despite an output schema existing, the error-object shape is still worth stating and nothing needed to call this correctly is absent.

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

Parameters5/5

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

Schema description coverage is 0%, so the description must carry the burden and it does: verification_id's provenance is stated and code is bounded to 4-10 characters. That is exactly the information missing from the bare string properties.

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?

States a specific verb (confirm) and resource (a verification) plus the mechanism (with a code), and the surrounding text makes clear this is the code-entry path rather than submit_verification or get_verification. An agent can distinguish it from its siblings without opening any schema.

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

Usage Guidelines5/5

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

Gives an explicit trigger ('when a registration shows confirmation code, ask the person for the code the carrier texted and submit it here') and an explicit exclusion ('a confirmation of reply means the person answers the carrier's text instead; nothing is entered here'). It also names where verification_id must come from (submit_verification or list_verifications).

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