removedInput schema / allOf
Removed value: -[
- {
- "if": {
- "properties": {
- "action": {
- "const": "move"
- }
- },
- "required": [
- "action"
- ]
- },
- "then": {
- "not": {
- "anyOf": [
- {
- "required": [
- "message_ids"
- ]
- },
- {
- "required": [
- "flag_action"
- ]
- },
- {
- "required": [
- "from"
- ]
- },
- {
- "required": [
- "to"
- ]
- },
- {
- "required": [
- "cc"
- ]
- },
- {
- "required": [
- "subject"
- ]
- },
- {
- "required": [
- "body"
- ]
- },
- {
- "required": [
- "text"
- ]
- },
- {
- "required": [
- "unread"
- ]
- },
- {
- "required": [
- "has_attachment"
- ]
- },
- {
- "required": [
- "flagged"
- ]
- },
- {
- "required": [
- "since"
- ]
- },
- {
- "required": [
- "before"
- ]
- },
- {
- "required": [
- "query"
- ]
- },
- {
- "required": [
- "include_folders"
- ]
- },
- {
- "required": [
- "limit"
- ]
- }
- ]
- },
- "required": [
- "message_id",
- "destination_folder_id"
- ]
- }
- },
- {
- "if": {
- "properties": {
- "action": {
- "const": "move_batch"
- }
- },
- "required": [
- "action"
- ]
- },
- "then": {
- "not": {
- "anyOf": [
- {
- "required": [
- "message_id"
- ]
- },
- {
- "required": [
- "flag_action"
- ]
- },
- {
- "required": [
- "from"
- ]
- },
- {
- "required": [
- "to"
- ]
- },
- {
- "required": [
- "cc"
- ]
- },
- {
- "required": [
- "subject"
- ]
- },
- {
- "required": [
- "body"
- ]
- },
- {
- "required": [
- "text"
- ]
- },
- {
- "required": [
- "unread"
- ]
- },
- {
- "required": [
- "has_attachment"
- ]
- },
- {
- "required": [
- "flagged"
- ]
- },
- {
- "required": [
- "since"
- ]
- },
- {
- "required": [
- "before"
- ]
- },
- {
- "required": [
- "query"
- ]
- },
- {
- "required": [
- "include_folders"
- ]
- },
- {
- "required": [
- "limit"
- ]
- }
- ]
- },
- "required": [
- "message_ids",
- "destination_folder_id"
- ]
- }
- },
- {
- "if": {
- "properties": {
- "action": {
- "const": "copy"
- }
- },
- "required": [
- "action"
- ]
- },
- "then": {
- "not": {
- "anyOf": [
- {
- "required": [
- "message_ids"
- ]
- },
- {
- "required": [
- "flag_action"
- ]
- },
- {
- "required": [
- "from"
- ]
- },
- {
- "required": [
- "to"
- ]
- },
- {
- "required": [
- "cc"
- ]
- },
- {
- "required": [
- "subject"
- ]
- },
- {
- "required": [
- "body"
- ]
- },
- {
- "required": [
- "text"
- ]
- },
- {
- "required": [
- "unread"
- ]
- },
- {
- "required": [
- "has_attachment"
- ]
- },
- {
- "required": [
- "flagged"
- ]
- },
- {
- "required": [
- "since"
- ]
- },
- {
- "required": [
- "before"
- ]
- },
- {
- "required": [
- "query"
- ]
- },
- {
- "required": [
- "include_folders"
- ]
- },
- {
- "required": [
- "limit"
- ]
- }
- ]
- },
- "required": [
- "message_id",
- "destination_folder_id"
- ]
- }
- },
- {
- "if": {
- "properties": {
- "action": {
- "const": "copy_batch"
- }
- },
- "required": [
- "action"
- ]
- },
- "then": {
- "not": {
- "anyOf": [
- {
- "required": [
- "message_id"
- ]
- },
- {
- "required": [
- "flag_action"
- ]
- },
- {
- "required": [
- "from"
- ]
- },
- {
- "required": [
- "to"
- ]
- },
- {
- "required": [
- "cc"
- ]
- },
- {
- "required": [
- "subject"
- ]
- },
- {
- "required": [
- "body"
- ]
- },
- {
- "required": [
- "text"
- ]
- },
- {
- "required": [
- "unread"
- ]
- },
- {
- "required": [
- "has_attachment"
- ]
- },
- {
- "required": [
- "flagged"
- ]
- },
- {
- "required": [
- "since"
- ]
- },
- {
- "required": [
- "before"
- ]
- },
- {
- "required": [
- "query"
- ]
- },
- {
- "required": [
- "include_folders"
- ]
- },
- {
- "required": [
- "limit"
- ]
- }
- ]
- },
- "required": [
- "message_ids",
- "destination_folder_id"
- ]
- }
- },
- {
- "if": {
- "properties": {
- "action": {
- "const": "flag"
- }
- },
- "required": [
- "action"
- ]
- },
- "then": {
- "not": {
- "anyOf": [
- {
- "required": [
- "message_id"
- ]
- },
- {
- "required": [
- "destination_folder_id"
- ]
- },
- {
- "required": [
- "from"
- ]
- },
- {
- "required": [
- "to"
- ]
- },
- {
- "required": [
- "cc"
- ]
- },
- {
- "required": [
- "subject"
- ]
- },
- {
- "required": [
- "body"
- ]
- },
- {
- "required": [
- "text"
- ]
- },
- {
- "required": [
- "unread"
- ]
- },
- {
- "required": [
- "has_attachment"
- ]
- },
- {
- "required": [
- "flagged"
- ]
- },
- {
- "required": [
- "since"
- ]
- },
- {
- "required": [
- "before"
- ]
- },
- {
- "required": [
- "query"
- ]
- },
- {
- "required": [
- "include_folders"
- ]
- },
- {
- "required": [
- "limit"
- ]
- }
- ]
- },
- "required": [
- "message_ids",
- "flag_action"
- ]
- }
- },
- {
- "if": {
- "properties": {
- "action": {
- "const": "archive"
- }
- },
- "required": [
- "action"
- ]
- },
- "then": {
- "not": {
- "anyOf": [
- {
- "required": [
- "destination_folder_id"
- ]
- },
- {
- "required": [
- "message_ids"
- ]
- },
- {
- "required": [
- "flag_action"
- ]
- },
- {
- "required": [
- "from"
- ]
- },
- {
- "required": [
- "to"
- ]
- },
- {
- "required": [
- "cc"
- ]
- },
- {
- "required": [
- "subject"
- ]
- },
- {
- "required": [
- "body"
- ]
- },
- {
- "required": [
- "text"
- ]
- },
- {
- "required": [
- "unread"
- ]
- },
- {
- "required": [
- "has_attachment"
- ]
- },
- {
- "required": [
- "flagged"
- ]
- },
- {
- "required": [
- "since"
- ]
- },
- {
- "required": [
- "before"
- ]
- },
- {
- "required": [
- "query"
- ]
- },
- {
- "required": [
- "include_folders"
- ]
- },
- {
- "required": [
- "limit"
- ]
- }
- ]
- },
- "required": [
- "message_id"
- ]
- }
- },
- {
- "if": {
- "properties": {
- "action": {
- "const": "search_and_move"
- }
- },
- "required": [
- "action"
- ]
- },
- "then": {
- "not": {
- "anyOf": [
- {
- "required": [
- "message_id"
- ]
- },
- {
- "required": [
- "message_ids"
- ]
- },
- {
- "required": [
- "flag_action"
- ]
- }
- ]
- },
- "required": [
- "destination_folder_id"
- ]
- }
- }
-]
changedInput schema / properties / action / description
Previous value: -"Operation to run. move = one message_id to destination_folder_id; move_batch = the same for up to 500 message_ids; copy = duplicate into destination_folder_id, original stays, IMAP/Outlook/Fastmail only (never Gmail); copy_batch = the same for up to 500 message_ids; flag = set read/unread/flagged on message_ids via flag_action; archive = move one message_id out of the Inbox; search_and_move = move everything matching a search, the only action the search filters apply to."New value: +"Operation to run. move = one message_id to destination_folder_id; move_batch = the same for up to 500 message_ids; copy = duplicate into destination_folder_id, original stays, IMAP/Outlook/Fastmail only (never Gmail); copy_batch = the same for up to 500 message_ids; flag = set read/unread/flagged on message_ids via flag_action; archive = move one message_id out of the Inbox. Required: move_batch: destination_folder_id; copy: message_id; copy_batch: destination_folder_id."
changedInput schema / properties / action / enum
Previous value: -[
- "move",
- "move_batch",
- "copy",
- "copy_batch",
- "flag",
- "archive",
- "search_and_move"
-]New value: +[
+ "move",
+ "move_batch",
+ "copy",
+ "copy_batch",
+ "flag",
+ "archive"
+]
removedInput schema / properties / before
Removed value: -{
- "description": "Received strictly before this date or datetime (no timezone = UTC).",
- "format": "date-or-date-time",
- "type": "string"
-}
removedInput schema / properties / body
Removed value: -{
- "description": "Text to find in the body. On Gmail this matches the whole message.",
- "type": "string"
-}
removedInput schema / properties / cc
Removed value: -{
- "description": "Cc recipient to match: address, name, or fragment.",
- "type": "string"
-}
removedInput schema / properties / flagged
Removed value: -{
- "description": "true = only flagged/starred messages. Ignored on Outlook.",
- "type": "boolean"
-}
removedInput schema / properties / from
Removed value: -{
- "description": "Sender to match: address, name, or fragment.",
- "type": "string"
-}
removedInput schema / properties / has_attachment
Removed value: -{
- "description": "true = only messages with an attachment. Ignored on generic IMAP.",
- "type": "boolean"
-}
changedInput schema / properties / idempotency_key / description
Previous value: -"Opaque key for one operation, outbound or mailbox mutation. Reuse it only when retrying the identical request within 24 hours: the retry is collapsed, not repeated, which matters most for copy. Reuse with different arguments is rejected; omit it for normal behaviour."New value: +"Reuse only when retrying the identical request within 24 hours; the retry is collapsed, not repeated. Reuse with different arguments is rejected."
changedInput schema / properties / inbox / description
Previous value: -"Inbox email address; an alternative to inbox_id, which wins when both are given."New value: +"Inbox email address, an alternative to inbox_id."
changedInput schema / properties / inbox_id / description
Previous value: -"Inbox UUID. Optional when the key has exactly one inbox. Otherwise pass this or `inbox`; omit both and the error lists every inbox_id."New value: +"Inbox UUID from inbox_list. Optional when the key has one inbox; pass this or `inbox`, not both."
removedInput schema / properties / include_folders
Removed value: -{
- "description": "Folder names to search. IMAP covers INBOX only when omitted.",
- "items": {
- "type": "string"
- },
- "type": "array"
-}
removedInput schema / properties / limit
Removed value: -{
- "description": "Cap on messages moved. Default 500.",
- "maximum": 500,
- "minimum": 1,
- "type": "number"
-}
changedInput schema / properties / message_ids / description
Previous value: -"Provider-native message ids to move."New value: +"Provider-native message ids to move. Duplicates are removed, first occurrence kept, so succeeded counts distinct messages."
removedInput schema / properties / query
Removed value: -{
- "description": "Provider-native raw query (escape hatch); prefer the structured fields. Ignored on Fastmail.",
- "type": "string"
-}
removedInput schema / properties / since
Removed value: -{
- "description": "Received on or after this date or datetime (no timezone = UTC).",
- "format": "date-or-date-time",
- "type": "string"
-}
removedInput schema / properties / subject
Removed value: -{
- "description": "Text to match in the subject; phrases match as-is.",
- "type": "string"
-}
removedInput schema / properties / text
Removed value: -{
- "description": "Text to match anywhere, headers included.",
- "type": "string"
-}
removedInput schema / properties / to
Removed value: -{
- "description": "To recipient to match: address, name, or fragment.",
- "type": "string"
-}
removedInput schema / properties / unread
Removed value: -{
- "description": "true = unread only; false = read only; omit for both.",
- "type": "boolean"
-}
changedOutput schema / (root)
Previous value: -nullNew value: +{
+ "additionalProperties": true,
+ "properties": {
+ "failed": {
+ "type": "integer"
+ },
+ "has_more": {
+ "description": "True when messages matching the query were left UNTOUCHED because of the limit. Check this before reporting the sweep complete: re-run until it is false.",
+ "type": "boolean"
+ },
+ "inbox_id": {
+ "type": "string"
+ },
+ "notes": {
+ "description": "Server notes about how this call was handled — for example an argument that was not applied because the selected action does not accept it. Written by MCP Emails, not taken from any message, and absent when there is nothing to report.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "operation": {
+ "type": "string"
+ },
+ "succeeded": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+}