Инструмент: list_messages
Извлекает сообщения из указанной беседы в Google Chat (пространство, личные сообщения или групповые сообщения). Позволяет фильтровать сообщения по ветке, временному диапазону и количеству сообщений. Кроме того, можно получить следующую страницу сообщений для получения более подробной информации. Личные сообщения (сообщения, видимые только одному пользователю) отфильтровываются.
В следующем примере показано, как использовать curl для вызова инструмента MCP list_messages .
| Запрос Curl |
|---|
curl --location 'https://chatmcp.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "list_messages", "arguments": { // provide these details according to the tool MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
Схема ввода
Запрос сообщения для RPC-вызова ListMessages.
ListChatMessagesRequest
| JSON-представление |
|---|
{ "conversationId": string, "threadId": string, "pageSize": integer, "pageToken": string, "startTime": string, "endTime": string } |
| Поля | |
|---|---|
conversationId | Обязательно. Идентификатор беседы. Беседа может быть пробелом, личным сообщением (DM) или групповым чатом/чатом. Формат: пробелы/{пробел} |
threadId | Необязательный параметр. Идентификатор конкретной ветки обсуждения. Если указан, будут возвращены только сообщения из этой ветки. Если опущен, будут учитываться сообщения из всех веток обсуждения. Формат: пробелы/{пробел}/ветки/{ветка} |
pageSize | Необязательный параметр. Максимальное количество возвращаемых сообщений. Сервис может вернуть меньше этого значения. Если параметр не указан, по умолчанию используется 20. Максимально допустимое значение — 50. |
pageToken | Необязательный параметр. Токен страницы, полученный из предыдущего вызова функции list_messages. Укажите его, чтобы получить следующую страницу. |
startTime | Необязательно. Метка времени ISO 8601 для фильтрации сообщений. Будут возвращены только сообщения, созданные после этого времени. |
endTime | Необязательно. Метка времени ISO 8601 для фильтрации сообщений. Будут возвращены только сообщения, созданные до этого времени. |
Схема вывода
Ответное сообщение для RPC-запроса ListMessages.
ListChatMessagesResponse
| 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 | Имя ресурса пользователя чата. Формат: users/{user}. |
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 | Общее количество реакций с использованием соответствующего эмодзи. |
Аннотации инструментов
Подсказка о разрушительном эффекте: ❌ | Подсказка об идемпотентности: ✅ | Подсказка только для чтения: ✅ | Подсказка об открытом мире: ❌