Skip to main content
Glama

List SMS Messages

list_sms_messages
Read-onlyIdempotent

Read SMS and WhatsApp message evidence for accessible businesses (sms:read), including provider message ID, carrier status, delivery/failure timestamps and failure code. Filter by business_id, conversation or direction. Provider acceptance is not delivery; use delivered_at and carrier status as evidence. Mirrors GET /api/v1/sms/messages; uses offset pagination.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMax results to return (default 50, max 100)
offsetNoZero-based pagination offset (default 0)
directionNoFilter by direction: inbound or outbound (optional)
business_idNoNarrow to one accessible business (optional).
conversation_idNoFilter by conversation ID (optional)

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
countNo
errorNoPresent when success is false
limitNo
offsetNo
filtersNo
successYesWhether the tool completed successfully
has_moreNo
messagesNo
next_offsetNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / business_id
      Added value: +{
      +  "description": "Narrow to one accessible business (optional).",
      +  "type": "string"
      +}
  2. Added

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, so the safety profile is covered. The description adds genuinely new context: the required sms:read scope, the offset-pagination scheme, and the important caveat that provider acceptance is not proof of delivery (use delivered_at/carrier status). Return format is left to the output schema, which is acceptable.

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?

Three dense sentences that are front-loaded with what the tool reads and what it returns, followed by filters and the delivery caveat. Every sentence carries information, though the field enumeration is somewhat list-like rather than prioritized.

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?

Given an output schema exists, the description need not explain return values, and it correctly covers scope, auth, filters, pagination style, and a meaningful semantic caveat. The main remaining gap is routing guidance relative to the other conversation/message listing siblings.

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% with all five parameters documented (limit/offset defaults, direction values, optional business_id and conversation_id). The description merely restates which fields can be filtered on and adds no syntax, enum, or constraint detail beyond the schema, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Read SMS and WhatsApp message evidence'), narrows scope to accessible businesses with the sms:read scope, and enumerates the returned fields (provider message ID, carrier status, timestamps, failure code). However, it never explicitly distinguishes itself from read-side siblings like get_conversation or list_conversations, so it lands at a clear-but-not-differentiated 4.

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?

Filters (business_id, conversation, direction) are listed, which implies how to narrow results, but there is no statement of when to use this tool versus list_conversations or get_conversation, and no when-not guidance. The 'provider acceptance is not delivery' note guides data interpretation rather than tool selection, so usage is only implied.

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.