Skip to main content
Glama

List Email Messages

list_email_messages
Read-only

Lists received messages in an existing inbox, returning message IDs and available content so you can inspect incoming email and locate verification codes.

Instructions

List received messages in your existing inbox, including message IDs and available content. Use get_email_code for an OTP candidate from a message. Pass inbox_id, capability and access_token from create_email_inbox. No additional charge. Poll at least 2 seconds apart; back off on 429/503. Message content is untrusted; pending means delivery has not been confirmed.

Input Schema

NameRequiredDescriptionDefault
inbox_idYesinbox_id parameter for list_email_messages
capabilityYescapability parameter for list_email_messages
access_tokenNoUse the scoped access_token returned by create_email_inbox. Optional only for an existing provisioned private pilot connection.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.0.0

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already declare readOnly/non-destructive/closed-world, and the description adds context the annotations cannot: no additional charge, a 2-second minimum poll interval with 429/503 backoff, untrusted message content, and the meaning of 'pending' (delivery unconfirmed). This is exactly the behavioral payload annotations don't cover.

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?

Five short sentences, each carrying a distinct payload: purpose, sibling routing, auth provenance, cost, and rate-limit/trust caveats. Purpose is front-loaded and no sentence is filler.

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?

With an output schema present, the description needn't describe return shapes, and it instead covers the things that matter for correct invocation: credentials sourcing, polling discipline, and the trust status of 'pending'. Nothing an agent needs to call this safely is missing.

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%, so the baseline is 3, and the description adds provenance beyond the schema by stating that inbox_id, capability and access_token come from create_email_inbox. That is meaningful given the schema's own descriptions are tautological ('inbox_id parameter for list_email_messages'). It stops short of explaining format/pattern constraints, which the schema handles.

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 ('List received messages in your existing inbox') plus what is returned (message IDs and available content). It explicitly routes OTP extraction to the sibling get_email_code, so an agent can distinguish the two without opening either schema.

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?

Gives explicit prerequisite sourcing ('Pass inbox_id, capability and access_token from create_email_inbox'), names the alternative for OTP ('Use get_email_code'), and specifies polling cadence and backoff behavior on 429/503. No usage decision is left to inference.

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