MCP Tools Reference: gmailmcp.googleapis.com

Инструмент: search_threads

Отображает переписку по электронной почте из учетной записи Gmail авторизованного пользователя.

Этот инструмент позволяет фильтровать ветки обсуждений на основе строки запроса и поддерживает пагинацию. Он возвращает список веток, включая их идентификаторы и связанные сообщения. Каждое связанное сообщение содержит подробную информацию, такую ​​как фрагмент текста сообщения, тема, отправитель, получатели и т. д. Обратите внимание, что этот инструмент не возвращает полные тексты сообщений; при необходимости используйте инструмент 'get_thread' с идентификатором ветки, чтобы получить полный текст сообщения. Ветки, не соответствующие критериям, могут по-прежнему отображаться в результатах. Это происходит потому, что Gmail сначала идентифицирует соответствующие сообщения. Например, если вы выполните поиск по запросу -is:starred, Gmail найдет всю ветку, если она содержит хотя бы одно сообщение без звездочки, даже если другие письма в той же беседе отмечены звездочкой.

В следующем примере показано, как использовать curl для вызова инструмента MCP search_threads .

Запрос Curl
curl --location 'https://gmailmcp.googleapis.com/mcp/v1' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
  "method": "tools/call",
  "params": {
    "name": "search_threads",
    "arguments": {
      // provide these details according to the tool's MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

Схема ввода

Сообщение запроса для RPC-вызова SearchThreads.

SearchThreadsRequest

JSON-представление
{

  "pageSize": integer

  "pageToken": string

  "query": string

  "includeTrash": boolean
}
Поля

Объединенное поле _page_size .

_page_size может принимать только одно из следующих значений:

pageSize

integer

Необязательный параметр. Максимальное количество потоков для возврата. Если не указано, по умолчанию используется 20. Максимально допустимое значение — 50.

Поле объединения _page_token .

_page_token может принимать только одно из следующих значений:

pageToken

string

Необязательный параметр. Токен страницы для получения конкретной страницы результатов в списке. Оставьте поле пустым, чтобы получить первую страницу. Он в основном используется для пагинации, чтобы продолжить получение результатов с того места, где остановился предыдущий вызов SearchThreads , особенно когда количество потоков, соответствующих запросу, превышает лимит page_size.

Объединение полей _query .

_query может принимать только одно из следующих значений:

query

string

Необязательно. Строка запроса для фильтрации цепочек сообщений. Запросы на естественном языке должны быть предварительно преобразованы в синтаксис Gmail для использования этого инструмента. Если этот параметр опущен, отображаются все цепочки сообщений (по умолчанию исключая спам и корзину).

Поддерживаемые операторы по категориям:

Отправитель и получатель: от: - Отправлено конкретным человеком. Кому: - Отправлено конкретному лицу. Копия: - Конкретные лица в Cc. bcc: - Конкретные лица в Своде копий, которым доставлены материалы: - Доставка по указанному адресу. Список: - Из определенного списка рассылки.

Время и дата: после:ГГГГ/ММ/ДД / новее:ГГГГ/ММ/ДД - получено после даты. до:ГГГГ/ММ/ДД / старше:ГГГГ/ММ/ДД - получено до даты. старше_чем: - Старше указанного периода (например, 1 год, 2 дня). newer_than: - Более новый, чем указанный срок.

Содержание: тема: - Слова в заголовке. содержит: - Содержит файлы определенных типов (вложения, файлы с диска, с YouTube, документы). Имя файла: - Вложение с определенным именем или типом. "<слово/фраза>" - Поиск по точному слову или фразе (например, "holiday", "holiday vacation"). + - Точное совпадение со словом. (например, +holiday, +unicorn) rfc822msgid: - Заголовок с конкретным идентификатором сообщения. AROUND - Найдите слова, расположенные близко друг к другу (например, holiday AROUND 10 vacation).

Метки и категории: метка: - Под определенной меткой. Инструмент принимает идентификаторы меток, а не отображаемые имена. Используйте инструмент list_labels, чтобы получить идентификатор. категория: - В категории (основные, социальные, рекламные акции, обновления, форумы, бронирования, покупки). in:

Статус: есть: - Поиск по статусу (важно, отмечено звездочкой, непрочитано, прочитано, отключено).

Размер: размер: - Конкретный размер в байтах. Больше: / меньше: - Размер больше или меньше указанного (например, 10 МБ вместо 10 МБ).

Логика и группировка: AND — Соответствие всем критериям (поведение по умолчанию). OR или { } — Соответствие одному или нескольким критериям (например, from:amy OR from:david, {from:amy from:david}). - (минус) — Исключение критериев (например, -movie). ( ) — Группировка нескольких поисковых запросов (например, subject:(dinner film)).

Примеры: "subject:OneMCP Update" "from: user@example.com " "to: user2@example.com AND newer_than:7d" "project proposal has:attachment" "is:unread -in:draft"

Объединенное поле _include_trash .

_include_trash может принимать только одно из следующих значений:

includeTrash

boolean

Необязательно. Включать черновики из корзины в результаты. По умолчанию — false.

Схема вывода

Ответное сообщение для RPC-запроса SearchThreads.

SearchThreadsResponse

JSON-представление
{
  "threads": [
    {
      object (Thread)
    }
  ],
  "nextPageToken": string
}
Поля
threads[]

object ( Thread )

Список кратких описаний тем обсуждения.

nextPageToken

string

Токен, который можно использовать в последующем вызове для получения следующей страницы обсуждений. Присутствует только в том случае, если есть дополнительные результаты. Если количество обсуждений, соответствующих запросу, превышает лимит page_size, ответ будет содержать next_page_token . Чтобы получить следующую страницу результатов, передайте этот токен в поле page_token следующего SearchThreadsRequest .

Нить

JSON-представление
{
  "id": string,
  "messages": [
    {
      object (Message)
    }
  ]
}
Поля
id

string

Уникальный идентификатор темы.

messages[]

object ( Message )

Список сообщений в ветке обсуждения, упорядоченный в хронологическом порядке.

Сообщение

JSON-представление
{
  "id": string,
  "snippet": string,
  "subject": string,
  "sender": string,
  "toRecipients": [
    string
  ],
  "ccRecipients": [
    string
  ],
  "date": string,
  "plaintextBody": string,
  "attachmentIds": [
    string
  ]
}
Поля
id

string

Уникальный идентификатор сообщения.

snippet

string

Фрагмент текста сообщения.

subject

string

Тема сообщения, извлеченная из заголовков:

sender

string

Адрес электронной почты отправителя.

toRecipients[]

string

Адреса электронной почты получателей.

ccRecipients[]

string

Адреса электронной почты получателей копии.

date

string

Дата сообщения в формате ISO 8601 (ГГГГ-ММ-ДД).

plaintextBody

string

Полное содержимое тела сообщения, заполняется только в том случае, если MessageFormat имеет значение FULL_CONTENT.

attachmentIds[]

string

Только для вывода. Идентификаторы вложений заполняются только в том случае, если MessageFormat имеет значение FULL_CONTENT.

Аннотации инструментов

Подсказка о разрушительном эффекте: ❌ | Подсказка об идемпотентности: ✅ | Подсказка только для чтения: ✅ | Подсказка об открытом мире: ❌