Skip to main content
Glama

sms_numbers_read

Read-onlyIdempotent

Read the SMS numbers of an agent and search numbers that can be rented. Voice phone numbers are in get_agent_phone. Actions: list — SMS numbers connected to the agent Needs: agentId. | analytics — SMS volume and delivery analytics for the agent Needs: agentId. | rental_status — whether the agent has a rented platform number and its state Needs: agentId. | rental_available — whether number rental is offered in a country | search_available — numbers available to rent, filtered by country / area code / digits

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "action": "<action>"
    },
    "name": "sms_numbers_read"
  }
}

Input Schema

NameRequiredDescriptionDefault
modeNocompact (default) = light mode: long text is cut and bulky blobs are replaced by a size marker. full = complete API response.
limitNoFor search_available: max 50.
actionYes
agentIdNo
countryNoTwo-letter country code, default "US".
areaCodeNo
containsNoDigits the number should contain.
localityNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/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 safety is covered. The description adds genuinely useful behavior beyond that: which actions require agentId versus which key off country/areaCode/contains, which prevents avoidable call failures. It does not discuss result shape or the compact/full mode interaction, hence not a 5.

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 scope sentence followed by a compact pipe-delimited action list — dense and easy to scan. The repeated 'Needs: agentId' phrasing is slightly redundant across three actions but earns its place by making prerequisites unmissable.

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?

For an 8-parameter, 5-action tool with no output schema, the description covers action selection and per-action inputs well enough to call it correctly. Minor gaps remain around 'locality' and when to choose mode=full, but nothing essential is missing.

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 only 50%, so the description carries real weight — it maps agentId to list/analytics/rental_status and country/areaCode/contains to search_available/rental_available, exceeding what the bare schema shows. It leaves the 'locality' and 'mode' parameters unaddressed in the description, so it does not fully close the coverage gap.

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 ('Read the SMS numbers of an agent') and adds a second scope ('search numbers that can be rented'), then explicitly routes voice numbers to the sibling get_agent_phone. The five enumerated actions let an agent tell exactly what the tool covers 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 Guidelines4/5

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

Each action is annotated with its own prerequisite ('Needs: agentId'), which tells an agent how to pick the right action, and it names get_agent_phone as the alternative for voice numbers. It stops short of stating when NOT to use this tool (e.g. mutating rentals via sms_numbers_write), so it is clear but not fully exclusionary.

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