Skip to main content
Glama

message_status

Check whether messages you sent have been read by passing up to 200 IDs returned by send_message; returns read status and readAt for each ID in order.

Instructions

Say whether messages you sent have been read: takes the ids send_message returned (1 to 200) and returns, for each id once, in the order given, id, to (the recipient, by the name it had if it has since been removed), read and readAt (when its recipient's read_inbox first returned it, or null; a message to a person stays unread, since a person has no read_inbox). Only messages sent under your name since you registered it, to an agent or person of your account, can be asked about; if any id is another (one you did not send, one a removed agent with your name sent, or one that does not exist), the whole call fails with one error that does not say which. Marks nothing read. Requires register first.

Input Schema

NameRequiredDescriptionDefault
idsYesMessage ids, as send_message returns them in messages.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.1

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations, the description carries the full load and does so: it discloses atomic all-or-nothing failure on any ineligible id, that the error does not identify the offending id, that results are deduplicated and returned in the requested order, and that recipient names are resolved as of send time. It also states the operation is non-mutating.

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?

Dense but front-loaded, leading with the core verb and result shape before edge cases. It is a long multi-clause sentence, but nearly every clause conveys a distinct constraint; only the parenthetical about removed recipients is arguably over-detailed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, so the description must define the return value, and it does field by field, including the null case and the reason a person-addressed message stays unread. The failure mode and ordering guarantees complete what an agent needs to call and interpret it correctly.

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 100% and the single parameter is already documented, so the schema does the heavy lifting. The description still adds real meaning: the ids must come from send_message, the 1–200 bound is behavioral (not per-item), and a single invalid id fails the entire call.

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 and resource: report whether messages you sent have been read, with the exact return fields (id, to, read, readAt). It also scopes the inputs to ids returned by send_message, which separates it cleanly from read_inbox and read_conversation in the sibling list.

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?

Gives clear preconditions ('Requires register first') and eligibility bounds ('only messages sent under your name since you registered it, to an agent or person of your account'). It also clarifies 'Marks nothing read', implicitly contrasting with read_inbox, though it never names the alternative tool explicitly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.