# MCP tools for drafts and sending

Draft tools save mail without sending it: `create_draft`, `update_draft`, `create_reply_draft`, `create_forward_draft` and `delete_draft`. Send tools send real mail: `send_message`, `send_draft`, `send_reply` and `send_forward`. A send returns `sent`, or `held` when it needs your review, such as a first-time external recipient. Held mail waits in Drafts for you to send from webmail.

## When to use it

> Meera asks, "Draft a reply to Anil saying the contract is approved." The assistant calls `create_reply_draft` with her text. She opens Drafts in webmail, checks it and clicks Send.

## Draft tools

| Tool | Arguments | Permission |
|---|---|---|
| `create_draft` | `to` (required), `subject`, `body`, `cc`, `bcc`, `attachments` | Save drafts |
| `update_draft` | `mail_id`, `to` (both required), `subject`, `body`, `cc`, `bcc`, `attachments` | Save drafts |
| `delete_draft` | `mail_id` (required) | Save drafts |
| `create_reply_draft` | `mail_id` (required), `body`, `reply_all`, `include_quote` (default on), `attachments` | Reply/forward, Save drafts, Read email |
| `create_forward_draft` | `mail_id`, `to` (both required), `body`, `cc`, `include_attachments` (default on), `attachments` | Reply/forward, Save drafts, Read email |

## Send tools

| Tool | Arguments | Permission |
|---|---|---|
| `send_message` | `to` (required), `subject`, `body`, `cc`, `bcc`, `attachments`, `idempotency_key` | Send email |
| `send_draft` | `mail_id` (required), `idempotency_key` | Send email |
| `send_reply` | `mail_id` (required), `body`, `reply_all`, `include_quote`, `attachments`, `idempotency_key` | Send email, Reply/forward, Read email |
| `send_forward` | `mail_id`, `to` (both required), `body`, `cc`, `include_attachments`, `attachments`, `idempotency_key` | Send email, Reply/forward, Read email |

## Good to know

- Bodies are plain text; blank lines separate paragraphs. Replies fill in recipients, the Re: subject, threading and the quoted original.
- Editing a draft with `update_draft` gives it a new `mail_id`; the old version goes to Trash.
- Attachments are sent as base64 with a file name and type: at most 10 files and 10 MB per call, and 15 MB per draft.
- Up to 20 recipients per sent message, and 50 per draft. Sends are limited to 20 per hour and 100 per day.
- `DELIVERY_UNKNOWN` means the connection dropped while sending. Check Sent before trying again.
- Mail sent by an assistant carries a signed `X-XgenPlus-MCP-Agent` header.

## Common questions

**Why did my send come back as held?**

The send policy wants a person to check it, for example a first-time external recipient or attachments leaving your domain. Review it in Drafts and send it from webmail.

**Could a retry send the same mail twice?**

Not when the same idempotency_key is reused. Without a key, an identical send within 10 minutes is treated as a retry and is not sent again.


Source: https://docs.xgenplus.com/developers/mcp-tools-drafts-and-sending/
