Skip to main content
Glama

List addresses

list_addresses
Read-onlyIdempotent

List the authenticated customer's regulation addresses with their uploaded proof documents. Returns each address id, the identity it belongs to (id, name, type), country ISO code, city name, postal code, street address, verified flag and a proof summary (proof type name, expired flag, files count). Pass country_iso (+ did_group_type) — straight from a DID's registration_required block, or with requirement_type "emergency" to pick the address for an E911 calling service — to have every address checked against that requirement: each one then carries eligible, plus the mismatches and how to fix them when it is not. Use an address id with create_address_verification or create_regulation_upload_link. If no suitable address exists, create one with create_address.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (default 1).
page_sizeNoResults per page (default 50, max 1000).
country_isoNoOptional: check every returned record against the DID registration requirement of this country (ISO 3166-1 alpha-2, case-insensitive) — pass the `country_iso` from buy_did's registration_required block. Each record then carries `eligible`, plus `blocking_errors` and `remediation` when it cannot be used as is.
did_group_typeNoOptional companion to country_iso: the DID Group type (a name like "National" or a DID Group Type UUID) — needed when the country has requirements for several group types.
requirement_typeNoWhich rule set country_iso refers to: "regulation" (default — DID registration) or "emergency" (E911 calling service, the requirement create_emergency_verification validates against).

Schema Changelog

Changes observed during successful MCP inspections.

No schema history has been recorded yet.

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds genuinely non-obvious behavior: that passing country_iso causes every record to be checked against the requirement and each one then carries `eligible`, `blocking_errors` and `remediation` when it cannot be used. That conditional side-effect is real added value beyond the annotations, though pagination/ordering behavior is left implicit.

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 resource and scope, then the conditional eligibility behavior, then routing to sibling tools. It is dense but every clause earns its place; the only minor cost is a long enumerated list of return fields packed into a single sentence.

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?

There is no output schema, so enumerating the returned fields (address id, identity, country ISO, city, postal code, street, verified flag, proof summary) is exactly what the description should supply, and it does. Combined with the eligibility behavior and sibling routing, an agent has everything needed to call it 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 description coverage is 100%, so a 3 would be the baseline, but the description goes further by explaining where country_iso's value comes from ('straight from a DID's registration_required block') and clarifying the emergency/regulation semantics of requirement_type beyond the enum labels. It gives practical sourcing guidance the schema does not.

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+resource ('List the authenticated customer's regulation addresses') and immediately delimits scope to the caller's own addresses with proof documents. It is clearly distinguishable from siblings like list_address_verifications and list_requirements by naming the resource precisely.

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 tells the agent how to use the optional parameters ('Pass country_iso (+ did_group_type) — straight from a DID's registration_required block') and adds the alternate condition ('or with requirement_type "emergency" to pick the address for an E911 calling service'). It also routes downstream usage ('Use an address id with create_address_verification or create_regulation_upload_link') and the fallback ('If no suitable address exists, create one with create_address'), giving full when/when-not/alternative coverage.

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