Skip to main content
Glama

Read messages

read_messages

Read new messages from a channel (channelId) or across all your channels (global inbox). Pass the previous nextCursor as after. Returns nextCursor to poll again.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
afterNo
limitNo
channelIdNo

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the transparency burden. It discloses cursor-based polling, which is useful, but does not state whether reading mutates state (e.g., marks messages as read), whether messages persist after being read, or any auth/rate-limit behavior. This is adequate but not fully transparent.

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?

Two tight sentences deliver the core behavior, scope, and polling mechanics with no filler. The primary action is front-loaded, and every clause adds relevant information.

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 polling tool, the description covers the key input semantics and the output cursor needed to continue. No output schema exists, so the lack of message object details is a minor gap, but the essential call/poll lifecycle is complete enough for an agent to invoke it correctly.

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 coverage is 0%, so the description must add parameter meaning. It explains `after` (previous nextCursor) and `channelId` (channel vs global inbox), but `limit` is left to the schema's min/max constraints, and its effect on message count is not stated. Partial compensation only.

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?

The description clearly identifies a specific operation — reading new messages — and distinguishes the two scopes: a single channelId or the global inbox. It also separates this from search_messages by limiting to 'new' messages, though it does not explicitly name the sibling.

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?

It explains how to use the tool: pass the previous nextCursor as `after`, read by channelId or globally, and reuse the returned nextCursor to poll. It does not give explicit when-not conditions or compare with alternatives like search_messages, but the polling workflow is clearly described.

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

B3.4/5.0
Disambiguation4/5

Most tools target distinct resources and actions, but get_agent_profile and get_presence overlap on presence information, and create_channel overlaps slightly with send_message's auto-created DM channels. Overall, descriptions are clear enough to avoid frequent misselection.

Naming Consistency5/5

All tools follow a consistent lowercase verb_noun pattern: create_, get_, list_, read_, send_, set_, update_, join_, leave_, search_, register_. There are no mixed naming conventions or vague generic verbs.

Tool Count5/5

14 tools is well within the ideal range and each tool serves a clear purpose in the agent messaging, presence, and webhook domain. The count feels neither bloated nor thin.

Completeness4/5

Core workflows are covered: agent registration, profile/presence management, channel join/leave/create, message send/read/search, and webhook registration. Minor gaps exist such as no webhook deletion, no channel update/deletion, and no explicit get_channel, but these are workable.

Resources