Skip to main content
Glama

messages_send_email

Destructive

Compose and send an email — with subject, CC/BCC, and attachments. Use for email; for chat messages (Telegram/WhatsApp/livechat) use messages.send instead.

Input Schema

NameRequiredDescriptionDefault
ccNoEmail addresses to CC. OMIT to skip.
bccNoEmail addresses to BCC. OMIT to skip.
textNoEmail body.
subjectNoEmail subject line. Required for new emails; for replies it auto-generates 'Re: ...' when omitted.
attachmentsNoArray of integer file IDs to attach.
in_workspaceNoRun this one call in this workspace id instead of the session's. Nothing is stored; other sessions are not affected.
from_account_idNoWhich of the workspace's mailboxes SENDS an email to recipient_email (an id from channels.list). With several mailboxes and none named, an address one mailbox already writes with goes from that mailbox, any other is refused with the list. A mailbox outside the workspace is refused, never swapped. A reply in the current thread (no recipient_email) goes from that thread's mailbox.
recipient_emailNoRecipient email address (e.g. 'john@example.com'). Provide to start a new email thread; OMIT to reply in the current email thread.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / from_account_id
      Added value: +{
      +  "description": "Which of the workspace's mailboxes SENDS an email to recipient_email (an id from channels.list). With several mailboxes and none named, an address one mailbox already writes with goes from that mailbox, any other is refused with the list. A mailbox outside the workspace is refused, never swapped. A reply in the current thread (no recipient_email) goes from that thread's mailbox.",
      +  "type": "integer"
      +}
  2. Changed1 schema field changed
    • addedInput schema / properties / in_workspace
      Added value: +{
      +  "description": "Run this one call in this workspace id instead of the session's. Nothing is stored; other sessions are not affected.",
      +  "type": "integer"
      +}
  3. Added
  4. Removed
  5. Added

TDQS

A4.2/5.0
Behavior3/5

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

The annotations already declare destructiveHint=true, openWorldHint=true, and idempotentHint=false, carrying the safety profile. The description confirms this is a send action but adds no behavioral context beyond the annotations, such as irreversibility, mailbox/permission constraints, or rate limits that would go beyond the schema. Adequate given annotation coverage, but no extra value.

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 short sentences, zero waste, and the email-vs-chat routing is front-loaded right after the core purpose. Every clause earns its place.

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?

With full schema coverage and a rich set of annotations, plus no output schema requirement, the description gives an agent what it needs to select and call correctly. Minor gap: it doesn't mention that the send is irreversible or how replies vs new threads are chosen at a high level, though the schema covers the latter.

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 all 8 parameters are already documented in the schema with useful detail (e.g. recipient_email reply-vs-new semantics, from_account_id mailbox rules). The description only restates the high-level fields (subject, CC/BCC, attachments) and adds no semantics beyond the schema. Baseline 3 applies.

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+resource (compose and send an email) and enumerates the included fields (subject, CC/BCC, attachments). It explicitly contrasts with the chat sibling messages_send, so an agent can discriminate without opening either schema.

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

Usage Guidelines5/5

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

Provides explicit when-to-use ('Use for email') and a named alternative with its condition ('for chat messages (Telegram/WhatsApp/livechat) use messages.send instead'). This directly resolves the most likely sibling confusion.

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