Skip to main content
Glama

Read SMS messages

phone_read_messages

Read SMS messages received on a phone number you own. Costs 0.02 USDC, paid per-action via x402.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
paymentNobase64 x402 payment payload (X-PAYMENT); omit on first call to receive payment instructions
number_idYesPhone number id returned by phone_buy_number

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden of disclosing behavioral traits. It adds valuable context: the per-action cost of 0.02 USDC via x402 and the ownership requirement. However, it does not disclose return format, pagination, or what happens if payment is not provided. The payment flow is partially covered by the schema's payment field description, so a score of 3 reflects that it adds some context but is not rich.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no filler. It conveys the primary action ('Read SMS messages'), a scoping condition ('on a phone number you own'), and a key operational detail (cost). Every word earns its place; appropriately concise.

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 a read tool with two parameters and no output schema, the description covers the core purpose, ownership requirement, and cost. It does not explicitly state that the first call may return payment instructions, but the schema's payment field description covers that. The tool is relatively simple, and the combination of description and schema is sufficient for invocation.

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

Parameters3/5

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

Schema description coverage is 100%, and both parameters (payment, number_id) have clear descriptions in the schema. The tool description adds no extra parameter semantics beyond the schema. Baseline of 3 is appropriate because the schema already fully documents the parameters.

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?

The description states a specific verb and resource: 'Read SMS messages received on a phone number you own.' This clearly distinguishes it from siblings like phone_send_sms (send) and email_read_messages (email). The phrase 'you own' adds a meaningful scoping condition that differentiates from temporary-number tools.

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

Usage Guidelines3/5

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

The description implies usage context (reading SMS on an owned number) but does not explicitly state when to use this tool versus alternatives. It mentions a prerequisite ('a phone number you own') but does not name alternative tools or exclusion conditions. The cost and payment mechanism are mentioned, giving some operational guidance, but no direct or indirect comparison with similar tools.

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.

TDQS

A4.1/5.0
Disambiguation5/5

Each tool targets a distinct resource and action, clearly separated by domain prefixes (card_, email_, phone_, tiktok_). The only potential overlap is phone_read_messages vs wait_for_otp, but wait_for_otp is specifically for OTP extraction and is described as a replacement for hand-rolled polling, making the boundary clear. Status pollers are also domain-specific (card_status, tiktok_connect_status, tiktok_operation_status) and not ambiguous.

Naming Consistency5/5

All tool names follow a consistent snake_case convention with domain-first prefixes (e.g., card_buy, email_send, tiktok_post, phone_temp_number). Even less common names like wait_for_otp and i402_plan are descriptive and stylistically consistent. There are no mixed conventions or vague verbs.

Tool Count4/5

33 tools is above the typical 3-15 range, but the server covers a broad multi-domain purpose (cards, compute, domains, email, phone, TikTok, Twitter, orchestration). Each domain has a focused and coherent set, so the count feels justified rather than bloated. It is slightly high, but not excessively so.

Completeness3/5

Coverage is solid for email, phone, and TikTok, with full lifecycle operations (create, read, extend, delete/cancel where applicable). However, there are notable gaps: compute has only deploy (no list/stop/delete), domains have only check/register (no list/delete), and Twitter has only post (no read/manage). These gaps could force agents to work around missing resource management.