Skip to main content
Glama

Read an inbox

brain_messages_get
Read-onlyIdempotent

Read an agent's inbox messages—unread by default or full history—without marking them as read; mark each message read separately after handling.

Instructions

Read the messages addressed to an agent: unread ones by default, or the full history with unread set to false. Read-only: it does not mark anything as read; call brain_messages_mark_read with each message id once handled. All matching messages are returned at once, with no pagination and no guaranteed order. Returns { agent, count, messages: [{ id, title, type, tags, agent, content }] }. count 0 means the inbox is empty.

Input Schema

NameRequiredDescriptionDefault
agentYesWhose inbox to read, using the name senders used as toAgent (case-insensitive, spaces treated as hyphens).
unreadNotrue (default) returns only unread messages; false returns every message including read ones.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.6.1

TDQS

A4.5/5.0
Behavior4/5

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

The annotations already declare readOnlyHint, idempotentHint, destructiveHint false, and openWorldHint false. The description adds meaningful context beyond those annotations: reading does not mark messages as read, all matching messages are returned at once with no pagination or guaranteed order, and a count of 0 means an empty inbox. It does not discuss access permissions, but for a read-only inbox tool the additional behavioral context is substantial.

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?

The description is dense and front-loaded: scope, read-only behavior, follow-up tool, pagination/order caveat, return shape, and empty-inbox meaning. Every sentence carries actionable information without unnecessary wording.

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?

Although there is no output schema, the description provides the full return shape, clarifies that results are unpaginated and unordered, and explains what count 0 means. Combined with the annotations, this is complete enough for an agent to call and interpret the tool 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 description coverage is 100%, so both parameters are already documented. The description restates that unread defaults to true and false returns the full history, but adds little parameter-specific meaning beyond the schema; its extra value is in overall return behavior rather than parameter semantics.

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?

The description states a specific verb and resource: read messages addressed to an agent. It immediately clarifies the default unread scope versus full history, which cleanly distinguishes this inbox-reading tool from sibling tools like brain_messages_mark_read and brain_messages_send.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly explains when to use the default unread view versus unread=false for full history. It also names the follow-up tool, brain_messages_mark_read, and specifies that reading does not mark messages as read, giving the agent a clear workflow.

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