Skip to main content
Glama

agent_mark_read

Mark a message as read as the recipient, so the sender can see its read status; disabled unless state-change relay is allowed.

Instructions

Mark a message as read (recipient only). The sender can see when it was read. Off by default: refused unless the human owner set VOIDLY_MCP_RELAY_ALLOW_STATE_CHANGES=1. Acts as the identity in the local credential store.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
message_idYesMessage id

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv3.0.2

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses this is a state-changing, off-by-default operation and that the sender can observe the read receipt (a side effect visible to third parties). It stops short of detailing error responses or idempotency, keeping it from a 5.

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 compact sentences, front-loaded with the action and its role restriction, then the visibility effect and finally the gating condition. The trailing "Acts as the identity in the local credential store" is terse but relevant auth context 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?

For a single-parameter mutation with no annotations or output schema, the description covers the mutation nature, the permission gate, the inter-agent side effect, and the acting identity. Little an agent needs before calling is missing; error/success shape is the only gap.

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% for the single message_id parameter, so the schema already documents it. The description adds no format, source, or syntax detail about the id, making 3 (baseline) the correct score.

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 ("Mark a message as read") plus a role restriction ("recipient only"), which is enough to tell it apart from send/receive siblings. It does not explicitly differentiate itself from the closely-named sibling agent_mark_read_batch, so it falls short of 5.

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 context: recipient-only, and the crucial precondition that it is refused unless VOIDLY_MCP_RELAY_ALLOW_STATE_CHANGES=1 is set. However it never points to agent_mark_read_batch for batch usage, so alternatives are left to inference.

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

Deploy Server

Other Tools