Skip to main content
Glama
codefuturist

Email MCP Server

by codefuturist

Schedule email

schedule_email

Schedule emails for a specific future time. They are queued locally and sent automatically when the time arrives.

Instructions

Schedule an email to be sent at a specific time in the future. The email is queued locally and sent automatically when the time arrives.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
ccNoCC recipients
toYesRecipient email addresses
bccNoBCC recipients
bodyYesEmail body
htmlNoSend as HTML (default: false)
accountYesAccount name to send from
send_atYesWhen to send (ISO 8601 datetime, e.g. '2025-02-20T09:00:00Z')
subjectYesEmail subject
referencesNoFull References chain (the original References plus its Message-ID). Most clients thread on this, so pass it whenever scheduling a reply.
in_reply_toNoMessage-ID to reply to

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv0.6.0
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • addedInput schema / properties / references
      Added value: +{
      +  "description": "Full References chain (the original References plus its Message-ID). Most clients thread on this, so pass it whenever scheduling a reply.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
  2. First observedv0.2.3

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false and destructiveHint=false, so the write nature is covered. The description adds genuinely useful non-obvious behavior ('queued locally and sent automatically when the time arrives'), but omits critical operational facts: whether the scheduled send survives app restart, what happens if send_at is in the past, and whether/how it can be cancelled.

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 tight sentences with zero filler; the timing constraint is front-loaded in the first sentence and the delivery mechanism follows. Nothing is redundant or padded.

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 10-parameter mutation tool with no output schema, the description covers purpose and queue behavior adequately, and the schema handles parameters. What is missing is lifecycle context: how this relates to list_scheduled/cancel_scheduled and what guarantees the local queue provides.

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% with 10 well-documented parameters (including threading guidance on references/in_reply_to), so the schema carries the parameter burden. The description adds no syntax or format detail beyond what is already there, making the baseline 3 appropriate.

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?

States a specific verb and resource ('Schedule an email') plus the defining constraint ('at a specific time in the future'), which separates it from the immediate send_email sibling. It does not name that sibling explicitly, so the routing distinction is implied rather than stated.

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 'in the future' implies when to reach for this over send_email, but the description never says so outright and offers no exclusions or prerequisites. Related siblings (list_scheduled, cancel_scheduled) are never referenced, so the agent must infer the workflow.

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