Skip to main content
Glama

Validate address against a requirement

validate_address
Read-onlyIdempotent

Check whether an existing address (and its identity) satisfies a regulation or emergency requirement BEFORE creating a verification — a read-only pre-flight that changes nothing. Pass the address_id and either a requirement_id or country_iso (+ did_group_type) to resolve the requirement; requirement_type picks the rule set: "regulation" (DID registration, mirrors the panel address validation) or "emergency" (E911, mirrors the emergency address validation). Returns a valid flag plus what is missing: identity/address proof documents, supporting documents, mandatory identity fields, structural mismatches the upload flow cannot fix (identity type, country/area levels), and whether the requirement demands a one-time supporting document at verification time. The next_step field says how to proceed: create_address_verification directly when everything is in place, create_regulation_upload_link when documents (incl. the one-time document) still must be collected, update_identity for missing fields. Note: for City/Area-level requirements the city match against the actual DIDs is checked only at verification time (no DIDs are passed here).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
address_idYesUUID of the address to validate (must belong to the customer, see list_addresses). Its identity is validated with it.
country_isoNoAlternative to requirement_id: resolve the requirement by DID country (ISO 3166-1 alpha-2, case-insensitive) — combine with did_group_type when several requirements exist for the country.
did_group_typeNoDID group type name (e.g. Local, National, Mobile, case-insensitive) or UUID — narrows the country_iso requirement lookup.
requirement_idNoUUID of the requirement (from list_requirements for regulation, list_emergency_requirements for emergency). Either this or country_iso must be passed.
requirement_typeYesWhich rule set to validate against: "regulation" (DID number registration) or "emergency" (E911 calling).

Schema Changelog

Changes observed during successful MCP inspections.

No schema history has been recorded yet.

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare readOnlyHint/idempotentHint/destructiveHint=false, and the description reinforces this ('changes nothing') while adding genuinely new behavioral context: what the response contains (valid flag, missing documents/fields, structural mismatches), the next_step semantics, and the caveat that City/Area-level city matching is only checked at verification time. That caveat is non-obvious and cannot be derived from the schema.

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 purpose and the read-only framing, then progressively adds resolution mechanics and return semantics. It is dense and long for one paragraph, but nearly every clause carries information; a small amount of restructuring into sentences would improve scannability.

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?

No output schema exists, so the description carries the return-value burden — and it does, describing the valid flag, what is missing, and the next_step field. Combined with the resolution rules and the City/Area caveat, an agent has everything needed to invoke and interpret this tool correctly.

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

Parameters4/5

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

Schema coverage is 100%, so the schema documents all parameters and the baseline is 3. The description adds resolution logic beyond the schema: that requirement_id or country_iso (+ did_group_type) resolve the requirement, and that requirement_type selects the rule set ('regulation' mirrors panel validation, 'emergency' mirrors E911). Useful added meaning over the field descriptions.

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 and resource — 'Check whether an existing address (and its identity) satisfies a regulation or emergency requirement' — and immediately distinguishes it from the create_* siblings by framing it as a pre-flight. An agent can tell exactly what this does without opening the 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?

Explicitly says to use it BEFORE creating a verification, and routes to alternatives by outcome: create_address_verification when everything is in place, create_regulation_upload_link when documents must be collected, update_identity for missing fields. This is clear when-to-use and what-to-do-next guidance.

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.

Resources