move_to_mailbox
Moves an email from one mailbox to another within the same account using exact folder names or @aliases like @archive or @trash. Requires confirm=true after user approval.
Instructions
[DESTRUCTIVE] Move a message from one mailbox to another within the same account.
This tool refuses without confirm=true. Always surface the planned
move to the user and get explicit approval before passing confirm=true —
moving a message changes user-visible state (especially when the target
is Trash, Junk, or Archive). Reversible by moving back, but disruptive.
Both mailbox and target_mailbox accept either an exact mailbox name
OR a localization-aware alias starting with "@":
@inbox, @archive, @drafts, @sent, @trash, @junk
The MCP resolves the alias against the account's actual folder names
(e.g. @archive → "Archivo" on a Spanish-localized M365 account, "Archive"
on iCloud English). The returned to_mailbox field is the resolved
literal name so callers can log accurately.
Args:
account, mailbox, id: As returned by search_messages.
target_mailbox: Destination — exact name or @alias.
confirm: Must be true to actually perform the move. False (default)
returns a CONFIRM_REQUIRED envelope describing the action.
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": {
"account": "<account>",
"mailbox": "<mailbox>",
"id": "<id>",
"target_mailbox": "<target_mailbox>"
},
"name": "move_to_mailbox"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| account | Yes | ||
| confirm | No | ||
| mailbox | Yes | ||
| target_mailbox | Yes |