Skip to main content
Glama
Sendmux Email Inbox API + Sending

Sendmux Email Inbox API + Sending

Official
by qubrics

Edit Saved Draft

qubrics_mailbox_update_draft

Edit a saved email draft without sending it, using the reviewed expected revision; if a revision conflict occurs, reload the draft before another edit.

Instructions

Edit a saved draft without sending it. Requires mailbox.read and mailbox.drafts.write. Pass the reviewed expected_revision; reload after a conflict before making another edit.

Input Schema

NameRequiredDescriptionDefault
ccNoVisible copied recipients.
toNoPrimary recipients; at most 50 total across To, Cc and Bcc.
bccNoHidden copied recipients.
fromNoAuthorised sender; defaults to this inbox.
draftIdYesStable draft ID.
subjectNoSubject; may be empty.
If-MatchNoCurrent draft ETag; expected_revision is also required.
reply_toNoAuthorised reply addresses; defaults to this inbox.
html_bodyNoHTML body, preserved when saved.
text_bodyNoPlain-text body.
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.
attachmentsNoAttachments and inline images.
custom_headersNoCustom X-* headers. Writes reject X-SES-TENANT, X-SES-CONFIGURATION-SET and X-SES-MESSAGE-TAGS case-insensitively. On updates, omit this field to preserve saved headers, or pass {} to clear them.
expected_revisionYesThe revision that was reviewed; a stale value returns conflict.

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.0.17

TDQS

A4.1/5.0
Behavior4/5

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

Beyond the annotations, the description discloses required permissions and optimistic-concurrency behavior, including conflict handling and reload guidance. This adds meaningful operational context for a non-idempotent update tool. It does not explain whether unspecified fields are preserved or cleared, which is a notable remaining behavioral gap.

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 two compact sentences with no wasted wording. The core action and the critical concurrency instruction are front-loaded and easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex 14-parameter draft update with nested recipients and attachments, the description covers permissions and revision conflicts but leaves update semantics ambiguous. It does not say whether omitted fields preserve existing draft content or clear it, which is important for correct invocation. The presence of a detailed schema and output schema reduces the burden, but the core update-style behavior remains underspecified.

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 the schema already documents all parameters in detail. The description reinforces expected_revision semantics and conflict recovery but does not otherwise add parameter-level meaning beyond 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?

The description states a specific verb and resource: editing a saved draft. The clause 'without sending it' clearly distinguishes the tool from send_draft and makes the operation's scope immediately understandable.

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?

It gives clear usage context: edit a draft, do not send it, and provide the reviewed expected_revision. It also tells the agent to reload after a conflict before retrying. It stops short of explicitly naming create_draft or send_draft as alternatives, but the non-sending boundary is still clear.

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