Skip to main content
Glama

List Emails

email_list
Read-onlyIdempotent

List emails with cursor pagination. Returns lightweight per-email records plus a pagination object — pass pagination.nextCursor back as cursor for the next page. Use email_get for the full body, email_search to find specific messages.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMax emails to return per page (1-100, default 20).
cursorNoOpaque pagination cursor from a previous response's `pagination.nextCursor`. Omit for the first page.
labelsNoOnly return messages carrying ALL of these labels. System labels: `unread`, `read`, `archived`, `spam`. Case-insensitive. Use email_label to change them.
agentIdNoFilter emails by agent ID. Agent-scoped keys are already limited to their own agent; master keys see the whole workspace unless filtered.
includeSpamNoInclude messages classified as spam on arrival. Excluded by default. Naming `spam` in `labels` also counts as asking for it.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
countNo
itemsNo
totalNo
cursorNo
has_moreNo
next_offsetNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnly, openWorld, idempotent, and non-destructive behavior. The description adds useful behavioral detail by noting it returns lightweight per-email records plus a pagination object and does not return full bodies, which supplements the annotations without contradicting them.

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?

Two sentences are tight and highly informative, covering return shape, pagination flow, and pointers to sibling tools without any fluff or redundancy.

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?

The description is complete for a paginated list tool: it explains the return style, pagination continuation, and how to get full content or search, which is exactly the context an agent needs. The output schema exists, so the description does not need to enumerate the record fields.

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 all five parameters are already well documented. The description does not need to add much; it only reinforces the cursor pagination semantics, which are already in the schema.

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 emails') and clearly distinguishes itself from email_get and email_search by noting what it returns (lightweight records with pagination) versus what those siblings do. An agent can immediately tell this apart from related email tools.

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?

Explicitly tells the agent when to use alternatives: use email_get for the full body and email_search to find specific messages. It also gives the pagination workflow by instructing to pass pagination.nextCursor back as cursor.

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.