Skip to main content
Glama

list_mailbox_changes

Read-onlyIdempotent

Read a bounded page from the durable forward-only mailbox feed. This reads the encrypted cache cursor only and never contacts a mail provider. On the first call, omit afterCursor; bootstrap:true starts at the oldest retained change. Persist nextCursor when present and pass it unchanged on later calls. If status is reset_required and recoveryCursor is present, reconcile the reported gap before resuming. If no recoveryCursor is returned, the feed is not initialized yet; retry the bootstrap call later. Messages contain sender/recipient and available RFC linkage headers, never body or subject; compare sender against known creator addresses to decide direction.

Input Schema

NameRequiredDescriptionDefault
limitNo
accountIdYes
afterCursorNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), yet the description still adds real value: it never contacts a provider, it reads only the cache cursor, messages carry sender/recipient and RFC linkage headers but never body or subject, and it documents the reset_required/not-initialized states. The dangling 'bootstrap:true' reference introduces an inconsistency that keeps this 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?

Five dense sentences, front-loaded with the core action and pagination rule before edge cases. The closing sentence about comparing sender against known creator addresses is tangential, and the bootstrap reference adds noise with no matching parameter, but on the whole each sentence carries operational weight.

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 three-parameter read with no output schema, the description covers return shape (sender/recipient, RFC headers, no body/subject), cursor lifecycle, and failure modes (reset_required, uninitialized feed). The gaps are the undescribed accountId and limit parameters and the phantom bootstrap flag.

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 compensate. It does so thoroughly for afterCursor (when to omit, how to persist and reuse nextCursor), but accountId (the only required parameter) and limit (capped at 100) receive no mention in the description, leaving two of three parameters undefined anywhere.

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: 'Read a bounded page from the durable forward-only mailbox feed.' The 'forward-only', 'bounded page' and 'encrypted cache cursor only, never contacts a mail provider' phrasing separates it from live-mail siblings like search_emails or get_email. It does not name any sibling explicitly, which keeps it from a 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 concrete operating rules: omit afterCursor on the first call, persist nextCursor and pass it unchanged, reconcile when status is reset_required with recoveryCursor, and retry bootstrap later when no recoveryCursor is returned. A caveat: it instructs 'bootstrap:true' although no bootstrap parameter exists in the schema, so one piece of guidance cannot be acted on.

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.

Resources