{"server":"co.lumman/mail","count":30,"tools":[{"name":"drafts_create","title":"Draft a message","description":"Compose a message in a connected mailbox and keep it there as a draft.","input_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["mailbox","to","subject","body"],"properties":{"cc":{"type":"array","items":{"type":"string","format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"description":"Who to copy."},"to":{"type":"array","items":{"type":"string","format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"minItems":1,"description":"Who the message is addressed to."},"bcc":{"type":"array","items":{"type":"string","format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"description":"Who to blind-copy. The other recipients are not told."},"body":{"type":"string","minLength":1,"description":"The message text."},"html":{"type":"string","minLength":1,"description":"The message as HTML, for formatting; body stays its plain-text version. An Outlook mailbox keeps only the HTML and writes the plain version from it."},"mailbox":{"type":"string","minLength":1,"description":"The mailbox's name or its email address."},"subject":{"type":"string","description":"The subject line."},"attachments":{"type":"array","items":{"anyOf":[{"type":"object","required":["mailbox","messageId","attachmentId"],"properties":{"mailbox":{"type":"string","minLength":1,"description":"The mailbox holding the message the file is in, of the same provider as the one written from."},"messageId":{"type":"string","pattern":"^[A-Za-z0-9_=-]{1,512}$","description":"The provider's own identifier."},"attachmentId":{"type":"string","pattern":"^(?:\\d+(?:\\.\\d+)*|[A-Za-z0-9_=-]+)$","maxLength":2048,"description":"An attachment id, as a message read named it."}}},{"type":"object","required":["filename","mimeType","content"],"properties":{"content":{"type":"string","format":"base64","pattern":"^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$","description":"The file's own bytes, base64.","contentEncoding":"base64"},"filename":{"type":"string","minLength":1,"description":"What the file is called."},"mimeType":{"type":"string","minLength":1,"description":"The file's media type."}}}]},"description":"Files to carry: one held by a connected mailbox of the draft's own provider, or content you write out."}}},"output_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["id"],"properties":{"id":{"type":"string"},"link":{"type":"string"},"threadId":{"type":"string"},"previousVersionId":{"type":"string"}},"additionalProperties":false},"annotations":{"title":"Draft a message","readOnlyHint":false,"openWorldHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-16T12:16:52.168Z"},{"name":"drafts_delete","title":"Discard a draft","description":"Throw away a draft. Nothing already sent is touched. Gmail mailboxes only: an Outlook draft keeps its identifier once sent, so discarding one could delete sent mail.","input_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["mailbox","id"],"properties":{"id":{"type":"string","pattern":"^[A-Za-z0-9_=-]{1,512}$","description":"The id a draft tool answered, or the draftId a search or a read answered."},"mailbox":{"type":"string","minLength":1,"description":"The mailbox's name or its email address."}}},"output_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["discarded"],"properties":{"discarded":{"type":"boolean"}},"additionalProperties":false},"annotations":{"title":"Discard a draft","readOnlyHint":false,"openWorldHint":false,"destructiveHint":true},"source":"probe","observed_at":"2026-10-16T12:16:52.168Z"},{"name":"drafts_forward","title":"Draft a forward","description":"Compose a forward of a message as a draft, with the files it carries and inside the thread it already sits in. Nothing leaves the mailbox until the draft is sent.","input_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["mailbox","messageId","to"],"properties":{"cc":{"type":"array","items":{"type":"string","format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"description":"Who to copy."},"to":{"type":"array","items":{"type":"string","format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"minItems":1,"description":"Who the forward is addressed to."},"bcc":{"type":"array","items":{"type":"string","format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"description":"Who to blind-copy. The other recipients are not told."},"html":{"type":"string","minLength":1,"description":"Your own words as HTML, for formatting; note stays their plain-text version. An Outlook mailbox keeps only the HTML and writes the plain version from it."},"note":{"type":"string","description":"Your own words, above the message forwarded."},"mailbox":{"type":"string","minLength":1,"description":"The mailbox's name or its email address."},"messageId":{"type":"string","pattern":"^[A-Za-z0-9_=-]{1,512}$","description":"The provider's own identifier."}}},"output_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["id"],"properties":{"id":{"type":"string"},"link":{"type":"string"},"threadId":{"type":"string"},"previousVersionId":{"type":"string"}},"additionalProperties":false},"annotations":{"title":"Draft a forward","readOnlyHint":false,"openWorldHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-16T12:16:52.168Z"},{"name":"drafts_reply","title":"Draft a reply","description":"Compose a reply to a message as a draft, inside the thread it answers and quoting it below the reply: to whoever wrote it, or with replyAll to everyone on it. Nothing leaves the mailbox until the draft is sent.","input_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["mailbox","messageId","body"],"properties":{"cc":{"type":"array","items":{"type":"string","format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"description":"Who to copy, instead of those replyAll copies."},"to":{"type":"array","items":{"type":"string","format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"minItems":1,"description":"Who the reply goes to, instead of whoever wrote the message and, with replyAll, those it was sent to."},"bcc":{"type":"array","items":{"type":"string","format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"description":"Who to blind-copy. The other recipients are not told."},"body":{"type":"string","minLength":1,"description":"The reply text."},"html":{"type":"string","minLength":1,"description":"The message as HTML, for formatting; body stays its plain-text version. An Outlook mailbox keeps only the HTML and writes the plain version from it."},"mailbox":{"type":"string","minLength":1,"description":"The mailbox's name or its email address."},"replyAll":{"type":"boolean","description":"Also address everyone the message was sent to and copied - never its blind copies, never this mailbox."},"messageId":{"type":"string","pattern":"^[A-Za-z0-9_=-]{1,512}$","description":"The provider's own identifier."},"attachments":{"type":"array","items":{"anyOf":[{"type":"object","required":["mailbox","messageId","attachmentId"],"properties":{"mailbox":{"type":"string","minLength":1,"description":"The mailbox holding the message the file is in, of the same provider as the one written from."},"messageId":{"type":"string","pattern":"^[A-Za-z0-9_=-]{1,512}$","description":"The provider's own identifier."},"attachmentId":{"type":"string","pattern":"^(?:\\d+(?:\\.\\d+)*|[A-Za-z0-9_=-]+)$","maxLength":2048,"description":"An attachment id, as a message read named it."}}},{"type":"object","required":["filename","mimeType","content"],"properties":{"content":{"type":"string","format":"base64","pattern":"^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$","description":"The file's own bytes, base64.","contentEncoding":"base64"},"filename":{"type":"string","minLength":1,"description":"What the file is called."},"mimeType":{"type":"string","minLength":1,"description":"The file's media type."}}}]},"description":"Files to carry: one held by a connected mailbox of the draft's own provider, or content you write out."}}},"output_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["id"],"properties":{"id":{"type":"string"},"link":{"type":"string"},"threadId":{"type":"string"},"previousVersionId":{"type":"string"}},"additionalProperties":false},"annotations":{"title":"Draft a reply","readOnlyHint":false,"openWorldHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-16T12:16:52.168Z"},{"name":"drafts_send","title":"Send a draft","description":"Send a draft. It leaves the mailbox and consumes the draft. Only a draft is sent: a message already sent or received is refused, and nothing leaves. Call this only when the person asked for this message to go; when they asked to prepare one, draft it instead. A request id already spent sends nothing again: the answer says whether that send went or may have gone.","input_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["mailbox","id","requestId"],"properties":{"id":{"type":"string","pattern":"^[A-Za-z0-9_=-]{1,512}$","description":"The id a draft tool answered, or the draftId a search or a read answered."},"mailbox":{"type":"string","minLength":1,"description":"The mailbox's name or its email address."},"requestId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,128}$","description":"Your own id for this send, new for every message. One whose send went or may have gone sends nothing again."}}},"output_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["id","threadId"],"properties":{"id":{"type":["string","null"]},"accepted":{"type":"boolean","const":true},"threadId":{"type":["string","null"]},"messageId":{"type":"string"},"sentCopyKept":{"type":"boolean","const":false},"refusedRecipients":{"type":"array","items":{"type":"string"}}},"additionalProperties":false},"annotations":{"title":"Send a draft","readOnlyHint":false,"openWorldHint":true,"idempotentHint":true,"destructiveHint":true},"source":"probe","observed_at":"2026-10-16T12:16:52.168Z"},{"name":"drafts_update","title":"Edit a draft","description":"Change a draft in a connected mailbox. A field the call leaves out stays as the draft has it. A mailbox whose provider is imap keeps the edited draft under a new id the answer names, and the old id then reads nothing; an old version its server did not remove stays in Drafts, named as previousVersionId.","input_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["mailbox","id"],"properties":{"cc":{"type":"array","items":{"type":"string","format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"description":"Who to copy."},"id":{"type":"string","pattern":"^[A-Za-z0-9_=-]{1,512}$","description":"The id a draft tool answered, or the draftId a search or a read answered."},"to":{"type":"array","items":{"type":"string","format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"minItems":1,"description":"Who the message is addressed to."},"bcc":{"type":"array","items":{"type":"string","format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"description":"Who to blind-copy. The other recipients are not told."},"body":{"type":"string","minLength":1,"description":"The whole message text, a reply's quote included. Given without html, the draft becomes plain text."},"html":{"type":"string","minLength":1,"description":"The whole message as HTML, for formatting; given without body, its plain-text version is read from it. An Outlook mailbox keeps only the HTML and writes the plain version from it."},"mailbox":{"type":"string","minLength":1,"description":"The mailbox's name or its email address."},"subject":{"type":"string","description":"The subject line."},"attachments":{"type":"array","items":{"anyOf":[{"type":"object","required":["mailbox","messageId","attachmentId"],"properties":{"mailbox":{"type":"string","minLength":1,"description":"The mailbox holding the message the file is in, of the same provider as the one written from."},"messageId":{"type":"string","pattern":"^[A-Za-z0-9_=-]{1,512}$","description":"The provider's own identifier."},"attachmentId":{"type":"string","pattern":"^(?:\\d+(?:\\.\\d+)*|[A-Za-z0-9_=-]+)$","maxLength":2048,"description":"An attachment id, as a message read named it."}}},{"type":"object","required":["filename","mimeType","content"],"properties":{"content":{"type":"string","format":"base64","pattern":"^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$","description":"The file's own bytes, base64.","contentEncoding":"base64"},"filename":{"type":"string","minLength":1,"description":"What the file is called."},"mimeType":{"type":"string","minLength":1,"description":"The file's media type."}}}]},"description":"Files to carry, each held by a connected mailbox of the draft's own provider or written out. Named, they replace the ones it holds, and an empty list removes them all. An Outlook draft takes on the new files before it gives up the old, so a replacement stopped midway is reported and may leave both. An Outlook draft sent while it is rewritten may lose its old files from the sent copy."}}},"output_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["id"],"properties":{"id":{"type":"string"},"link":{"type":"string"},"threadId":{"type":"string"},"previousVersionId":{"type":"string"}},"additionalProperties":false},"annotations":{"title":"Edit a draft","readOnlyHint":false,"openWorldHint":false,"destructiveHint":true},"source":"probe","observed_at":"2026-10-16T12:16:52.168Z"},{"name":"labels_create","title":"Create a label","description":"Create a label in a connected mailbox and answer the id it is applied by. In a Gmail mailbox, and as a folder in one whose provider is imap, a / nests it under the label before it, made first where missing; in an Outlook mailbox a / is just a character.","input_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["mailbox","name"],"properties":{"name":{"type":"string","minLength":1,"description":"What the label is called."},"mailbox":{"type":"string","minLength":1,"description":"The mailbox's name or its email address."}}},"output_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["id","name"],"properties":{"id":{"type":"string"},"name":{"type":"string"},"type":{"type":["string","null"]}},"additionalProperties":false},"annotations":{"title":"Create a label","readOnlyHint":false,"openWorldHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-16T12:16:52.168Z"},{"name":"labels_delete","title":"Delete a label","description":"Delete one label, by its id from labels_list. No message is deleted: in a Gmail mailbox whose provider is google the label comes off every message; an Outlook mailbox's category leaves its list, and the messages that carried it keep its name. A mailbox whose provider is imap, a Gmail one included, deletes only a folder holding no mail and no folder.","input_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["mailbox","id"],"properties":{"id":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,128}$","description":"A label id from labels_list."},"mailbox":{"type":"string","minLength":1,"description":"The mailbox's name or its email address."}}},"output_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["deleted"],"properties":{"deleted":{"type":"boolean"}},"additionalProperties":false},"annotations":{"title":"Delete a label","readOnlyHint":false,"openWorldHint":false,"destructiveHint":true},"source":"probe","observed_at":"2026-10-16T12:16:52.168Z"},{"name":"labels_list","title":"List labels","description":"List the labels a connected mailbox holds, by the id each is applied by. A mailbox whose provider is imap holds its folders as labels, nested by /, beside UNREAD, STARRED and SPAM.","input_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["mailbox"],"properties":{"mailbox":{"type":"string","minLength":1,"description":"The mailbox's name or its email address."}}},"output_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["labels"],"properties":{"labels":{"type":"array","items":{"type":"object","required":["id","name"],"properties":{"id":{"type":"string"},"name":{"type":"string"},"type":{"type":["string","null"]}},"additionalProperties":false}}},"additionalProperties":false},"annotations":{"title":"List labels","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-16T12:16:52.168Z"},{"name":"labels_update","title":"Edit a label","description":"Rename a label, recolour it, or both. The id comes from labels_list. An Outlook mailbox's categories are its labels, and Microsoft lets one take only a new colour. A mailbox whose provider is imap renames its folder, which takes no colour, and answers the label's new id.","input_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["mailbox","id"],"properties":{"id":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,128}$","description":"A label id from labels_list."},"name":{"type":"string","minLength":1,"description":"Its new name."},"color":{"enum":["red","orange","yellow","green","teal","blue","purple","gray","black"],"type":"string","description":"Its new colour."},"mailbox":{"type":"string","minLength":1,"description":"The mailbox's name or its email address."}}},"output_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["id","name"],"properties":{"id":{"type":"string"},"name":{"type":"string"},"type":{"type":["string","null"]}},"additionalProperties":false},"annotations":{"title":"Edit a label","readOnlyHint":false,"openWorldHint":false,"destructiveHint":true},"source":"probe","observed_at":"2026-10-16T12:16:52.168Z"},{"name":"mailboxes_list","title":"List mailboxes","description":"List the connected mailboxes that answer, each by the name a tool's mailbox input takes, and the tools its provider does not offer. The mail of every mailbox mailboxes_list names is read and written with Multi Mail's tools.","input_schema":{"type":"object","properties":{}},"output_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["mailboxes"],"properties":{"mailboxes":{"type":"array","items":{"type":"object","required":["mailbox","emailAddress","provider","unsupportedMethods"],"properties":{"mailbox":{"type":"string"},"provider":{"type":"string"},"emailAddress":{"type":"string"},"unsupportedMethods":{"type":"array","items":{"enum":["messages_list","messages_list_all_mailboxes","threads_get","messages_get","messages_attachments_get","drafts_create","drafts_update","drafts_reply","drafts_forward","drafts_delete","messages_send","drafts_send","messages_reply","messages_forward","labels_list","labels_create","labels_update","labels_delete","threads_modify","threads_archive","threads_trash","threads_untrash","settings_filters_list","settings_filters_create","settings_filters_delete","settings_send_as_patch","settings_send_as_get","settings_get_vacation","settings_update_vacation"],"type":"string"}}},"additionalProperties":false}}},"additionalProperties":false},"annotations":{"title":"List mailboxes","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-16T12:16:52.168Z"},{"name":"messages_attachments_get","title":"Read an attachment","description":"Read one attachment of a message. The answer is what it says, as plain text; with as original it is the file itself, base64. messages_get and threads_get name a message's attachments and their sizes. Either answer names the address the original is served at whole, to a GET carrying this same credential.","input_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["mailbox","messageId","id"],"properties":{"as":{"enum":["text","original"],"type":"string","description":"text, the default: what the file says. original: the file itself, byte for byte."},"id":{"type":"string","pattern":"^(?:\\d+(?:\\.\\d+)*|[A-Za-z0-9_=-]+)$","maxLength":2048,"description":"An attachment id, as a message read named it."},"mailbox":{"type":"string","minLength":1,"description":"The mailbox's name or its email address."},"messageId":{"type":"string","pattern":"^[A-Za-z0-9_=-]{1,512}$","description":"The message's id, as a search or a read answered it."},"continuation":{"type":"string","pattern":"^[A-Za-z0-9_-]{43}\\.\\d{1,10}$","description":"Where the words resume, as the last part read named it. The original always comes whole."}}},"output_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["messageId","attachmentId","filename","mimeType","size","sizePrecision","contentFormat","returned","carriesPayload","address"],"properties":{"data":{"type":"string"},"size":{"type":"number"},"text":{"type":"string"},"address":{"type":"string"},"charset":{"type":"string"},"outcome":{"enum":["complete","partial","unsupported","locked","no_words","not_read","timed_out","too_heavy","unparseable","changed","reader_missing"],"type":"string"},"filename":{"type":"string"},"mimeType":{"type":"string"},"returned":{"enum":["original","text"],"type":"string"},"messageId":{"type":"string"},"attachmentId":{"type":"string"},"continuation":{"type":"string"},"contentFormat":{"enum":["text","image","bytes"],"type":"string"},"sizePrecision":{"enum":["exact","upperBound"],"type":"string"},"carriesPayload":{"type":"boolean"}},"additionalProperties":false},"annotations":{"title":"Read an attachment","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-16T12:16:52.168Z"},{"name":"messages_forward","title":"Forward a message","description":"Forward one message to the addresses you name, with the files it carries, inside the thread it already sits in. Only the provider's own limit applies to what it carries. Call this only when the person asked for this message to go; when they asked to prepare one, draft it instead. A request id already spent sends nothing again: the answer says whether that send went or may have gone.","input_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["mailbox","messageId","to","requestId"],"properties":{"to":{"type":"array","items":{"type":"string","format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"minItems":1,"description":"Who the forward is addressed to."},"html":{"type":"string","minLength":1,"description":"Your own words as HTML, for formatting; note stays their plain-text version. An Outlook mailbox keeps only the HTML and writes the plain version from it."},"note":{"type":"string","description":"Your own words, above the message forwarded."},"mailbox":{"type":"string","minLength":1,"description":"The mailbox's name or its email address."},"messageId":{"type":"string","pattern":"^[A-Za-z0-9_=-]{1,512}$","description":"The provider's own identifier."},"requestId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,128}$","description":"Your own id for this send, new for every message. One whose send went or may have gone sends nothing again."}}},"output_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["id","threadId"],"properties":{"id":{"type":["string","null"]},"accepted":{"type":"boolean","const":true},"threadId":{"type":["string","null"]},"messageId":{"type":"string"},"sentCopyKept":{"type":"boolean","const":false},"refusedRecipients":{"type":"array","items":{"type":"string"}}},"additionalProperties":false},"annotations":{"title":"Forward a message","readOnlyHint":false,"openWorldHint":true,"idempotentHint":true,"destructiveHint":true},"source":"probe","observed_at":"2026-10-16T12:16:52.168Z"},{"name":"messages_get","title":"Read a message","description":"Read one message in a connected mailbox, with its headers and its body.","input_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["mailbox","id"],"properties":{"id":{"type":"string","pattern":"^[A-Za-z0-9_=-]{1,512}$","description":"The message's id, as a search or a thread read answered it, or a draft's own id."},"view":{"enum":["full","summary","headers"],"type":"string","description":"full, the default, carries each message's text and attachments; summary leaves those out; headers leaves out the subject and snippet too."},"mailbox":{"type":"string","minLength":1,"description":"The mailbox's name or its email address."}}},"output_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["id","threadId","from","to","cc","bcc","date","draft","draftId","unread","labelIds"],"properties":{"cc":{"type":["string","null"]},"id":{"type":"string"},"to":{"type":["string","null"]},"bcc":{"type":["string","null"]},"body":{"type":"string"},"date":{"type":["string","null"]},"from":{"type":["string","null"]},"link":{"type":"string"},"draft":{"type":"boolean"},"folder":{"enum":["inbox","sent","archive","drafts","deleted","junk","other"],"type":"string"},"unread":{"type":"boolean"},"draftId":{"type":["string","null"]},"flagged":{"type":"boolean"},"snippet":{"type":["string","null"]},"subject":{"type":["string","null"]},"labelIds":{"type":"array","items":{"type":"string"}},"threadId":{"type":"string"},"bodyFormat":{"enum":["text","html","none"],"type":"string"},"categories":{"type":"array","items":{"type":"string"}},"attachments":{"type":"array","items":{"type":"object","required":["attachmentId","filename","mimeType","size","holdsBytes"],"properties":{"size":{"type":"number"},"filename":{"type":"string"},"mimeType":{"type":"string"},"holdsBytes":{"type":"boolean"},"attachmentId":{"type":"string"},"sizePrecision":{"enum":["exact","upperBound"],"type":"string"}},"additionalProperties":false}},"omittedCharacters":{"type":"number"}},"additionalProperties":false},"annotations":{"title":"Read a message","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-16T12:16:52.168Z"},{"name":"messages_list","title":"Search a mailbox","description":"Search one connected mailbox in its own provider's query language, Gmail's or Outlook's. The mail of every mailbox mailboxes_list names is read and written with Multi Mail's tools.","input_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["mailbox","q"],"properties":{"q":{"type":"string","minLength":1,"description":"A Gmail mailbox, whatever its provider, reads Gmail's search operators: from:, to:, cc:, subject:, is:unread, is:starred, in:sent, has:attachment, filename:pdf, after:2026/01/31, before:, newer_than:7d, larger:5M, OR, -word and ( ); one whose provider is imap is searched by message. An Outlook mailbox reads Microsoft's keyword query language - from:, to:, cc:, subject:, body:, received:, hasAttachments:true, plain words and quoted phrases, AND, OR and NOT in capitals - and never a filter expression such as isRead eq false. A few distinctive words, with OR between alternatives, miss less than a copied subject line or sentence. Any other mailbox whose provider is imap reads only from:, to: (never me), subject:, is:unread, after: and before: as 2026/01/31, newer_than: in days, months or years, plain words and quoted phrases, and one in: or label: naming one folder, by the name labels_list gives a label of type user or as inbox, sent, archive, drafts, spam or trash, a name holding a space quoted and a quote or backslash inside the quotes taking a backslash before it, with no AND, OR or NOT, and is searched by message."},"by":{"enum":["message","thread"],"type":"string","description":"message, the default, answers each matching message; thread answers each matching thread with every message in it."},"view":{"enum":["summary","headers"],"type":"string","description":"summary, the default, carries each message's subject and snippet; headers leaves both out."},"mailbox":{"type":"string","minLength":1,"description":"The mailbox's name or its email address."},"pageToken":{"type":"string","description":"The nextPageToken of the page before, asked with the same q and by. Outlook pages threads by their matching messages, so a thread can recur on a later page."},"maxResults":{"type":"integer","maximum":50,"minimum":1}}},"output_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["shown","unreadable","more","nextPageToken","resultSizeEstimate"],"properties":{"more":{"type":"boolean"},"shown":{"type":"number"},"threads":{"type":"array","items":{"type":"object","required":["id","link","messages"],"properties":{"id":{"type":"string"},"link":{"type":"string"},"messages":{"type":"array","items":{"type":"object","required":["id","threadId","from","to","cc","bcc","date","draft","draftId","unread","labelIds"],"properties":{"cc":{"type":["string","null"]},"id":{"type":"string"},"to":{"type":["string","null"]},"bcc":{"type":["string","null"]},"date":{"type":["string","null"]},"from":{"type":["string","null"]},"link":{"type":"string"},"draft":{"type":"boolean"},"folder":{"enum":["inbox","sent","archive","drafts","deleted","junk","other"],"type":"string"},"unread":{"type":"boolean"},"draftId":{"type":["string","null"]},"flagged":{"type":"boolean"},"snippet":{"type":["string","null"]},"subject":{"type":["string","null"]},"labelIds":{"type":"array","items":{"type":"string"}},"threadId":{"type":"string"},"categories":{"type":"array","items":{"type":"string"}}},"additionalProperties":false}}},"additionalProperties":false}},"messages":{"type":"array","items":{"type":"object","required":["id","threadId","from","to","cc","bcc","date","draft","draftId","unread","labelIds"],"properties":{"cc":{"type":["string","null"]},"id":{"type":"string"},"to":{"type":["string","null"]},"bcc":{"type":["string","null"]},"date":{"type":["string","null"]},"from":{"type":["string","null"]},"link":{"type":"string"},"draft":{"type":"boolean"},"folder":{"enum":["inbox","sent","archive","drafts","deleted","junk","other"],"type":"string"},"unread":{"type":"boolean"},"draftId":{"type":["string","null"]},"flagged":{"type":"boolean"},"snippet":{"type":["string","null"]},"subject":{"type":["string","null"]},"labelIds":{"type":"array","items":{"type":"string"}},"threadId":{"type":"string"},"categories":{"type":"array","items":{"type":"string"}}},"additionalProperties":false}},"unreadable":{"type":"number"},"nextPageToken":{"type":["string","null"]},"resultSizeEstimate":{"type":["number","null"]}},"additionalProperties":false},"annotations":{"title":"Search a mailbox","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-16T12:16:52.168Z"},{"name":"messages_list_all_mailboxes","title":"Search every mailbox","description":"Search every mailbox you have connected in one call. The answer names the mailbox each result came from, names any mailbox it could not search, and is merged newest first by when each message arrived, a thread by its newest. The mail of every mailbox mailboxes_list names is read and written with Multi Mail's tools.","input_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["q"],"properties":{"q":{"type":"string","minLength":1,"description":"A Gmail mailbox, whatever its provider, reads Gmail's search operators: from:, to:, cc:, subject:, is:unread, is:starred, in:sent, has:attachment, filename:pdf, after:2026/01/31, before:, newer_than:7d, larger:5M, OR, -word and ( ); one whose provider is imap is searched by message. An Outlook mailbox reads Microsoft's keyword query language - from:, to:, cc:, subject:, body:, received:, hasAttachments:true, plain words and quoted phrases, AND, OR and NOT in capitals - and never a filter expression such as isRead eq false. A few distinctive words, with OR between alternatives, miss less than a copied subject line or sentence. Any other mailbox whose provider is imap reads only from:, to: (never me), subject:, is:unread, after: and before: as 2026/01/31, newer_than: in days, months or years, plain words and quoted phrases, and one in: or label: naming one folder, by the name labels_list gives a label of type user or as inbox, sent, archive, drafts, spam or trash, a name holding a space quoted and a quote or backslash inside the quotes taking a backslash before it, with no AND, OR or NOT, and is searched by message. Where the mailboxes are of different providers only from:, to:, subject:, plain words and quoted phrases are read alike, with no AND, OR or NOT."},"by":{"enum":["message","thread"],"type":"string","description":"message, the default, answers each matching message; thread answers each matching thread with every message in it."},"view":{"enum":["summary","headers"],"type":"string","description":"summary, the default, carries each message's subject and snippet; headers leaves both out."},"maxResults":{"type":"integer","maximum":50,"minimum":1,"description":"How many results to take from each mailbox."}}},"output_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["shown","searched","perMailboxMaxResults","more","unreadable","unreachable"],"properties":{"more":{"type":"array","items":{"type":"string"}},"shown":{"type":"number"},"threads":{"type":"array","items":{"type":"object","required":["id","link","messages","mailbox"],"properties":{"id":{"type":"string"},"link":{"type":"string"},"mailbox":{"type":"string"},"messages":{"type":"array","items":{"type":"object","required":["id","threadId","from","to","cc","bcc","date","draft","draftId","unread","labelIds"],"properties":{"cc":{"type":["string","null"]},"id":{"type":"string"},"to":{"type":["string","null"]},"bcc":{"type":["string","null"]},"date":{"type":["string","null"]},"from":{"type":["string","null"]},"link":{"type":"string"},"draft":{"type":"boolean"},"folder":{"enum":["inbox","sent","archive","drafts","deleted","junk","other"],"type":"string"},"unread":{"type":"boolean"},"draftId":{"type":["string","null"]},"flagged":{"type":"boolean"},"snippet":{"type":["string","null"]},"subject":{"type":["string","null"]},"labelIds":{"type":"array","items":{"type":"string"}},"threadId":{"type":"string"},"categories":{"type":"array","items":{"type":"string"}}},"additionalProperties":false}}},"additionalProperties":false}},"messages":{"type":"array","items":{"type":"object","required":["id","threadId","from","to","cc","bcc","date","draft","draftId","unread","labelIds","mailbox"],"properties":{"cc":{"type":["string","null"]},"id":{"type":"string"},"to":{"type":["string","null"]},"bcc":{"type":["string","null"]},"date":{"type":["string","null"]},"from":{"type":["string","null"]},"link":{"type":"string"},"draft":{"type":"boolean"},"folder":{"enum":["inbox","sent","archive","drafts","deleted","junk","other"],"type":"string"},"unread":{"type":"boolean"},"draftId":{"type":["string","null"]},"flagged":{"type":"boolean"},"mailbox":{"type":"string"},"snippet":{"type":["string","null"]},"subject":{"type":["string","null"]},"labelIds":{"type":"array","items":{"type":"string"}},"threadId":{"type":"string"},"categories":{"type":"array","items":{"type":"string"}}},"additionalProperties":false}},"searched":{"type":"array","items":{"type":"string"}},"unreadable":{"type":"number"},"unreachable":{"type":"array","items":{"type":"object","required":["mailbox","reason"],"properties":{"reason":{"type":"string"},"mailbox":{"type":"string"}},"additionalProperties":false}},"perMailboxMaxResults":{"type":"number"}},"additionalProperties":false},"annotations":{"title":"Search every mailbox","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-16T12:16:52.168Z"},{"name":"messages_reply","title":"Reply to a message","description":"Reply to a message, inside its own thread and quoting it below the reply: to whoever wrote it, or with replyAll to everyone on it. Call this only when the person asked for this message to go; when they asked to prepare one, draft it instead. A request id already spent sends nothing again: the answer says whether that send went or may have gone.","input_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["mailbox","messageId","body","requestId"],"properties":{"cc":{"type":"array","items":{"type":"string","format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"description":"Who to copy, instead of those replyAll copies."},"to":{"type":"array","items":{"type":"string","format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"minItems":1,"description":"Who the reply goes to, instead of whoever wrote the message and, with replyAll, those it was sent to."},"body":{"type":"string","minLength":1,"description":"The reply text."},"html":{"type":"string","minLength":1,"description":"The message as HTML, for formatting; body stays its plain-text version. An Outlook mailbox keeps only the HTML and writes the plain version from it."},"mailbox":{"type":"string","minLength":1,"description":"The mailbox's name or its email address."},"replyAll":{"type":"boolean","description":"Also address everyone the message was sent to and copied - never its blind copies, never this mailbox."},"messageId":{"type":"string","pattern":"^[A-Za-z0-9_=-]{1,512}$","description":"The provider's own identifier."},"requestId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,128}$","description":"Your own id for this send, new for every message. One whose send went or may have gone sends nothing again."}}},"output_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["id","threadId"],"properties":{"id":{"type":["string","null"]},"accepted":{"type":"boolean","const":true},"threadId":{"type":["string","null"]},"messageId":{"type":"string"},"sentCopyKept":{"type":"boolean","const":false},"refusedRecipients":{"type":"array","items":{"type":"string"}}},"additionalProperties":false},"annotations":{"title":"Reply to a message","readOnlyHint":false,"openWorldHint":true,"idempotentHint":true,"destructiveHint":true},"source":"probe","observed_at":"2026-10-16T12:16:52.168Z"},{"name":"messages_send","title":"Send a message","description":"Compose a new message in a connected mailbox and send it in one call. Call this only when the person asked for this message to go; when they asked to prepare one, draft it instead. A request id already spent sends nothing again: the answer says whether that send went or may have gone.","input_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["mailbox","to","subject","body","requestId"],"properties":{"cc":{"type":"array","items":{"type":"string","format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"description":"Who to copy."},"to":{"type":"array","items":{"type":"string","format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"minItems":1,"description":"Who the message is addressed to."},"bcc":{"type":"array","items":{"type":"string","format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"description":"Who to blind-copy. The other recipients are not told."},"body":{"type":"string","minLength":1,"description":"The message text."},"html":{"type":"string","minLength":1,"description":"The message as HTML, for formatting; body stays its plain-text version. An Outlook mailbox keeps only the HTML and writes the plain version from it."},"mailbox":{"type":"string","minLength":1,"description":"The mailbox's name or its email address."},"subject":{"type":"string","description":"The subject line."},"requestId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,128}$","description":"Your own id for this send, new for every message. One whose send went or may have gone sends nothing again."},"attachments":{"type":"array","items":{"anyOf":[{"type":"object","required":["mailbox","messageId","attachmentId"],"properties":{"mailbox":{"type":"string","minLength":1,"description":"The mailbox holding the message the file is in, of the same provider as the one written from."},"messageId":{"type":"string","pattern":"^[A-Za-z0-9_=-]{1,512}$","description":"The provider's own identifier."},"attachmentId":{"type":"string","pattern":"^(?:\\d+(?:\\.\\d+)*|[A-Za-z0-9_=-]+)$","maxLength":2048,"description":"An attachment id, as a message read named it."}}},{"type":"object","required":["filename","mimeType","content"],"properties":{"content":{"type":"string","format":"base64","pattern":"^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$","description":"The file's own bytes, base64.","contentEncoding":"base64"},"filename":{"type":"string","minLength":1,"description":"What the file is called."},"mimeType":{"type":"string","minLength":1,"description":"The file's media type."}}}]},"description":"Files to carry: one held by a connected mailbox of the message's own provider, or content you write out."}}},"output_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["id","threadId"],"properties":{"id":{"type":["string","null"]},"accepted":{"type":"boolean","const":true},"threadId":{"type":["string","null"]},"messageId":{"type":"string"},"sentCopyKept":{"type":"boolean","const":false},"refusedRecipients":{"type":"array","items":{"type":"string"}}},"additionalProperties":false},"annotations":{"title":"Send a message","readOnlyHint":false,"openWorldHint":true,"idempotentHint":true,"destructiveHint":true},"source":"probe","observed_at":"2026-10-16T12:16:52.168Z"},{"name":"settings_filters_create","title":"Create a filter","description":"Create a rule that files incoming mail in a connected mailbox. A rule that carries mail out of the mailbox, or that bins or junks what it matches, is refused, whether or not the provider would take it. An Outlook mailbox's rule files only under labels or out of the inbox (removeLabelIds INBOX).","input_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["mailbox"],"properties":{"from":{"type":"string","description":"Match mail from this sender."},"query":{"type":"string","description":"Anything else to match: a Gmail search query, or for an Outlook mailbox one plain word or quoted phrase in the subject or body, with no AND, OR or NOT in capitals."},"forward":{"type":"string","minLength":1,"description":"Refused: this surface makes no rule that carries mail elsewhere."},"mailbox":{"type":"string","minLength":1,"description":"The mailbox's name or its email address."},"addLabelIds":{"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,128}$","description":"A label id from labels_list."},"description":"Labels to apply, by id. TRASH and SPAM are refused."},"removeLabelIds":{"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,128}$","description":"A label id from labels_list."},"description":"Labels to remove, by id."}}},"output_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["id"],"properties":{"id":{"type":"string"},"name":{"type":["string","null"]},"action":{"anyOf":[{"anyOf":[{"type":"object","properties":{"forward":{"type":"string"},"addLabelIds":{"type":"array","items":{"type":"string"}},"removeLabelIds":{"type":"array","items":{"type":"string"}}},"additionalProperties":false},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}]},{"type":"null"}]},"enabled":{"type":["boolean","null"]},"criteria":{"anyOf":[{"anyOf":[{"type":"object","properties":{"to":{"type":"string"},"from":{"type":"string"},"size":{"type":"number"},"query":{"type":"string"},"subject":{"type":"string"},"excludeChats":{"type":"boolean"},"negatedQuery":{"type":"string"},"hasAttachment":{"type":"boolean"},"sizeComparison":{"type":"string"}},"additionalProperties":false},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}]},{"type":"null"}]},"hasError":{"type":["boolean","null"]},"sequence":{"type":["number","null"]},"deletable":{"type":"boolean"},"exceptions":{"anyOf":[{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},{"type":"null"}]}},"additionalProperties":false},"annotations":{"title":"Create a filter","readOnlyHint":false,"openWorldHint":false,"destructiveHint":true},"source":"probe","observed_at":"2026-10-16T12:16:52.168Z"},{"name":"settings_filters_delete","title":"Delete a filter","description":"Delete one rule by its id. Mail it already filed stays where it is.","input_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["mailbox","id"],"properties":{"id":{"type":"string","pattern":"^[A-Za-z0-9_=+/-]{1,128}$","description":"A rule id from settings_filters_list."},"mailbox":{"type":"string","minLength":1,"description":"The mailbox's name or its email address."}}},"output_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["deleted"],"properties":{"deleted":{"type":"boolean"}},"additionalProperties":false},"annotations":{"title":"Delete a filter","readOnlyHint":false,"openWorldHint":false,"destructiveHint":true},"source":"probe","observed_at":"2026-10-16T12:16:52.168Z"},{"name":"settings_filters_list","title":"List filters","description":"List the rules a connected mailbox files incoming mail by.","input_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["mailbox"],"properties":{"mailbox":{"type":"string","minLength":1,"description":"The mailbox's name or its email address."}}},"output_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["filter"],"properties":{"filter":{"type":"array","items":{"type":"object","required":["id"],"properties":{"id":{"type":"string"},"name":{"type":["string","null"]},"action":{"anyOf":[{"anyOf":[{"type":"object","properties":{"forward":{"type":"string"},"addLabelIds":{"type":"array","items":{"type":"string"}},"removeLabelIds":{"type":"array","items":{"type":"string"}}},"additionalProperties":false},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}]},{"type":"null"}]},"enabled":{"type":["boolean","null"]},"criteria":{"anyOf":[{"anyOf":[{"type":"object","properties":{"to":{"type":"string"},"from":{"type":"string"},"size":{"type":"number"},"query":{"type":"string"},"subject":{"type":"string"},"excludeChats":{"type":"boolean"},"negatedQuery":{"type":"string"},"hasAttachment":{"type":"boolean"},"sizeComparison":{"type":"string"}},"additionalProperties":false},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}]},{"type":"null"}]},"hasError":{"type":["boolean","null"]},"sequence":{"type":["number","null"]},"deletable":{"type":"boolean"},"exceptions":{"anyOf":[{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},{"type":"null"}]}},"additionalProperties":false}}},"additionalProperties":false},"annotations":{"title":"List filters","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-16T12:16:52.168Z"},{"name":"settings_get_vacation","title":"Read the vacation responder","description":"Read whether a connected mailbox answers mail automatically, what it says, and any schedule or restriction it carries.","input_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["mailbox"],"properties":{"mailbox":{"type":"string","minLength":1,"description":"The mailbox's name or its email address."}}},"output_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["enableAutoReply","responseSubject","responseBodyPlainText","responseBodyHtml","restrictToContacts","restrictToDomain","startTime","endTime"],"properties":{"status":{"type":["string","null"]},"endTime":{"type":["string","null"]},"startTime":{"type":["string","null"]},"enableAutoReply":{"type":"boolean"},"responseSubject":{"type":["string","null"]},"externalAudience":{"type":["string","null"]},"responseBodyHtml":{"type":["string","null"]},"restrictToDomain":{"type":["boolean","null"]},"restrictToContacts":{"type":["boolean","null"]},"externalReplyMessage":{"type":["string","null"]},"internalReplyMessage":{"type":["string","null"]},"scheduledEndDateTime":{"type":["string","null"]},"responseBodyPlainText":{"type":["string","null"]},"scheduledStartDateTime":{"type":["string","null"]}},"additionalProperties":false},"annotations":{"title":"Read the vacation responder","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-16T12:16:52.168Z"},{"name":"settings_send_as_get","title":"Read the signature","description":"Read the signature on the mailbox's own send-as identity, as HTML. A mailbox with no signature answers without one. Gmail mailboxes only: an Outlook mailbox exposes no signature to read.","input_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["mailbox"],"properties":{"mailbox":{"type":"string","minLength":1,"description":"The mailbox's name or its email address."}}},"output_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["sendAsEmail"],"properties":{"signature":{"type":"string"},"sendAsEmail":{"type":"string"}},"additionalProperties":false},"annotations":{"title":"Read the signature","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-16T12:16:52.168Z"},{"name":"settings_send_as_patch","title":"Edit the signature","description":"Replace the signature on the mailbox's own send-as identity. Nothing of the old one is kept, so read it first with settings_send_as_get. An empty signature clears it. Gmail mailboxes only: an Outlook mailbox exposes no signature to write.","input_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["mailbox","signature"],"properties":{"mailbox":{"type":"string","minLength":1,"description":"The mailbox's name or its email address."},"signature":{"type":"string","description":"The signature, as HTML the provider will sanitise."}}},"output_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["sendAsEmail"],"properties":{"signature":{"type":"string"},"sendAsEmail":{"type":"string"}},"additionalProperties":false},"annotations":{"title":"Edit the signature","readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":true},"source":"probe","observed_at":"2026-10-16T12:16:52.168Z"},{"name":"settings_update_vacation","title":"Set the vacation responder","description":"Turn the vacation responder on or off. A Gmail mailbox replaces the whole responder, so a schedule or a restriction it already held is not kept; an Outlook mailbox keeps what this call does not name, and holds no subject.","input_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["mailbox","enableAutoReply"],"properties":{"mailbox":{"type":"string","minLength":1,"description":"The mailbox's name or its email address."},"enableAutoReply":{"type":"boolean","description":"Whether the mailbox answers automatically."},"responseSubject":{"type":"string","description":"The subject the answer carries."},"responseBodyPlainText":{"type":"string","description":"What the answer says."}}},"output_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["enableAutoReply","responseSubject","responseBodyPlainText","responseBodyHtml","restrictToContacts","restrictToDomain","startTime","endTime"],"properties":{"status":{"type":["string","null"]},"endTime":{"type":["string","null"]},"startTime":{"type":["string","null"]},"enableAutoReply":{"type":"boolean"},"responseSubject":{"type":["string","null"]},"externalAudience":{"type":["string","null"]},"responseBodyHtml":{"type":["string","null"]},"restrictToDomain":{"type":["boolean","null"]},"restrictToContacts":{"type":["boolean","null"]},"externalReplyMessage":{"type":["string","null"]},"internalReplyMessage":{"type":["string","null"]},"scheduledEndDateTime":{"type":["string","null"]},"responseBodyPlainText":{"type":["string","null"]},"scheduledStartDateTime":{"type":["string","null"]}},"additionalProperties":false},"annotations":{"title":"Set the vacation responder","readOnlyHint":false,"openWorldHint":true,"idempotentHint":true,"destructiveHint":true},"source":"probe","observed_at":"2026-10-16T12:16:52.168Z"},{"name":"threads_archive","title":"Archive a thread","description":"Take one thread out of the inbox: a Gmail mailbox, whatever its provider, takes its inbox label off, and an Outlook one moves it into its archive folder. It stays in the mailbox and in search. Any other mailbox whose provider is imap moves its inbox messages into its archive folder, made as Archive where it has none, each under a new id the answer names.","input_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["mailbox","id"],"properties":{"id":{"type":"string","pattern":"^[A-Za-z0-9_=-]{1,512}$","description":"The threadId a search or a read answered."},"mailbox":{"type":"string","minLength":1,"description":"The mailbox's name or its email address."}}},"output_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["id","labelIds"],"properties":{"id":{"type":"string"},"labelIds":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}]},"messages":{"type":"array","items":{"type":"object","required":["id","done"],"properties":{"id":{"type":"string"},"done":{"type":"boolean"}},"additionalProperties":false}}},"additionalProperties":false},"annotations":{"title":"Archive a thread","readOnlyHint":false,"openWorldHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-16T12:16:52.168Z"},{"name":"threads_get","title":"Read a thread","description":"Read every message of one thread in a connected mailbox, oldest first.","input_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["mailbox","id"],"properties":{"id":{"type":"string","pattern":"^[A-Za-z0-9_=-]{1,512}$","description":"The threadId a search or a read answered."},"view":{"enum":["full","summary","headers"],"type":"string","description":"full, the default, carries each message's text and attachments; summary leaves those out; headers leaves out the subject and snippet too."},"mailbox":{"type":"string","minLength":1,"description":"The mailbox's name or its email address."}}},"output_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["id","messages","shown","total"],"properties":{"id":{"type":"string"},"link":{"type":"string"},"shown":{"type":"number"},"total":{"type":"number"},"messages":{"type":"array","items":{"type":"object","required":["id","threadId","from","to","cc","bcc","date","draft","draftId","unread","labelIds"],"properties":{"cc":{"type":["string","null"]},"id":{"type":"string"},"to":{"type":["string","null"]},"bcc":{"type":["string","null"]},"body":{"type":"string"},"date":{"type":["string","null"]},"from":{"type":["string","null"]},"link":{"type":"string"},"draft":{"type":"boolean"},"folder":{"enum":["inbox","sent","archive","drafts","deleted","junk","other"],"type":"string"},"unread":{"type":"boolean"},"draftId":{"type":["string","null"]},"flagged":{"type":"boolean"},"snippet":{"type":["string","null"]},"subject":{"type":["string","null"]},"labelIds":{"type":"array","items":{"type":"string"}},"threadId":{"type":"string"},"bodyFormat":{"enum":["text","html","none"],"type":"string"},"categories":{"type":"array","items":{"type":"string"}},"attachments":{"type":"array","items":{"type":"object","required":["attachmentId","filename","mimeType","size","holdsBytes"],"properties":{"size":{"type":"number"},"filename":{"type":"string"},"mimeType":{"type":"string"},"holdsBytes":{"type":"boolean"},"attachmentId":{"type":"string"},"sizePrecision":{"enum":["exact","upperBound"],"type":"string"}},"additionalProperties":false}},"omittedCharacters":{"type":"number"}},"additionalProperties":false}}},"additionalProperties":false},"annotations":{"title":"Read a thread","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-16T12:16:52.168Z"},{"name":"threads_modify","title":"Label a thread","description":"Apply and remove labels on one thread, or one message of it - an Outlook mailbox's categories are its labels. The ids come from labels_list. Adding SPAM junks it, and taking SPAM off brings it back to the inbox. In a Gmail mailbox adding TRASH bins it too; an Outlook mailbox takes UNREAD and STARRED beside its categories and SPAM, and no other id; a Gmail mailbox whose provider is imap takes only UNREAD, STARRED, SPAM and its own labels, several a call, as Gmail does, each message keeping its id; any other mailbox whose provider is imap takes only UNREAD, STARRED, SPAM and its folders' labels, one folder a call: adding a folder's label moves the inbox messages into it and removing it moves its messages back to the inbox, each message moved taking a new id, which the answer names.","input_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["mailbox","id"],"properties":{"id":{"type":"string","pattern":"^[A-Za-z0-9_=-]{1,512}$","description":"The threadId a search or a read answered, or with scope message the message's id."},"scope":{"enum":["thread","message"],"type":"string","description":"thread, the default, acts on the whole thread; message acts on that one message alone."},"mailbox":{"type":"string","minLength":1,"description":"The mailbox's name or its email address."},"addLabelIds":{"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,128}$","description":"A label id from labels_list."}},"removeLabelIds":{"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,128}$","description":"A label id from labels_list."}}}},"output_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["id","labelIds"],"properties":{"id":{"type":"string"},"labelIds":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}]},"messages":{"type":"array","items":{"type":"object","required":["id","done"],"properties":{"id":{"type":"string"},"done":{"type":"boolean"}},"additionalProperties":false}}},"additionalProperties":false},"annotations":{"title":"Label a thread","readOnlyHint":false,"openWorldHint":false,"destructiveHint":true},"source":"probe","observed_at":"2026-10-16T12:16:52.168Z"},{"name":"threads_trash","title":"Move a thread to the trash","description":"Move one thread, or one message of it, to the trash - Gmail's bin, an Outlook mailbox's Deleted Items, the trash folder of a mailbox whose provider is imap - where it stays until threads_untrash brings it back or the provider's own retention ends it. A Gmail mailbox whose provider is imap keeps every label but the inbox on it and each message its id; in any other mailbox whose provider is imap each moved message takes a new id, which the answer names.","input_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["mailbox","id"],"properties":{"id":{"type":"string","pattern":"^[A-Za-z0-9_=-]{1,512}$","description":"The threadId a search or a read answered, or with scope message the message's id."},"scope":{"enum":["thread","message"],"type":"string","description":"thread, the default, acts on the whole thread; message acts on that one message alone."},"mailbox":{"type":"string","minLength":1,"description":"The mailbox's name or its email address."}}},"output_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["id","labelIds"],"properties":{"id":{"type":"string"},"labelIds":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}]},"messages":{"type":"array","items":{"type":"object","required":["id","done"],"properties":{"id":{"type":"string"},"done":{"type":"boolean"}},"additionalProperties":false}}},"additionalProperties":false},"annotations":{"title":"Move a thread to the trash","readOnlyHint":false,"openWorldHint":false,"destructiveHint":true},"source":"probe","observed_at":"2026-10-16T12:16:52.168Z"},{"name":"threads_untrash","title":"Restore a thread from the trash","description":"Bring one thread, or one message of it, back out of the trash. An Outlook mailbox and a mailbox whose provider is imap put a draft back in its drafts, the owner's own mail in sent mail and the rest in the inbox - a Gmail one with every label it carried, each message keeping its id, any other imap one each under a new id the answer names.","input_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["mailbox","id"],"properties":{"id":{"type":"string","pattern":"^[A-Za-z0-9_=-]{1,512}$","description":"The threadId a search or a read answered, or with scope message the message's id."},"scope":{"enum":["thread","message"],"type":"string","description":"thread, the default, acts on the whole thread; message acts on that one message alone."},"mailbox":{"type":"string","minLength":1,"description":"The mailbox's name or its email address."}}},"output_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["id","labelIds"],"properties":{"id":{"type":"string"},"labelIds":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}]},"messages":{"type":"array","items":{"type":"object","required":["id","done"],"properties":{"id":{"type":"string"},"done":{"type":"boolean"}},"additionalProperties":false}}},"additionalProperties":false},"annotations":{"title":"Restore a thread from the trash","readOnlyHint":false,"openWorldHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-16T12:16:52.168Z"}],"next_cursor":null,"next_actions":[{"action":"get_connection","description":"Connection block to call these tools","href":"/v1/servers/co.lumman%2Fmail/connection?target=mcpServers","arguments":{"name":"co.lumman/mail","target":"mcpServers"}},{"action":"get_server","description":"Full descriptor with trust and connectability","href":"/v1/servers/co.lumman%2Fmail","arguments":{"name":"co.lumman/mail"}}]}