Skip to main content
Glama

Nopaque TotalPath

List Phone Numbers

listNumbers
Read-onlyIdempotent

List the phone numbers your workspace rents: each has a numberId, the number (e164), country, what kind of number it is (mobile, local and so on), what it can carry (voice, sms), what it was bought for (type) and is used for now (uses: outbound or load caller ID, callback, survey or inbound), whether it is the default caller ID, its state (ordering, live, releasing, or failed when the carrier failed its order), activation status while ordering, monthly rate and when it was acquired. Also allowance: how many numbers the workspace may hold and how many are left, and whether new numbers are included in the workspace's custom agreement (includedInDeal, with its dealRef), in which case no rental or setup fee is charged for them. Takes no parameters. Use when: the user asks which numbers they have, what a number is used for, or why a number is not live yet. Read-only. Needs numbers:read (owner, admin or billing admin); other roles get 403.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "listNumbers"
  }
}

Input Schema

NameRequiredDescriptionDefault

No arguments

Output Schema

NameRequiredDescriptionDefault
numbersYes
allowanceNoHow many numbers this workspace may hold. Served alongside the numbers so a client never has to infer it from the plan — the limit is overridable per workspace, so "free plan, therefore none" is a rule that is true until someone grants an exception. Advisory: `POST /numbers/orders` enforces the limit itself and refuses on its own. This is what lets a UI say so first, and it is **absent** if the allowance could not be read — a billing hiccup does not blank the list.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Adds context the annotations do not carry: the required numbers:read scope, the specific roles that satisfy it, and the 403 failure mode for other roles. It also explains the state machine (ordering, live, releasing, failed) and the business meaning of includedInDeal, though it restates 'Read-only' which the readOnlyHint already declares.

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

Conciseness3/5

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

The purpose is front-loaded, but the first sentence is a single very long run-on enumerating every returned field, and since an output schema already exists this field-by-field recital largely duplicates structured data. The trailing 'allowance' explanation earns its place as genuine business semantics, but the field litany could be trimmed.

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?

Covers purpose, usage triggers, permission requirements and the non-obvious meaning of allowance and includedInDeal, which is ample for a zero-parameter read tool whose return shape is already defined by an output schema. No pagination or ordering behavior is mentioned, though the absence of parameters suggests neither applies.

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?

The tool takes zero parameters and says so explicitly ('Takes no parameters'), which is the correct baseline for a parameterless tool. No meaning is lost because there is nothing to parameterize.

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?

Opens with a specific verb and resource — 'List the phone numbers your workspace rents' — and immediately scopes the collection as workspace-owned. The subsequent enumeration of numberId, e164, country, uses, state and allowance makes it unmistakable which resource family this returns, distinguishing it from the many other list* siblings.

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?

Gives an explicit 'Use when' clause covering three concrete intents: which numbers the user has, what a number is used for, and why a number is not live yet. It stops short of naming exclusions or pointing to an alternative, but no sibling in the catalog appears to cover this resource, so the routing gap is minor.

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.