Open a reply or draft composer
compose_replyOpen a reply or new-draft composer to prefill recipients, subject, body, quoted text and attachments for review, then save an unsent draft; nothing is sent.
Instructions
Open a reply or new-draft composer: the default for any request to reply, draft a reply, write back or compose.
Prefer it to create_draft, the no-view path. Pass message_id to reply to that message, draft_id to reopen a saved draft for editing, or neither for a new draft, blank or prefilled with to, cc, subject and body, which apply only then. This tool never sends, in any mode, and writes nothing itself.
A reply prefills To (Reply-To, else From; a reply to your own message goes to its recipients), Cc with the other recipients when reply_all=true (never this account's addresses), a Re: subject, In-Reply-To and the quoted text. It reads only that one message with read_thread's bounds (include_thread=false). In MCP Apps hosts the view saves with create_draft, so each save appends one unsent draft and an edited draft is saved as a new one; nothing is sent from the view and no draft is deleted. An edited draft keeps its attachments, listed in attached; a reply only offers the original's unless that is a saved draft. attachments adds files by their paths relative to the allowed folder (PROTON_MCP_ATTACHMENTS_DIR). from_address starts from an address list_from_addresses allows; a reopened draft keeps an allowed one, and the view offers the allowed ones.
Returns the prefilled fields, the From address and warnings as text; size_note says which sizes in attached are encoded byte counts and which decoded. create_draft writes no Bcc, so a draft that has it returns it in not_copied with a warning that the new draft leaves it out. Without a view, show the returned fields and warnings to the user and call create_draft, which needs a recipient, only after they agree. An incomplete seed lookup returns a retryable error with partial_reason and any index_note/index_status, without draft fields; it does not establish that the message or draft is absent. Missing files, both ids, or reply_all without message_id refuse.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| cc | No | An address or a list, only with neither message_id nor draft_id. | |
| to | No | An address or a list, only with neither message_id nor draft_id. | |
| body | No | Prefilled text, only with neither message_id nor draft_id. | |
| subject | No | A prefilled subject, only with neither message_id nor draft_id. | |
| draft_id | No | Reopen this saved draft, by its RFC Message-ID. Pass at most one of message_id and draft_id. | |
| reply_all | No | Cc the other recipients, never this account's. Needs message_id. | |
| message_id | No | Reply to this message, by its RFC Message-ID. Pass at most one of message_id and draft_id. | |
| attachments | No | File paths relative to the allowed folder to add; missing files refuse. | |
| from_address | No | Use this From address instead of the default: one that list_from_addresses allows, exactly as listed. |