Инструмент: search_messages
Поиск сообщений в Google Chat с использованием ключевых слов и фильтров. Работает во всех пространствах, к которым пользователь имеет доступ, или может быть ограничен конкретной беседой.
В следующем примере показано, как использовать curl для вызова инструмента MCP search_messages .
| Запрос Curl |
|---|
curl --location 'https://chatmcp.googleapis.com/mcp/v1' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "search_messages", "arguments": { // provide these details according to the tool MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
Схема ввода
Запрос на поиск сообщений в Google Chat по ключевым словам и фильтрам. Работает во всех пространствах, к которым пользователь имеет доступ, или может быть ограничен конкретной беседой.
SearchMessagesRequest
| JSON-представление |
|---|
{ "searchParameters": { object ( |
| Поля | |
|---|---|
searchParameters | Обязательно. Параметры поиска, используемые для выполнения поиска. |
orderBy | Необязательный параметр. Задает порядок возврата результатов. Поддерживаемые значения: |
pageSize | Необязательный параметр. Максимальное количество возвращаемых результатов (до 100). Если параметр не указан, возвращается не более 25 результатов. |
pageToken | Необязательный параметр. Токен страницы, полученный из предыдущего вызова функции |
Параметры поиска
| JSON-представление |
|---|
{ "keywords": [ string ], "conversationId": string, "sender": string, "isUnread": boolean, "hasLink": boolean, "startTime": string, "endTime": string, "mentionsMe": boolean, "conversationIncludesUser": string, "spaceDisplayNames": [ string ] } |
| Поля | |
|---|---|
keywords[] | Необязательно. Набор ключевых слов, используемых для фильтрации результатов. |
conversationId | Необязательный параметр. Ограничивает поиск определенным идентификатором беседы, возвращаемым инструментом search_conversations. Формат: |
sender | Необязательно. Фильтр для сообщений от конкретного пользователя. Можно использовать либо адрес электронной почты, либо имя ресурса отправителя. Имена ресурсов пользователей форматируются как |
isUnread | Необязательно. Фильтр для сообщений, которые не были прочитаны вызывающим пользователем. |
hasLink | Необязательно. Фильтр для сообщений, содержащих хотя бы один URL-адрес. |
startTime | Необязательно. Фильтр для сообщений, созданных после этого времени. Формат: метка времени ISO 8601. |
endTime | Необязательно. Фильтр для сообщений, созданных до этого времени. Формат: метка времени ISO 8601. |
mentionsMe | Необязательно. Фильтр для сообщений, в которых явно указан вызывающий пользователь. |
conversationIncludesUser | Необязательно. Фильтр для сообщений в личных сообщениях и групповых чатах, содержащих адрес электронной почты или идентификатор конкретного пользователя. |
spaceDisplayNames[] | Необязательно. Фильтрация по списку названий пространств; отображаемые названия пространств совпадут частично. Примечание: возвращаются только 5 лучших совпадений. |
Сортировать по
Указывает порядок возврата результатов. По умолчанию используется RELEVANCE_DESC, если is_unread не задано в значение true, в противном случае используется CREATE_TIME_DESC.
| Перечисления | |
|---|---|
ORDER_BY_UNSPECIFIED | Значение по умолчанию. |
CREATE_TIME_DESC | Сортировать по времени создания в порядке убывания. |
RELEVANCE_DESC | Отсортируйте по релевантности в порядке убывания. |
Схема вывода
Ответ на запрос поиска сообщений в Google Chat. Если поле next_page_token заполнено, вызов функции SearchMessages можно повторить с этим токеном для получения следующей страницы результатов.
SearchMessagesResponse
| JSON-представление |
|---|
{
"messages": [
{
object ( |
| Поля | |
|---|---|
messages[] | Список объектов сообщений, соответствующих критериям поиска, упорядоченный в соответствии с параметром запроса |
nextPageToken | Токен, который можно отправить в качестве |
Сообщение в чате
| JSON-представление |
|---|
{ "messageId": string, "threadId": string, "plaintextBody": string, "sender": { object ( |
| Поля | |
|---|---|
messageId | Имя ресурса сообщения. Формат: |
threadId | Ветка обсуждения, к которой относится это сообщение. Если сообщение не относится к какой-либо ветке, это поле будет пустым. Формат: пробелы/{пробел}/ветки/{ветка} |
plaintextBody | Текст сообщения в обычном формате. |
sender | Отправитель сообщения. |
createTime | Только вывод. Отметка времени создания сообщения. |
threadedReply | Является ли сообщение ответом на сообщение в ветке обсуждения. |
attachments[] | Приложения, вложенные в сообщение. |
reactionSummaries[] | Сводка реакций с помощью эмодзи, включенная в сообщение. |
Пользователь
| JSON-представление |
|---|
{
"userId": string,
"displayName": string,
"email": string,
"userType": enum ( |
| Поля | |
|---|---|
userId | Имя ресурса пользователя чата. Формат: |
displayName | Отображаемое имя пользователя чата. |
email | Адрес электронной почты пользователя. Это поле заполняется только в том случае, если тип пользователя — HUMAN. |
userType | Тип пользователя. |
Метаданные вложения чата
| JSON-представление |
|---|
{
"attachmentId": string,
"filename": string,
"mimeType": string,
"source": enum ( |
| Поля | |
|---|---|
attachmentId | Имя ресурса вложения. Формат: пробелы/{пробел}/сообщения/{сообщение}/вложения/{вложение}. |
filename | Название вложенного файла. |
mimeType | Тип содержимого (MIME-тип). |
source | Источник вложения. |
РеакцияКраткое содержание
| JSON-представление |
|---|
{ "emoji": string, "count": integer } |
| Поля | |
|---|---|
emoji | Строка в формате Юникода для эмодзи или пользовательское имя эмодзи. |
count | Общее количество реакций с использованием соответствующего эмодзи. |
Тип пользователя
Тип пользователя Google Chat.
| Перечисления | |
|---|---|
USER_TYPE_UNSPECIFIED | Не указано. |
HUMAN | Пользователь-человек. |
APP | Пользователь приложения. |
Источник
Источник вложения.
| Перечисления | |
|---|---|
SOURCE_UNSPECIFIED | Сдержанный. |
DRIVE_FILE | Это файл из Google Диска. |
UPLOADED_CONTENT | Файл загружен в чат. |
Аннотации инструментов
Подсказка о разрушительном эффекте: ❌ | Подсказка об идемпотентности: ✅ | Подсказка только для чтения: ✅ | Подсказка об открытом мире: ❌