Skip to main content
Glama

dm_messages_list

Read-onlyIdempotent

List messages in a chat, most recent first. Optionally filter by direction or status. Inbound messages created by a tap on an interactive element you sent (quick reply, button postback, Instagram ice breaker, Telegram callback query) carry tapped_action: {kind, payload, title} — read the payload from there instead of digging through platform_data.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (zero-indexed, default 0)
statusNoFilter by status (pending, published, failed_waiting_for_retry, failed, received)
chat_idYesChat hashid OR external_conversation_id
per_pageNoItems per page (default 20)
directionNoFilter by direction

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is covered. The description adds real context beyond that: deterministic ordering (most recent first) and, importantly, that tapped interactive-element messages expose tapped_action {kind, payload, title} so the agent should read the payload there rather than parse platform_data. That is a non-obvious behavioral detail an agent would otherwise miss.

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?

Two sentences, front-loaded with purpose and ordering before the filter detail. The second sentence is dense with a long parenthetical enumeration of interactive element types, but each clause carries actionable information rather than filler.

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?

There is no output schema, so the description carries some return-shape burden and does address it by explaining the tapped_action structure. With 100% parameter coverage and annotation-declared safety, the only mild omission is pagination behavior, which is largely covered by the schema's page/per_page descriptions.

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%, so all five parameters (page, status, chat_id, per_page, direction) are already documented in the schema; the description only echoes direction and status. Baseline 3 applies. The tapped_action detail is about return data, not parameters, so it does not raise this dimension.

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 and resource ("List messages in a chat") plus a result ordering ("most recent first"), which implicitly separates it from the singular dm_message_get and the write-oriented dm_message_send. It stops short of explicitly naming an alternative sibling, so it lands at 4 rather than 5.

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?

It says filters are optional and which two dimensions can be filtered (direction, status), which is implied usage guidance. But there is no explicit when-to-use-this vs dm_message_get or dm_chats_list, and no stated prerequisites for the chat_id. Adequate but with a clear gap.

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.