Skip to main content
Glama

Search every mailbox

messages_list_all_mailboxes
Read-only

Search every mailbox you have connected - every email account at once - in one call, or only those mailboxes names. 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. A message whose recipients one answer cannot carry names the first that fit, omittedRecipients counting the rest. One search for what arrived after: the time of the last look is the cheapest way to watch for new mail. The times it answers with carry their offset in the person's own time zone, which the answer names under now beside their time now in it - UTC where the person has stored no zone, as now says.

Input Schema

NameRequiredDescriptionDefault
qNoA 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 ( ). 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: and cc: (never me), subject:, plain words and quoted phrases, -word or -"a phrase" leaving it out, is:unread, one run of OR between any of those (as a OR b OR c), has:attachment, and larger: and smaller: in bytes or as 500K or 5M, after: and before: as 2026/01/31, newer_than: in days, months or years, 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 NOT, and is searched by message in every folder but the bin and junk. Every mailbox is asked these alike, in its own provider's language or applied to what it answers: from:, to: and cc: (never me), subject:, plain words and quoted phrases, OR between any of those (as a OR b OR c), -word or -"a phrase" leaving it out, is:unread, has:attachment, larger: in bytes or as 500K or 5M, in:trash or in:spam searching the bin or spam alone, and dates: after: and before: as 2026/01/31, read as midnight in the time zone answers name under now, or with an offset as 2026-01-31T09:00+01:00, and newer_than: as 7d, 2m or 1y, each mailbox answering only what arrived inside the period, with no AND, NOT, AROUND, NEAR or ONEAR in capitals. A password mailbox other than a Gmail reads one run of OR, and a query holding more leaves it out. Where the mailboxes read different languages - a Gmail reads Gmail's, whatever its provider - a query holding any other term is refused; where they read one, it is asked whole. Left out, every message is answered.
byNomessage, the default, answers each matching message; thread answers each matching thread with every message in it.
runNoThe name of a task this search is one run of, repeated as on a schedule - 1 to 40 letters, digits and hyphens. Each mailbox is then read from ten minutes before the last run under that name began reading it, or for the last 24 hours where none has, its first run, as its asked entry says under run. A mailbox's mark moves only once a run answers its whole period to its last page, so one not reached or not paged to its end is read from its older mark next time, and nextPageToken under the same run pages on to it. An account keeps 50 names, the longest unused forgotten first.
viewNosummary, the default, carries each message's subject and snippet; headers leaves both out; compact, the lightest page, carries only each message's id, threadId, sender, date, unread mark, subject and the first 100 characters of its snippet.
waitingNoon_me answers only the threads waiting for the person's reply - their newest message someone else's, addressed to them; on_others only those waiting on another's - their newest message the person's own. Every mailbox is then read by thread, whatever by says, and each thread is answered with its newest message alone, drafts aside; one whose newest message reports a failed delivery is marked bounced and waits on nobody. A thread is picked by who wrote last and to whom - on any other mailbox whose provider is imap, by its answered mark - never by what its message asks, which its words alone say. A page holds only what waits, so it can be short while more names a mailbox holding more. A Gmail, whatever its provider, and an Outlook mailbox answer both; any other mailbox whose provider is imap answers on_me by the mail no mail app marked answered and cannot answer on_others.
mailboxesNoThe mailboxes to search, each by its name or email address; every one where none is named.
pageTokenNoThe nextPageToken of the answer before, asked with every other input the same: it searches on each mailbox it names from where that mailbox's page stopped, and no other. A thread can recur on a later page.
maxResultsNoHow many results to take from each mailbox, 5 where left out.

Output Schema

NameRequiredDescriptionDefault
nowYesThe person's own time zone, in which every time this answer gives is written, and their time now in it.
moreYes
askedYesEach mailbox searched, with what of the query its provider honoured itself and what was applied after.
shownYes
omittedNo
threadsNo
messagesNo
searchedYes
unreadableYes
unreachableYes
nextPageTokenYes
screeningWaitNoPresent where a message is marked not_yet_screened: the seconds to wait before reading those messages by their ids.
perMailboxMaxResultsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedOutput schema / properties / messages / items / properties / withheld / description
      Previous value: -"Why none of its words are here: screening, it screened as an attack; not_yet_screened, the account's screening allowance had no room for it at that moment; too_large_to_screen, it needs more than that allowance ever holds, so the person opens it at its link, or finds it by its date where it has none."New value: +"Why none of its words are here: screening, it screened as an attack; not_yet_screened, the screening allowance had no room for it at that moment; too_large_to_screen, it needs more than that allowance ever holds, so the person opens it at its link, or finds it by its date where it has none."
    • changedOutput schema / properties / threads / items / properties / messages / items / properties / withheld / description
      Previous value: -"Why none of its words are here: screening, it screened as an attack; not_yet_screened, the account's screening allowance had no room for it at that moment; too_large_to_screen, it needs more than that allowance ever holds, so the person opens it at its link, or finds it by its date where it has none."New value: +"Why none of its words are here: screening, it screened as an attack; not_yet_screened, the screening allowance had no room for it at that moment; too_large_to_screen, it needs more than that allowance ever holds, so the person opens it at its link, or finds it by its date where it has none."
  2. Changed4 schema fields changed
    • changedOutput schema / properties / messages / items / properties / withheld / description
      Previous value: -"Why none of its words are here: screening, it screened as an attack; not_yet_screened, the account's screening allowance had no room for it at that moment."New value: +"Why none of its words are here: screening, it screened as an attack; not_yet_screened, the account's screening allowance had no room for it at that moment; too_large_to_screen, it needs more than that allowance ever holds, so the person opens it at its link, or finds it by its date where it has none."
    • changedOutput schema / properties / messages / items / properties / withheld / enum
      Previous value: -[
      -  "screening",
      -  "not_yet_screened"
      -]New value: +[
      +  "screening",
      +  "not_yet_screened",
      +  "too_large_to_screen"
      +]
    • changedOutput schema / properties / threads / items / properties / messages / items / properties / withheld / description
      Previous value: -"Why none of its words are here: screening, it screened as an attack; not_yet_screened, the account's screening allowance had no room for it at that moment."New value: +"Why none of its words are here: screening, it screened as an attack; not_yet_screened, the account's screening allowance had no room for it at that moment; too_large_to_screen, it needs more than that allowance ever holds, so the person opens it at its link, or finds it by its date where it has none."
    • changedOutput schema / properties / threads / items / properties / messages / items / properties / withheld / enum
      Previous value: -[
      -  "screening",
      -  "not_yet_screened"
      -]New value: +[
      +  "screening",
      +  "not_yet_screened",
      +  "too_large_to_screen"
      +]
  3. Changed7 schema fields changed
    • removedOutput schema / properties / messages / items / properties / withheld / const
      Removed value: -"screening"
    • addedOutput schema / properties / messages / items / properties / withheld / description
      Added value: +"Why none of its words are here: screening, it screened as an attack; not_yet_screened, the account's screening allowance had no room for it at that moment."
    • addedOutput schema / properties / messages / items / properties / withheld / enum
      Added value: +[
      +  "screening",
      +  "not_yet_screened"
      +]
    • addedOutput schema / properties / screeningWait
      Added value: +{
      +  "description": "Present where a message is marked not_yet_screened: the seconds to wait before reading those messages by their ids.",
      +  "type": "number"
      +}
    • removedOutput schema / properties / threads / items / properties / messages / items / properties / withheld / const
      Removed value: -"screening"
    • addedOutput schema / properties / threads / items / properties / messages / items / properties / withheld / description
      Added value: +"Why none of its words are here: screening, it screened as an attack; not_yet_screened, the account's screening allowance had no room for it at that moment."
    • addedOutput schema / properties / threads / items / properties / messages / items / properties / withheld / enum
      Added value: +[
      +  "screening",
      +  "not_yet_screened"
      +]
  4. Changed1 schema field changed
    • addedOutput schema / properties / asked / items / properties / newestOnly
      Added value: +{
      +  "description": "The folders whose provider showed only their newest messages, each with how many it showed: every one holds more, and nothing before those was read, searched, counted or acted on, so finding nothing there says nothing of the rest.",
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "folder": {
      +        "type": "string"
      +      },
      +      "shown": {
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "folder",
      +      "shown"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
  5. Changed2 schema fields changed
    • changedInput schema / properties / run / description
      Previous value: -"The name of a task this search is one run of, repeated as on a schedule - 1 to 40 letters, digits and hyphens. Each mailbox is then read from ten minutes before the last run under that name began reading it, or for the last 24 hours where none has, its first run, as its asked entry says under run. A mailbox's mark moves only once a run answers its whole period to its last page, so one not reached or not paged to its end is read from its older mark next time: page on with nextPageToken under the same run. An account keeps 50 names, the longest unused forgotten first."New value: +"The name of a task this search is one run of, repeated as on a schedule - 1 to 40 letters, digits and hyphens. Each mailbox is then read from ten minutes before the last run under that name began reading it, or for the last 24 hours where none has, its first run, as its asked entry says under run. A mailbox's mark moves only once a run answers its whole period to its last page, so one not reached or not paged to its end is read from its older mark next time, and nextPageToken under the same run pages on to it. An account keeps 50 names, the longest unused forgotten first."
    • changedInput schema / properties / waiting / description
      Previous value: -"on_me answers only the threads waiting for the person's reply - their newest message someone else's, addressed to them; on_others only those waiting on another's - their newest message the person's own. Every mailbox is then read by thread, whatever by says, and each thread is answered with its newest message alone, drafts aside; one whose newest message reports a failed delivery is marked bounced and waits on nobody. Judge from each message what it asks. A page holds only what waits, so it can be short while more names a mailbox holding more. A Gmail, whatever its provider, and an Outlook mailbox answer both; any other mailbox whose provider is imap answers on_me by the mail no mail app marked answered and cannot answer on_others."New value: +"on_me answers only the threads waiting for the person's reply - their newest message someone else's, addressed to them; on_others only those waiting on another's - their newest message the person's own. Every mailbox is then read by thread, whatever by says, and each thread is answered with its newest message alone, drafts aside; one whose newest message reports a failed delivery is marked bounced and waits on nobody. A thread is picked by who wrote last and to whom - on any other mailbox whose provider is imap, by its answered mark - never by what its message asks, which its words alone say. A page holds only what waits, so it can be short while more names a mailbox holding more. A Gmail, whatever its provider, and an Outlook mailbox answer both; any other mailbox whose provider is imap answers on_me by the mail no mail app marked answered and cannot answer on_others."
  6. Changed1 schema field changed
    • changedInput schema / properties / maxResults / description
      Previous value: -"How many results to take from each mailbox."New value: +"How many results to take from each mailbox, 5 where left out."
  7. Changed4 schema fields changed
    • changedInput schema / properties / view / description
      Previous value: -"summary, the default, carries each message's subject and snippet; headers leaves both out."New value: +"summary, the default, carries each message's subject and snippet; headers leaves both out; compact, the lightest page, carries only each message's id, threadId, sender, date, unread mark, subject and the first 100 characters of its snippet."
    • changedInput schema / properties / view / enum
      Previous value: -[
      -  "summary",
      -  "headers"
      -]New value: +[
      +  "summary",
      +  "headers",
      +  "compact"
      +]
    • changedOutput schema / properties / messages / items / required
      Previous value: -[
      -  "id",
      -  "threadId",
      -  "date",
      -  "draftId",
      -  "mailbox"
      -]New value: +[
      +  "id",
      +  "threadId",
      +  "date",
      +  "mailbox"
      +]
    • changedOutput schema / properties / threads / items / properties / messages / items / required
      Previous value: -[
      -  "id",
      -  "threadId",
      -  "date",
      -  "draftId"
      -]New value: +[
      +  "id",
      +  "threadId",
      +  "date"
      +]
  8. Changed10 schema fields changed
    • addedOutput schema / properties / messages / items / properties / focus
      Added value: +{
      +  "description": "Outlook alone, on a message in the inbox: whether it sits in Focused or Other.",
      +  "enum": [
      +    "focused",
      +    "other"
      +  ],
      +  "type": "string"
      +}
    • addedOutput schema / properties / messages / items / properties / hasFile
      Added value: +{
      +  "description": "Whether the message carries a file.",
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / messages / items / properties / important
      Added value: +{
      +  "description": "Whether it is marked important: Gmail's own importance mark, Outlook's high importance. A password mailbox other than a Gmail keeps none.",
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / messages / items / properties / invitation
      Added value: +{
      +  "description": "Whether it invites to a meeting or updates one; a cancellation or an answer to one does not.",
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / messages / items / properties / mailingList
      Added value: +{
      +  "description": "Whether it names a mailing list it came from, in a List-Id or List-Unsubscribe header.",
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / threads / items / properties / messages / items / properties / focus
      Added value: +{
      +  "description": "Outlook alone, on a message in the inbox: whether it sits in Focused or Other.",
      +  "enum": [
      +    "focused",
      +    "other"
      +  ],
      +  "type": "string"
      +}
    • addedOutput schema / properties / threads / items / properties / messages / items / properties / hasFile
      Added value: +{
      +  "description": "Whether the message carries a file.",
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / threads / items / properties / messages / items / properties / important
      Added value: +{
      +  "description": "Whether it is marked important: Gmail's own importance mark, Outlook's high importance. A password mailbox other than a Gmail keeps none.",
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / threads / items / properties / messages / items / properties / invitation
      Added value: +{
      +  "description": "Whether it invites to a meeting or updates one; a cancellation or an answer to one does not.",
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / threads / items / properties / messages / items / properties / mailingList
      Added value: +{
      +  "description": "Whether it names a mailing list it came from, in a List-Id or List-Unsubscribe header.",
      +  "type": "boolean"
      +}
  9. Changed4 schema fields changed
    • changedInput schema / properties / q / description
      Previous value: -"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 ( ). 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: and cc: (never me), subject:, plain words and quoted phrases, -word or -\"a phrase\" leaving it out, is:unread, one run of OR between any of those (as a OR b OR c), has:attachment, and larger: and smaller: in bytes or as 500K or 5M, after: and before: as 2026/01/31, newer_than: in days, months or years, 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 NOT, and is searched by message in every folder but the bin and junk. Every mailbox is asked these alike, in its own provider's language or applied to what it answers: from:, to: and cc: (never me), subject:, plain words and quoted phrases, OR between any of those (as a OR b OR c), -word or -\"a phrase\" leaving it out, is:unread, has:attachment, larger: in bytes or as 500K or 5M, in:trash or in:spam searching the bin or spam alone, and dates: after: and before: as 2026/01/31, read as midnight in the time zone answers name under now, or with an offset as 2026-01-31T09:00+01:00, and newer_than: as 7d, 2m or 1y, each mailbox answering only what arrived inside the period, with no AND, NOT, AROUND, NEAR or ONEAR in capitals. A password mailbox other than a Gmail reads one run of OR, and a query holding more leaves it out. Where the mailboxes read different languages - a Gmail reads Gmail's, whatever its provider - a query holding any other term is refused; where they read one, it is asked whole."New value: +"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 ( ). 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: and cc: (never me), subject:, plain words and quoted phrases, -word or -\"a phrase\" leaving it out, is:unread, one run of OR between any of those (as a OR b OR c), has:attachment, and larger: and smaller: in bytes or as 500K or 5M, after: and before: as 2026/01/31, newer_than: in days, months or years, 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 NOT, and is searched by message in every folder but the bin and junk. Every mailbox is asked these alike, in its own provider's language or applied to what it answers: from:, to: and cc: (never me), subject:, plain words and quoted phrases, OR between any of those (as a OR b OR c), -word or -\"a phrase\" leaving it out, is:unread, has:attachment, larger: in bytes or as 500K or 5M, in:trash or in:spam searching the bin or spam alone, and dates: after: and before: as 2026/01/31, read as midnight in the time zone answers name under now, or with an offset as 2026-01-31T09:00+01:00, and newer_than: as 7d, 2m or 1y, each mailbox answering only what arrived inside the period, with no AND, NOT, AROUND, NEAR or ONEAR in capitals. A password mailbox other than a Gmail reads one run of OR, and a query holding more leaves it out. Where the mailboxes read different languages - a Gmail reads Gmail's, whatever its provider - a query holding any other term is refused; where they read one, it is asked whole. Left out, every message is answered."
    • addedInput schema / properties / run
      Added value: +{
      +  "description": "The name of a task this search is one run of, repeated as on a schedule - 1 to 40 letters, digits and hyphens. Each mailbox is then read from ten minutes before the last run under that name began reading it, or for the last 24 hours where none has, its first run, as its asked entry says under run. A mailbox's mark moves only once a run answers its whole period to its last page, so one not reached or not paged to its end is read from its older mark next time: page on with nextPageToken under the same run. An account keeps 50 names, the longest unused forgotten first.",
      +  "pattern": "^[A-Za-z0-9-]{1,40}$",
      +  "type": "string"
      +}
    • removedInput schema / required
      Removed value: -[
      -  "q"
      -]
    • addedOutput schema / properties / asked / items / properties / run
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "Present under a run: the period this mailbox was read for.",
      +  "properties": {
      +    "firstRun": {
      +      "const": true,
      +      "description": "Present on a run's first call where no run under this name had read this mailbox.",
      +      "type": "boolean"
      +    },
      +    "since": {
      +      "description": "Where this mailbox was read from: ten minutes before the last run under this name began reading it, 24 hours ago on its first, or where the query's own period begins, if later; a query asked whole in one provider's language narrows it further by any date of its own.",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "since"
      +  ],
      +  "type": "object"
      +}
  10. Changed3 schema fields changed
    • addedInput schema / properties / waiting
      Added value: +{
      +  "description": "on_me answers only the threads waiting for the person's reply - their newest message someone else's, addressed to them; on_others only those waiting on another's - their newest message the person's own. Every mailbox is then read by thread, whatever by says, and each thread is answered with its newest message alone, drafts aside; one whose newest message reports a failed delivery is marked bounced and waits on nobody. Judge from each message what it asks. A page holds only what waits, so it can be short while more names a mailbox holding more. A Gmail, whatever its provider, and an Outlook mailbox answer both; any other mailbox whose provider is imap answers on_me by the mail no mail app marked answered and cannot answer on_others.",
      +  "enum": [
      +    "on_me",
      +    "on_others"
      +  ],
      +  "type": "string"
      +}
    • addedOutput schema / properties / asked / items / properties / waitingByMark
      Added value: +{
      +  "const": true,
      +  "description": "Present where this mailbox answers what waits on the person by the mail no mail app marked answered, each message as a thread of its own: mail answered from an app that marks nothing still reads as waiting.",
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / threads / items / properties / bounced
      Added value: +{
      +  "const": true,
      +  "description": "Present where the thread's newest message reports a delivery that failed: the mail before it did not arrive, and it waits on nobody.",
      +  "type": "boolean"
      +}
  11. Changed6 schema fields changed
    • addedInput schema / properties / mailboxes
      Added value: +{
      +  "description": "The mailboxes to search, each by its name or email address; every one where none is named.",
      +  "items": {
      +    "description": "The mailbox's name or its email address.",
      +    "minLength": 1,
      +    "type": "string"
      +  },
      +  "minItems": 1,
      +  "type": "array"
      +}
    • addedInput schema / properties / pageToken
      Added value: +{
      +  "description": "The nextPageToken of the answer before, asked with every other input the same: it searches on each mailbox it names from where that mailbox's page stopped, and no other. A thread can recur on a later page.",
      +  "type": "string"
      +}
    • changedInput schema / properties / q / description
      Previous value: -"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: and cc: (never me), subject:, plain words and quoted phrases, -word or -\"a phrase\" leaving it out, is:unread, one run of OR between any of those (as a OR b OR c), has:attachment, and larger: and smaller: in bytes or as 500K or 5M, after: and before: as 2026/01/31, newer_than: in days, months or years, 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 NOT, and is searched by message in every folder but the bin and junk. Every mailbox is asked these alike, in its own provider's language or applied to what it answers: from:, to: and cc: (never me), subject:, plain words and quoted phrases, OR between any of those (as a OR b OR c), -word or -\"a phrase\" leaving it out, is:unread, has:attachment, larger: in bytes or as 500K or 5M, in:trash or in:spam searching the bin or spam alone, and dates: after: and before: as 2026/01/31, read as midnight in the time zone answers name under now, or with an offset as 2026-01-31T09:00+01:00, and newer_than: as 7d, 2m or 1y, each mailbox answering only what arrived inside the period, with no AND, NOT, AROUND, NEAR or ONEAR in capitals. A password mailbox other than a Gmail reads one run of OR, and a query holding more leaves it out. Where the mailboxes read different languages - a Gmail reads Gmail's, whatever its provider - a query holding any other term is refused; where they read one, it is asked whole."New value: +"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 ( ). 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: and cc: (never me), subject:, plain words and quoted phrases, -word or -\"a phrase\" leaving it out, is:unread, one run of OR between any of those (as a OR b OR c), has:attachment, and larger: and smaller: in bytes or as 500K or 5M, after: and before: as 2026/01/31, newer_than: in days, months or years, 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 NOT, and is searched by message in every folder but the bin and junk. Every mailbox is asked these alike, in its own provider's language or applied to what it answers: from:, to: and cc: (never me), subject:, plain words and quoted phrases, OR between any of those (as a OR b OR c), -word or -\"a phrase\" leaving it out, is:unread, has:attachment, larger: in bytes or as 500K or 5M, in:trash or in:spam searching the bin or spam alone, and dates: after: and before: as 2026/01/31, read as midnight in the time zone answers name under now, or with an offset as 2026-01-31T09:00+01:00, and newer_than: as 7d, 2m or 1y, each mailbox answering only what arrived inside the period, with no AND, NOT, AROUND, NEAR or ONEAR in capitals. A password mailbox other than a Gmail reads one run of OR, and a query holding more leaves it out. Where the mailboxes read different languages - a Gmail reads Gmail's, whatever its provider - a query holding any other term is refused; where they read one, it is asked whole."
    • addedOutput schema / properties / nextPageToken
      Added value: +{
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • changedOutput schema / properties / threads / items / required
      Previous value: -[
      -  "id",
      -  "link",
      -  "messages",
      -  "mailbox"
      -]New value: +[
      +  "id",
      +  "messages",
      +  "mailbox"
      +]
    • changedOutput schema / required
      Previous value: -[
      -  "shown",
      -  "searched",
      -  "perMailboxMaxResults",
      -  "more",
      -  "unreadable",
      -  "asked",
      -  "unreachable",
      -  "now"
      -]New value: +[
      +  "shown",
      +  "searched",
      +  "perMailboxMaxResults",
      +  "more",
      +  "nextPageToken",
      +  "unreadable",
      +  "asked",
      +  "unreachable",
      +  "now"
      +]
  12. Changed4 schema fields changed
    • changedInput schema / properties / q / description
      Previous value: -"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: and cc: (never me), subject:, plain words and quoted phrases, -word or -\"a phrase\" leaving it out, is:unread, one run of OR between any of those (as a OR b OR c), has:attachment, and larger: and smaller: in bytes or as 500K or 5M, after: and before: as 2026/01/31, newer_than: in days, months or years, 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 NOT, and is searched by message in every folder but the bin and junk. Where the mailboxes read different languages - a Gmail reads Gmail's, whatever its provider - only from:, to:, subject:, plain words and quoted phrases are read alike, with no AND, OR or NOT, and dates: after: and before: as 2026/01/31, read as midnight in the time zone answers name under now, or with an offset as 2026-01-31T09:00+01:00, and newer_than: as 7d, 2m or 1y, each mailbox answering only what arrived inside the period."New value: +"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: and cc: (never me), subject:, plain words and quoted phrases, -word or -\"a phrase\" leaving it out, is:unread, one run of OR between any of those (as a OR b OR c), has:attachment, and larger: and smaller: in bytes or as 500K or 5M, after: and before: as 2026/01/31, newer_than: in days, months or years, 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 NOT, and is searched by message in every folder but the bin and junk. Every mailbox is asked these alike, in its own provider's language or applied to what it answers: from:, to: and cc: (never me), subject:, plain words and quoted phrases, OR between any of those (as a OR b OR c), -word or -\"a phrase\" leaving it out, is:unread, has:attachment, larger: in bytes or as 500K or 5M, in:trash or in:spam searching the bin or spam alone, and dates: after: and before: as 2026/01/31, read as midnight in the time zone answers name under now, or with an offset as 2026-01-31T09:00+01:00, and newer_than: as 7d, 2m or 1y, each mailbox answering only what arrived inside the period, with no AND, NOT, AROUND, NEAR or ONEAR in capitals. A password mailbox other than a Gmail reads one run of OR, and a query holding more leaves it out. Where the mailboxes read different languages - a Gmail reads Gmail's, whatever its provider - a query holding any other term is refused; where they read one, it is asked whole."
    • addedOutput schema / properties / asked
      Added value: +{
      +  "description": "Each mailbox searched, with what of the query its provider honoured itself and what was applied after.",
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "appliedAfter": {
      +        "description": "The query's terms the provider could not apply exactly, applied to what it answered: those pages can be short while more matches wait.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "ccMatchesBcc": {
      +        "const": true,
      +        "description": "Present where this mailbox's cc: also matches blind copies.",
      +        "type": "boolean"
      +      },
      +      "ceiling": {
      +        "description": "The most matches this provider's search answers, where its search stopped there.",
      +        "type": "number"
      +      },
      +      "honoured": {
      +        "description": "The query's terms this mailbox's provider applied itself, as written.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "mailbox": {
      +        "type": "string"
      +      },
      +      "notSearched": {
      +        "description": "The folders the call had no time left to search.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      }
      +    },
      +    "required": [
      +      "mailbox",
      +      "honoured"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / unreachable / items / properties / cannotRead
      Added value: +{
      +  "description": "The terms of the query this mailbox cannot read, which left it out of the search.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "shown",
      -  "searched",
      -  "perMailboxMaxResults",
      -  "more",
      -  "unreadable",
      -  "unreachable",
      -  "now"
      -]New value: +[
      +  "shown",
      +  "searched",
      +  "perMailboxMaxResults",
      +  "more",
      +  "unreadable",
      +  "asked",
      +  "unreachable",
      +  "now"
      +]
  13. Changed3 schema fields changed
    • changedInput schema / properties / q / description
      Previous value: -"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 read different languages - a Gmail reads Gmail's, whatever its provider - only from:, to:, subject:, plain words and quoted phrases are read alike, with no AND, OR or NOT, and dates: after: and before: as 2026/01/31, read as midnight in the time zone answers name under now, or with an offset as 2026-01-31T09:00+01:00, and newer_than: as 7d, 2m or 1y, each mailbox answering only what arrived inside the period."New value: +"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: and cc: (never me), subject:, plain words and quoted phrases, -word or -\"a phrase\" leaving it out, is:unread, one run of OR between any of those (as a OR b OR c), has:attachment, and larger: and smaller: in bytes or as 500K or 5M, after: and before: as 2026/01/31, newer_than: in days, months or years, 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 NOT, and is searched by message in every folder but the bin and junk. Where the mailboxes read different languages - a Gmail reads Gmail's, whatever its provider - only from:, to:, subject:, plain words and quoted phrases are read alike, with no AND, OR or NOT, and dates: after: and before: as 2026/01/31, read as midnight in the time zone answers name under now, or with an offset as 2026-01-31T09:00+01:00, and newer_than: as 7d, 2m or 1y, each mailbox answering only what arrived inside the period."
    • addedOutput schema / properties / messages / items / properties / answered
      Added value: +{
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / threads / items / properties / messages / items / properties / answered
      Added value: +{
      +  "type": "boolean"
      +}
  14. Changed3 schema fields changed
    • changedInput schema / properties / q / description
      Previous value: -"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 read different languages - a Gmail reads Gmail's, whatever its provider - only from:, to:, subject:, plain words and quoted phrases are read alike, with no AND, OR or NOT, and dates: after: and before: as 2026/01/31, read as midnight UTC, or with an offset as 2026-01-31T09:00+01:00, and newer_than: as 7d, 2m or 1y, each mailbox answering only what arrived inside the period."New value: +"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 read different languages - a Gmail reads Gmail's, whatever its provider - only from:, to:, subject:, plain words and quoted phrases are read alike, with no AND, OR or NOT, and dates: after: and before: as 2026/01/31, read as midnight in the time zone answers name under now, or with an offset as 2026-01-31T09:00+01:00, and newer_than: as 7d, 2m or 1y, each mailbox answering only what arrived inside the period."
    • addedOutput schema / properties / now
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "The person's own time zone, in which every time this answer gives is written, and their time now in it.",
      +  "properties": {
      +    "noneStored": {
      +      "description": "Present where the person has stored no time zone: that every time here is UTC, and how one gets stored.",
      +      "type": "string"
      +    },
      +    "time": {
      +      "type": "string"
      +    },
      +    "timeZone": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "timeZone",
      +    "time"
      +  ],
      +  "type": "object"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "shown",
      -  "searched",
      -  "perMailboxMaxResults",
      -  "more",
      -  "unreadable",
      -  "unreachable"
      -]New value: +[
      +  "shown",
      +  "searched",
      +  "perMailboxMaxResults",
      +  "more",
      +  "unreadable",
      +  "unreachable",
      +  "now"
      +]
  15. Changed2 schema fields changed
    • removedOutput schema / properties / messages / items / properties / folder / enum
      Removed value: -[
      -  "inbox",
      -  "sent",
      -  "archive",
      -  "drafts",
      -  "deleted",
      -  "junk",
      -  "other"
      -]
    • removedOutput schema / properties / threads / items / properties / messages / items / properties / folder / enum
      Removed value: -[
      -  "inbox",
      -  "sent",
      -  "archive",
      -  "drafts",
      -  "deleted",
      -  "junk",
      -  "other"
      -]
  16. Changed4 schema fields changed
    • addedOutput schema / properties / messages / items / properties / withheld
      Added value: +{
      +  "const": "screening",
      +  "type": "string"
      +}
    • changedOutput schema / properties / messages / items / required
      Previous value: -[
      -  "id",
      -  "threadId",
      -  "from",
      -  "to",
      -  "cc",
      -  "bcc",
      -  "date",
      -  "draft",
      -  "draftId",
      -  "unread",
      -  "labelIds",
      -  "mailbox"
      -]New value: +[
      +  "id",
      +  "threadId",
      +  "date",
      +  "draftId",
      +  "mailbox"
      +]
    • addedOutput schema / properties / threads / items / properties / messages / items / properties / withheld
      Added value: +{
      +  "const": "screening",
      +  "type": "string"
      +}
    • changedOutput schema / properties / threads / items / properties / messages / items / required
      Previous value: -[
      -  "id",
      -  "threadId",
      -  "from",
      -  "to",
      -  "cc",
      -  "bcc",
      -  "date",
      -  "draft",
      -  "draftId",
      -  "unread",
      -  "labelIds"
      -]New value: +[
      +  "id",
      +  "threadId",
      +  "date",
      +  "draftId"
      +]
  17. Changed1 schema field changed
    • changedInput schema / properties / q / description
      Previous value: -"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."New value: +"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 read different languages - a Gmail reads Gmail's, whatever its provider - only from:, to:, subject:, plain words and quoted phrases are read alike, with no AND, OR or NOT, and dates: after: and before: as 2026/01/31, read as midnight UTC, or with an offset as 2026-01-31T09:00+01:00, and newer_than: as 7d, 2m or 1y, each mailbox answering only what arrived inside the period."
  18. Changed2 schema fields changed
    • addedOutput schema / properties / messages / items / properties / omittedRecipients
      Added value: +{
      +  "type": "number"
      +}
    • addedOutput schema / properties / threads / items / properties / messages / items / properties / omittedRecipients
      Added value: +{
      +  "type": "number"
      +}
  19. Changed1 schema field changed
    • addedOutput schema / properties / omitted
      Added value: +{
      +  "type": "number"
      +}
  20. Changed1 schema field changed
    • changedInput schema / properties / q / description
      Previous value: -"A Gmail mailbox 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 ( ). 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. A 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."New value: +"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."
  21. Changed1 schema field changed
    • changedInput schema / properties / q / description
      Previous value: -"A Gmail mailbox 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 ( ). 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. A 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, 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."New value: +"A Gmail mailbox 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 ( ). 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. A 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."
  22. Changed2 schema fields changed
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • changedOutput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  23. Changed1 schema field changed
    • changedInput schema / properties / q / description
      Previous value: -"A Gmail mailbox 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 ( ). 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. A mailbox whose provider is imap reads only from:, to: (never me), subject:, plain words and quoted phrases, with no AND, OR or NOT, and answers the first page of a search 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."New value: +"A Gmail mailbox 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 ( ). 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. A 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, 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."
  24. Changed3 schema fields changed
    • changedInput schema / properties / q / description
      Previous value: -"A Gmail mailbox 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 ( ). 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. 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."New value: +"A Gmail mailbox 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 ( ). 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. A mailbox whose provider is imap reads only from:, to: (never me), subject:, plain words and quoted phrases, with no AND, OR or NOT, and answers the first page of a search 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."
    • changedOutput schema / properties / messages / items / required
      Previous value: -[
      -  "id",
      -  "threadId",
      -  "from",
      -  "to",
      -  "cc",
      -  "bcc",
      -  "date",
      -  "draft",
      -  "draftId",
      -  "unread",
      -  "labelIds",
      -  "link",
      -  "mailbox"
      -]New value: +[
      +  "id",
      +  "threadId",
      +  "from",
      +  "to",
      +  "cc",
      +  "bcc",
      +  "date",
      +  "draft",
      +  "draftId",
      +  "unread",
      +  "labelIds",
      +  "mailbox"
      +]
    • changedOutput schema / properties / threads / items / properties / messages / items / required
      Previous value: -[
      -  "id",
      -  "threadId",
      -  "from",
      -  "to",
      -  "cc",
      -  "bcc",
      -  "date",
      -  "draft",
      -  "draftId",
      -  "unread",
      -  "labelIds",
      -  "link"
      -]New value: +[
      +  "id",
      +  "threadId",
      +  "from",
      +  "to",
      +  "cc",
      +  "bcc",
      +  "date",
      +  "draft",
      +  "draftId",
      +  "unread",
      +  "labelIds"
      +]
  25. Changed32 schema fields changed
    • removedOutput schema / properties / messages / items / properties / bcc / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / messages / items / properties / bcc / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / messages / items / properties / cc / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / messages / items / properties / cc / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / messages / items / properties / date / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / messages / items / properties / date / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / messages / items / properties / draftId / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / messages / items / properties / draftId / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / messages / items / properties / from / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / messages / items / properties / from / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / messages / items / properties / snippet / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / messages / items / properties / snippet / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / messages / items / properties / subject / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / messages / items / properties / subject / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / messages / items / properties / to / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / messages / items / properties / to / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / threads / items / properties / messages / items / properties / bcc / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / threads / items / properties / messages / items / properties / bcc / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / threads / items / properties / messages / items / properties / cc / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / threads / items / properties / messages / items / properties / cc / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / threads / items / properties / messages / items / properties / date / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / threads / items / properties / messages / items / properties / date / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / threads / items / properties / messages / items / properties / draftId / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / threads / items / properties / messages / items / properties / draftId / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / threads / items / properties / messages / items / properties / from / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / threads / items / properties / messages / items / properties / from / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / threads / items / properties / messages / items / properties / snippet / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / threads / items / properties / messages / items / properties / snippet / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / threads / items / properties / messages / items / properties / subject / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / threads / items / properties / messages / items / properties / subject / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / threads / items / properties / messages / items / properties / to / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / threads / items / properties / messages / items / properties / to / type
      Added value: +[
      +  "string",
      +  "null"
      +]
  26. First observed

TDQS

A3.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare read-only, non-destructive, non-open-world behavior, and the description adds substantial context: merged newest-first results, thread grouping by newest message, mailbox provenance, omittedRecipients counting, time-zone offsets, pagination behavior, and run-mark advancement rules. It also discloses provider-specific limitations for 'waiting' and query support.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single dense run-on paragraph with awkward phrasing and repeated provider-specific search-operator details. The purpose is front-loaded, but the rest is poorly structured and much of it duplicates the schema rather than earning its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex multi-mailbox search with pagination, incremental runs, and waiting modes, it covers provider differences, result merging, partial pages, and failure reporting. The output schema handles return values, and the main missing piece is explicit routing guidance versus messages_list.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all eight parameters are already documented in the schema, including the extensive provider-specific 'q' syntax and 'run' mark semantics. The description largely repeats that schema content and adds only limited additional meaning, such as 'Left out, every message is answered' for 'q'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Search every mailbox you have connected - every email account at once - in one call, or only those mailboxes names.' The scope is clear enough to distinguish it from a single-mailbox search, though it does not name the sibling messages_list explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explains the two main modes, all connected mailboxes or only named ones, and suggests incremental polling: 'the time of the last look is the cheapest way to watch for new mail.' The 'run' parameter description also covers scheduled repeated searches, but there is no explicit when-not guidance or named alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.