Skip to main content
Glama

Send email

send_email
Destructive

Send email from the member's Applystead Mailbox: drafts, replies, held replies, drafted replies, outreach and campaigns, and turn automatic replies on or off. Actions: send_draft, reply, confirm_held_reply, send_ai_reply, full_auto_replies, send_outreach, send_campaign. Call with action "help" for each action's fields.

Input Schema

NameRequiredDescriptionDefault
keyNoThe item's key as the matching list answered it.
actionYes
paramsNoFields for the action. Call with action "help" to list each action's fields.
draft_idNoA Mailbox draft's id (32 hex).
campaign_idNoA campaign's id from get_outreach campaigns (campaigns[].id).
outreach_idNoAn outreach message or thread id from get_outreach.
mail_message_idNoA received message's id: its Mailbox id (i-…) or the same id without "i-" (a calendar event's or RSVP draft's mailMessageId); either works.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / action / enum
      Previous value: -[
      -  "send_draft",
      -  "reply",
      -  "confirm_held_reply",
      -  "send_ai_reply",
      -  "full_auto_replies",
      -  "send_outreach",
      -  "help"
      -]New value: +[
      +  "send_draft",
      +  "reply",
      +  "confirm_held_reply",
      +  "send_ai_reply",
      +  "full_auto_replies",
      +  "send_outreach",
      +  "send_campaign",
      +  "help"
      +]
    • addedInput schema / properties / campaign_id
      Added value: +{
      +  "description": "A campaign's id from get_outreach campaigns (campaigns[].id).",
      +  "pattern": "^[a-f0-9]{32}$",
      +  "type": "string"
      +}
  2. Changed2 schema fields changed
    • changedInput schema / properties / mail_message_id / description
      Previous value: -"A received message's id: a calendar event's mailMessageId, or a Mailbox message id (i-…) without its leading \"i-\"."New value: +"A received message's id: its Mailbox id (i-…) or the same id without \"i-\" (a calendar event's or RSVP draft's mailMessageId); either works."
    • changedInput schema / properties / outreach_id / description
      Previous value: -"An outreach message or thread id from outreach."New value: +"An outreach message or thread id from get_outreach."
  3. Added

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=true, idempotentHint=false and openWorldHint=true, so the agent knows this mutates state irreversibly and reaches outside the system. The description adds real value by revealing that the tool's surface spans both true sends and a settings toggle (full_auto_replies turns automatic replies on or off), which is not visible from the name alone. It still omits what a successful send returns and any permission or throttling constraints.

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 purpose, then the action list, then the help affordance in two tight sentences. The long action enumeration earns its space because it is the tool's actual dispatch contract, though the list could have been ordered or grouped (sends vs. the auto-reply toggle) for faster scanning.

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 7-parameter dispatcher with a free-form nested params object and no output schema, the description supplies the essential missing piece (how to learn each action's fields) and clarifies the mode-switching action. It stops short of describing return values or failure behavior, but with no output schema that is the main remaining gap rather than a fatal one.

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

Parameters4/5

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

Schema coverage is 86%, so the schema already documents key, draft_id, campaign_id, outreach_id and mail_message_id. The description compensates for the one real gap: the free-form nested 'params' object, by explaining that each action's fields are enumerated via action "help" — meaning the agent knows how to discover the per-action contract it cannot see 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 ('Send email from the member's Applystead Mailbox') and then enumerates the exact action surface (send_draft, reply, confirm_held_reply, send_ai_reply, full_auto_replies, send_outreach, send_campaign). An agent can immediately tell this is a single dispatch tool covering all outbound mail actions rather than one of the read-side siblings like get_mailbox or get_outreach.

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?

Usage is implied by the action enum and the explicit 'Call with action "help" for each action's fields' hint, which is a useful operational instruction. However, there is no when-to-use/when-not guidance and no routing against alternatives such as manage_mailbox or manage_outreach, which the agent must infer.

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.