Skip to main content
Glama
Sendmux Email Inbox API + Sending

Sendmux Email Inbox API + Sending

Official
by qubrics

List Messages

qubrics_mailbox_list_messages
Read-onlyIdempotent

Scan mailbox messages with cursor-based pagination and filters for folder, sender, recipient, dates, keywords, unread status, or attachments without fetching full message bodies.

Instructions

Use this to scan mailbox messages by cursor without fetching full bodies. Filter by folder_id, keyword/not_keyword, dates, sender/recipient, text query, unread state, or has_attachment; attachment metadata includes a short-lived download_url.

Input Schema

NameRequiredDescriptionDefault
qNoFull-text search query across message fields.
ccNoFilter by CC recipient email address or display name.
toNoFilter by To recipient email address or display name.
bccNoFilter by BCC recipient email address or display name.
bodyNoFilter by message body text.
fromNoFilter by sender email address or display name.
afterNoFilter to messages after this ISO 8601 timestamp.
limitNoMaximum results (default 50, max 100).
beforeNoFilter to messages before this ISO 8601 timestamp.
cursorNoPagination cursor — the `next_cursor` from the previous response.
keywordNoRequire this message keyword, such as `$seen`.
sort_byNoMessage field to sort by.
subjectNoFilter by subject text.
folder_idNoFilter to messages in this folder ID.
is_unreadNoWhen true, only return unread messages.
thread_idNoFilter to messages in this thread ID.
mailbox_idNoMailbox public ID to target when the credential grants access to more than one mailbox. Omit when the credential is scoped to exactly one mailbox.
header_nameNoHeader name to match with `header_value`.
not_keywordNoExclude messages with this keyword.
header_valueNoHeader value to match with `header_name`.
has_attachmentNoWhen true, only return messages with attachments.
max_size_bytesNoMaximum message size in bytes.
min_size_bytesNoMinimum message size in bytes.
sort_directionNoSort direction.

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.0.17

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, non-destructive behavior, so the description's contribution is the extras: cursor-based pagination and the notable detail that attachment metadata carries a 'short-lived download_url', which an agent would otherwise not anticipate. It stops short of stating default page size or result ordering beyond what the schema documents.

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?

A single front-loaded sentence with the purpose first and the filter inventory second; semicolons carry the sub-points without filler. Every clause contributes either scope or capability information.

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 24-parameter list tool with an output schema and full annotations, the description covers purpose, the no-body constraint, pagination, and the short-lived download_url caveat. The remaining gaps (sorting behavior, multi-mailbox scoping nuance) are adequately handled by schema parameter descriptions, so nothing essential is missing.

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 100%, so the schema already explains all 24 parameters individually; the description only groups a subset (folder_id, keyword/not_keyword, dates, sender/recipient, text query, unread, has_attachment) into a readable summary. It adds the useful pairing of keyword with not_keyword, but omits sort_by, thread_id, mailbox_id, header matching, and size bounds.

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?

The description opens with a specific verb and resource ('scan mailbox messages by cursor') and immediately scopes what it does not do ('without fetching full bodies'), which distinguishes it from get_message and batch_get_messages. It doesn't name any sibling tool explicitly, so the differentiation is inferential rather than explicit.

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

Usage Guidelines3/5

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

The phrase 'without fetching full bodies' implies this is the lightweight/preview path and that a different tool is needed for full content, but no alternatives are named and no when-not conditions are given. An agent must infer from sibling names whether to use this versus search_message_snippets, list_thread_messages, or count_messages.

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