MCP Tools Reference: chatmcp.googleapis.com

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

Поиск диалогов в Google Chat (именованные пространства, личные сообщения или групповые чаты) по отображаемому имени или участникам для определения идентификаторов диалогов.

Этот инструмент ищет метаданные переписки, а НЕ содержимое сообщений. Для поиска в истории сообщений или поиска сообщений по ключевому слову/отправителю/временной метке используйте search_messages или participants для поиска идентификаторов переписки.

Этот инструмент ищет метаданные переписки, а НЕ содержимое сообщений. Для поиска в истории сообщений или поиска сообщений по ключевому слову/отправителю/временной метке используйте search_messages .

Если указаны только participants , этот инструмент находит прямые сообщения один на один (если указан один участник) или групповые чаты (если указано несколько участников), в которых участвуют указанные участники и вызывающий пользователь.

Если указан только query , этот инструмент ищет беседы, в которых запрос представляет собой подстроку отображаемого имени беседы без учета регистра.

Если указаны и participants , и query , этот инструмент находит беседы по участникам, а затем фильтрует их по отображаемому имени.

Если ни participants , ни query не указаны, этот инструмент отображает список всех разговоров, в которых участвует вызывающий пользователь.

Этот инструмент отображает только те беседы, в которых участвует вызывающий пользователь.

Возвращает список объектов диалогов, содержащих идентификаторы диалогов (формат: пробелы/{пробел}), отображаемые имена и типы диалогов.

Возвращает список объектов диалогов, содержащих идентификаторы диалогов (формат: spaces/{space} ), отображаемые имена и типы диалогов.

ВАЖНО: Пустой список conversations не означает, что результатов больше нет. Если присутствует next_page_token , можно получить доступ к дополнительным страницам. Если список пуст, но next_page_token присутствует, спросите пользователя, следует ли продолжить поиск.

Приведённый ниже пример кода демонстрирует, как использовать curl для вызова инструмента MCP search_conversations .

Запрос Curl
curl --location 'https://chatmcp.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_conversations",
    "arguments": {
      // provide these details according to the tool MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

Схема ввода

SearchConversationsRequest

JSON-представление
{
  "spaceNameQuery": string,
  "pageSize": integer,
  "pageToken": string,
  "participants": [
    string
  ]
}
Поля
spaceNameQuery

string

Необязательно. Текст для поиска в отображаемых именах в пространстве (совпадение подстрок без учета регистра).

pageSize

integer

Необязательный параметр. Максимальное количество возвращаемых символов. Сервис может вернуть меньше этого значения. Если параметр не указан, будет возвращено не более 20 символов. Максимальное значение — 1000; значения выше 1000 будут преобразованы в 1000.

pageToken

string

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

participants[]

string

Необязательно. Список адресов электронной почты участников для фильтрации разговоров, исключая звонившего.

Схема вывода

Ответ, содержащий список соответствующих диалогов.

SearchConversationsResponse

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

object ( Conversation )

Список объектов диалога, соответствующих критериям поиска. Каждый диалог включает в себя conversation_id (формат: пробелы/{пробел}), display_name, conversation_type и last_active_timestamp.

nextPageToken

string

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

Заполняется только в том случае, если запрос отфильтрован по participants .

Беседа

JSON-представление
{
  "conversationId": string,
  "displayName": string,
  "conversationType": enum (ConversationType),
  "lastActiveTimestamp": string
}
Поля
conversationId

string

Идентификатор беседы (например, "spaces/AAAAAAAAAA").

displayName

string

Отображаемое имя беседы.

conversationType

enum ( ConversationType )

Тип беседы (DIRECT_MESSAGE, GROUP_CHAT или NAMED_SPACE).

lastActiveTimestamp

string ( Timestamp format)

Время последней активности разговора в формате ISO 8601.

Используется RFC 3339, согласно которому генерируемый вывод всегда будет Z-нормализован и будет содержать 0, 3, 6 или 9 дробных знаков. Допускаются также смещения, отличные от "Z". Примеры: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" или "2014-10-02T15:01:23+05:30" .

Отметка времени

JSON-представление
{
  "seconds": string,
  "nanos": integer
}
Поля
seconds

string ( int64 format)

Обозначает количество секунд UTC-времени с начала эпохи Unix 1970-01-01T00:00:00Z. Должно находиться в диапазоне от -62135596800 до 253402300799 включительно (что соответствует периоду с 0001-01-01T00:00:00Z по 9999-12-31T23:59:59Z).

nanos

integer

Неотрицательные доли секунды с разрешением в наносекунды. Это поле представляет собой наносекундную часть длительности, а не альтернативу секундам. Отрицательные значения секунд с дробными долями должны по-прежнему иметь неотрицательные значения в наносекундах, отсчитываемые вперед во времени. Должны быть в диапазоне от 0 до 999 999 999 включительно.

ConversationType

Определяет тип разговора.

Перечисления
CONVERSATION_TYPE_UNSPECIFIED Не указано.
NAMED_SPACE Названное пространство.
GROUP_CHAT Групповой чат с участием 3 или более человек.
DIRECT_MESSAGE Прямое сообщение между двумя людьми или между человеком и приложением для чата.

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

Аннотации к инструментам отправляются клиентам MCP для описания основных рисков, связанных с данным инструментом. Большинство клиентов считают эти подсказки недостоверными, но они могут использоваться для определения момента отправки пользователю запроса на подтверждение.

Наряду со строкой заголовка, определены следующие логические подсказки:

  • readOnlyHint : Если true, инструмент не изменяет свою среду. По умолчанию: false.
  • destructiveHint : Если true, то инструмент может выполнять деструктивные действия. Если false, то инструмент может выполнять только аддитивные действия. По умолчанию: true.
  • idempotentHint : Если true, то многократный вызов инструмента с одними и теми же аргументами не окажет дополнительного влияния на его окружение. По умолчанию: false.
  • openWorldHint : Если true, то инструмент может взаимодействовать с «открытым миром» внешних объектов. Если false, то инструмент может взаимодействовать только с внутренними объектами. Например, инструмент веб-поиска будет представлять собой открытый мир, а инструмент для работы с памятью — нет.

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

Области полномочий

Требуется один из следующих диапазонов аутентификации OAuth:

  • https://www.googleapis.com/auth/chat.memberships.readonly
  • https://www.googleapis.com/auth/chat.spaces
  • https://www.googleapis.com/auth/chat.spaces.readonly