update_message
Change read state, flag, and move multiple Apple Mail messages in a single atomic operation. Specify only fields to update.
Instructions
Update one or more messages: change read state, flag, and/or move, in one atomic call (#135).
Patch semantics — caller specifies only the fields to change. All
specified mutations apply in a single AppleScript pass via the
bulk-update helper. Replaces the previous mark_as_read,
move_messages, and flag_message tools.
Order of operations (matters for IMAP): read-state and flag changes apply first (in source mailbox), then the move. IMAP requires the message to exist in the source folder for STORE before MOVE.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"message_ids": "<message_ids>"
},
"name": "update_message"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | Account name or UUID hosting the destination mailbox. Required when `destination_mailbox` is set; also used with `source_mailbox` for narrow-path optimization. | |
| flagged | No | True to flag (default red if no `flag_color` set), False to clear the flag, None to leave unchanged. | |
| flag_color | No | Color name (orange, red, yellow, blue, green, purple, gray, none). Implies `flagged=True` unless "none". Validated against the existing flag-color schema. | |
| gmail_mode | No | Use Gmail-specific copy+delete instead of MOVE. | |
| message_ids | Yes | List of message IDs to update. | |
| read_status | No | True to mark as read, False to mark as unread, None to leave unchanged. | |
| source_mailbox | No | Source mailbox name. With `account`, narrows the AppleScript scan to one mailbox (O(N) instead of cross-scan). | |
| destination_mailbox | No | Move messages here (requires `account`). |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||