Инструмент: search_conversations
Поиск чатов Google Chat (чат-групп с названием, прямых переписок или групповых чатов) по отображаемому названию или участникам для поиска идентификаторов чатов.
Этот инструмент выполняет поиск по метаданным чата, а не по содержимому сообщений. Чтобы выполнить поиск по истории переписки или найти сообщения по ключевому слову, отправителю или временной метке, используйте 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 MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
Схема ввода
SearchConversationsRequest
| JSON-представление |
|---|
{ "spaceNameQuery": string, "pageSize": integer, "pageToken": string, "participants": [ string ] } |
| Поля | |
|---|---|
spaceNameQuery |
Необязательное поле. Текст для поиска в отображаемых названиях чат-групп (совпадение подстроки без учета регистра). |
pageSize |
Необязательное поле. Максимальное количество чат-групп, которые нужно вернуть. Сервис может вернуть меньше результатов, чем указано в этом значении. Если значение не указано, будет возвращено не более 20 чат-групп. Максимальное значение – 1000. Если указать большее значение, оно будет автоматически уменьшено до 1000. |
pageToken |
Необязательное поле. Токен страницы, полученный из предыдущего вызова |
participants[] |
Необязательное поле. Список адресов электронной почты участников, по которым нужно отфильтровать чаты, за исключением вызывающего абонента. |
Схема вывода
Ответ, содержащий список подходящих чатов.
SearchConversationsResponse
| JSON-представление |
|---|
{
"conversations": [
{
object ( |
| Поля | |
|---|---|
conversations[] |
Список объектов чата, соответствующих критериям поиска. Каждый чат включает conversation_id (формат: spaces/{space}), display_name, conversation_type и last_active_timestamp. |
nextPageToken |
Токен, который можно отправить как Заполняется, только если запрос отфильтрован по |
Чат
| JSON-представление |
|---|
{
"conversationId": string,
"displayName": string,
"conversationType": enum ( |
| Поля | |
|---|---|
conversationId |
Идентификатор чата (например, "spaces/AAAAAAAAA"). |
displayName |
Отображаемое название чата. Для именованных чат-групп это название группы. Для прямой переписки это имя другого участника. Для групповых чатов без названия это сгенерированное название на основе имен участников. |
conversationType |
Тип чата (DIRECT_MESSAGE, GROUP_CHAT или NAMED_SPACE). |
lastActiveTimestamp |
Время последнего действия в чате в формате ISO 8601. Используется формат RFC 3339. Результат всегда будет Z-нормализованным, и в нем будут использоваться цифры дробных частей 0, 3, 6 или 9. Допустимы и другие типы нормализации. Примеры: |
Временная метка
| JSON-представление |
|---|
{ "seconds": string, "nanos": integer } |
| Поля | |
|---|---|
seconds |
Представляет секунды времени UTC с начала эпохи Unix (1970-01-01T00:00:00Z). Значение должно быть в диапазоне от -62135596800 до 253402300799 включительно (что соответствует периоду с 0001-01-01T00:00:00Z до 9999-12-31T23:59:59Z). |
nanos |
Доля секунды в наносекундах. Это поле содержит наносекундную часть длительности, а не альтернативу секундам. Свойство может принимать только неотрицательное целочисленное значение, даже если значение временной отметки в секундах является отрицательным. Значение должно быть в диапазоне от 0 до 999 999 999 включительно. |
ConversationType
Определяет тип разговора.
| Перечисления | |
|---|---|
CONVERSATION_TYPE_UNSPECIFIED |
Не указано. |
NAMED_SPACE |
Именованная чат-группа. |
GROUP_CHAT |
Групповой чат с тремя или более пользователями. |
DIRECT_MESSAGE |
Прямая переписка между двумя людьми или между человеком и приложением Chat. |
Аннотации инструментов
Аннотации инструментов отправляются клиентам MCP, чтобы описать базовый риск, связанный с определенным инструментом. Большинство клиентов считают эти подсказки ненадежными, но их можно использовать, чтобы решить, когда пользователю может быть отправлен запрос на подтверждение.
Помимо строки заголовка, определены следующие логические подсказки:
readOnlyHint: если задано значение true, инструмент не изменяет свою среду. Значение по умолчанию – false.destructiveHint: если задано значение True, инструмент может выполнять деструктивные действия. Если задано значение false, инструмент может выполнять только действия по добавлению. Значение по умолчанию: true.idempotentHint. Если задано значение True, повторный вызов инструмента с теми же аргументами не будет иметь дополнительного эффекта в его среде. Значение по умолчанию – false.openWorldHint: если задано значение true, инструмент может взаимодействовать с открытым миром внешних объектов. Если false, то инструмент может взаимодействовать только с внутренними объектами. Например, инструмент веб-поиска будет открытым миром, а инструмент памяти – нет.
Destructive Hint: ❌ | Idempotent Hint: ✅ | Read Only Hint: ✅ | Open World Hint: ❌
Области авторизации
Требует одной из следующих областей применения OAuth:
https://www.googleapis.com/auth/chat.memberships.readonlyhttps://www.googleapis.com/auth/chat.spaceshttps://www.googleapis.com/auth/chat.spaces.readonly