Skip to main content
Glama

Mail: Schedule send

mail_schedule_send
Destructive

Queue a letter to go out at a moment you name instead of now — 'send this Monday morning'. Same addressing as mail_send, including reply_to_message_id. It can be called back with mail_cancel_scheduled right up until it leaves. CONFIRMATION: this tool is PROPOSED, never performed directly. You get status='confirmation_required' with an action_id and a plan_token, and the write happens only after confirm_action.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "body": "<body>",
      "send_at": "<send_at>"
    },
    "name": "mail_schedule_send"
  }
}

Input Schema

NameRequiredDescriptionDefault
ccNo
toNo
bodyYes
mailboxNo
send_atYesISO-8601 datetime with a timezone, in the future.
subjectNo
attach_partNo
attachmentsNoFiles to attach, at most 10 and 25 MB in total. Each item is EITHER {from_message_id, part} — an attachment of a message (id from mail_list_messages, part from mail_get_message) — OR {document_id} — one of the caller's own Documents. To attach a file you generated, store it with upload_document_base64 and pass the document_id it returns; raw file content is not accepted here.
reply_to_message_idNo
attach_from_message_idNoOlder single-file form of attachments: forward a file that arrived on another message.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior5/5

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

Goes well beyond the destructive/openWorld annotations by disclosing the two-phase confirmation contract: the tool is only proposed, returns status='confirmation_required' with action_id and plan_token, and the write occurs only after confirm_action. It also states reversibility (cancellable until it leaves), which annotations cannot express.

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?

Front-loaded with the core behavior, then the sibling relationship, then a clearly labeled CONFIRMATION block. A little prose flourish ('at a moment you name') but no sentence is wasted.

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?

The behavioral/confirmation half is complete, but for a 10-parameter mutation with no output schema and thin schema coverage, the description leaves most parameters unexplained and never says what a successful scheduling returns (e.g., a scheduled message id).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 30% across 10 parameters, so the description should compensate, but it only references reply_to_message_id and defers the rest to mail_send's addressing rules. Nothing is said about send_at format expectations, attachments, cc, mailbox, or the legacy attach_from_message_id/attach_part fields.

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 ('Queue a letter to go out at a moment you name instead of now') and immediately contrasts it with mail_send, so the deferred-send purpose is unambiguous without opening the schema.

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?

Clear routing: use this instead of mail_send when the send time is not 'now', and it names mail_cancel_scheduled as the reversal path up until dispatch. It does not spell out exclusions (e.g., past times, mailbox scoping), which keeps it short of a 5.

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