Инструмент: search_threads
Отображает переписку по электронной почте из учетной записи Gmail авторизованного пользователя.
Этот инструмент позволяет фильтровать ветки обсуждений на основе строки запроса и поддерживает пагинацию. Он возвращает список веток, включая их идентификаторы и связанные сообщения. Каждое связанное сообщение содержит подробную информацию, такую как фрагмент текста сообщения, тема, отправитель, получатели и т. д. Параметр view управляет тем, какие поля заполняются в связанных сообщениях. По умолчанию (или с THREAD_VIEW_MINIMAL ) он включает тему и фрагмент текста. Используйте THREAD_VIEW_METADATA_ONLY , чтобы исключить тему и фрагмент текста. Обратите внимание, что полные тексты сообщений не возвращаются этим инструментом; при необходимости используйте инструмент 'get_thread' с идентификатором ветки, чтобы получить полный текст сообщения. Ветки с исключенными критериями все еще могут отображаться в результатах. Это происходит потому, что Gmail сначала идентифицирует соответствующие сообщения. Например, если вы выполните поиск по запросу -is:starred, Gmail найдет всю ветку, если она содержит хотя бы одно сообщение без звездочки, даже если другие письма в той же беседе отмечены звездочкой.
В следующем примере показано, как использовать curl для вызова инструмента MCP search_threads .
| Запрос Curl |
|---|
curl --location 'https://gmailmcp.googleapis.com/mcp/v1' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \ --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
"view": enum ( |
| Поля | |
|---|---|
Объединенное поле | |
pageSize | Необязательный параметр. Максимальное количество потоков для возврата. Если не указано, по умолчанию используется 20. Максимально допустимое значение — 50. |
Поле объединения | |
pageToken | Необязательный параметр. Токен страницы для получения конкретной страницы результатов в списке. Оставьте поле пустым, чтобы получить первую страницу. Он в основном используется для пагинации, чтобы продолжить получение результатов с того места, где остановился предыдущий вызов |
Объединение полей | |
query | Необязательно. Строка запроса для фильтрации цепочек сообщений. Запросы на естественном языке должны быть предварительно преобразованы в синтаксис Gmail для использования этого инструмента. Если этот параметр опущен, отображаются все цепочки сообщений (по умолчанию исключая спам и корзину). Поддерживаемые операторы по категориям: Отправитель и получатель:
Время и дата:
Содержание:
Метки и категории:
Статус:
Размер:
Логика и группировка:
Примеры:
|
Объединенное поле | |
includeTrash | Необязательно. Включать в результаты обсуждения из раздела «Мусор». По умолчанию — false. |
Union | |
view | Необязательный параметр. Управляет полями, заполняемыми для тем в списке тем. По умолчанию используется THREAD_VIEW_MINIMAL. THREAD_VIEW_MINIMAL возвращает id, snippet, subject, from, to, cc, date, labelIds. THREAD_VIEW_METADATA_ONLY возвращает id, from, to, cc, date, labelIds. |
ThreadView
Перечисление (Enum) для управления полями, заполняемыми для потоков в ответах ListThreads и SearchThreads.
| Перечисления | |
|---|---|
THREAD_VIEW_UNSPECIFIED | Сопоставляется с THREAD_VIEW_MINIMAL для обеспечения обратной совместимости. |
THREAD_VIEW_METADATA_ONLY | Возвращает id, from, to, cc, date, labelIds. |
THREAD_VIEW_MINIMAL | Возвращает id, snippet, subject, from, to, cc, date, labelIds. |
Схема вывода
Ответное сообщение для RPC-запроса SearchThreads.
SearchThreadsResponse
| JSON-представление |
|---|
{
"threads": [
{
object ( |
| Поля | |
|---|---|
threads[] | Список кратких описаний тем обсуждения. |
nextPageToken | Токен, который можно использовать в последующем вызове для получения следующей страницы обсуждений. Присутствует только в том случае, если есть дополнительные результаты. Если количество обсуждений, соответствующих запросу, превышает лимит page_size, ответ будет содержать |
resultCountEstimate | Примерное количество результатов для этого запроса. Его следует рассматривать как нижнюю границу, поэтому, например, если оно равно 500, то пользователю можно сообщить количество как "500+". |
Нить
| JSON-представление |
|---|
{
"id": string,
"messages": [
{
object ( |
| Поля | |
|---|---|
id | Уникальный идентификатор темы. |
messages[] | Список сообщений в ветке обсуждения, упорядоченный в хронологическом порядке. |
Сообщение
| JSON-представление |
|---|
{
"id": string,
"snippet": string,
"subject": string,
"sender": string,
"toRecipients": [
string
],
"ccRecipients": [
string
],
"date": string,
"plaintextBody": string,
"attachmentIds": [
string
],
"htmlBody": string,
"attachments": [
{
object ( |
| Поля | |
|---|---|
id | Уникальный идентификатор сообщения. |
snippet | Фрагмент текста сообщения. |
subject | Тема сообщения, извлеченная из заголовков: |
sender | Адрес электронной почты отправителя. |
toRecipients[] | Адреса электронной почты получателей. |
ccRecipients[] | Адреса электронной почты получателей копии. |
date | Дата сообщения в формате ISO 8601 (ГГГГ-ММ-ДД). |
plaintextBody | Полное содержимое тела сообщения, заполняется только в том случае, если MessageFormat имеет значение FULL_CONTENT. |
attachmentIds[] | Только для вывода. Идентификаторы вложений заполняются только в том случае, если MessageFormat имеет значение FULL_CONTENT. |
htmlBody | HTML-содержимое электронного письма, заполняемое только в том случае, если MessageFormat имеет значение FULL_CONTENT. |
attachments[] | Только вывод. Вложения заполняются только в том случае, если MessageFormat имеет значение FULL_CONTENT. |
labelIds[] | Идентификаторы меток, прикрепленных к сообщению. Включает идентификаторы пользовательских меток и стандартных системных меток, ограниченных следующими: |
Метаданные вложения
| JSON-представление |
|---|
{ "id": string, "mimeType": string, "filename": string } |
| Поля | |
|---|---|
id | Только вывод. Идентификатор вложения. |
mimeType | MIME-тип вложения. |
filename | Имя файла вложения. |
Аннотации инструментов
Подсказка о разрушительном эффекте: ❌ | Подсказка об идемпотентности: ✅ | Подсказка только для чтения: ✅ | Подсказка об открытом мире: ❌
Области полномочий
Требуется один из следующих диапазонов аутентификации OAuth:
-
https://mail.google.com/ -
https://www.googleapis.com/auth/gmail.modify -
https://www.googleapis.com/auth/gmail.readonly