TOOL REFERENCE / SOURCE GENERATEDMAILMAN MCP / MAIL
email_update_draft
Replaces the content of an existing unsent draft. Still sends nothing. Use it to apply the user's edits to a draft you already created rather than creating a second one. Every field you supply replaces the draft's current value, so send the full recipient list and full body, not just the part that changed. account_id must be the mailbox that owns the draft.
Input fields
{
"type": "object",
"properties": {
"account_id": {
"type": "string",
"minLength": 1,
"description": "The connected mailbox to act on, from email_accounts_list. Never guess this value and never reuse one across mailboxes — it selects both the credential and the permission set the call runs under."
},
"draft_id": {
"type": "string",
"minLength": 1,
"description": "A draft id from email_create_draft (draft_...)."
},
"to": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
},
"description": "The complete recipient list after the update. This replaces the draft's existing To list rather than adding to it; pass [] to clear it."
},
"cc": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string",
"minLength": 1
}
},
{
"type": "null"
}
]
},
"bcc": {
"description": "Blind copies. Other recipients cannot see these addresses.",
"anyOf": [
{
"type": "array",
"items": {
"type": "string",
"minLength": 1
}
},
{
"type": "null"
}
]
},
"subject": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"text_body": {
"description": "Plain-text body. Prefer this unless HTML is needed.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"html_body": {
"description": "HTML body. Supply text_body too so non-HTML clients render something.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"attachments": {
"description": "Files to attach. Supply either content_base64 or source_url per item.",
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"filename": {
"type": "string",
"minLength": 1
},
"content_type": {
"type": "string",
"minLength": 1,
"description": "MIME type, e.g. application/pdf."
},
"content_base64": {
"description": "Base64 content. Use for small files.",
"type": "string"
},
"source_url": {
"description": "URL the server fetches instead of inline content.",
"type": "string"
},
"size_bytes": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"filename",
"content_type"
]
}
},
{
"type": "null"
}
]
}
},
"required": [
"account_id",
"draft_id",
"to"
]
}Tool behavior
May change provider state. Check the explicit account, required access and provider capabilities before invoking.
Inspect isError and per-account errors. General write tools do not all enforce exact-plan approval. This reference does not certify any current AI client version.

YOUR AI POSTAL SYSTEMYOUR INBOXES.
Get started
YOUR INBOXES.
UNDER CONTROL.
Get started Start with a free account and one read-only search. Existing accounts keep their connection.