MCP Tools Reference: chatmcp.googleapis.com

Narzędzie: list_messages

Pobiera wiadomości z określonej rozmowy w Google Chat (pokoju, czatu lub czatu grupowego) w formacie Markdown. Umożliwia filtrowanie według wątku, zakresu czasu i liczby wiadomości. Można też pobrać następną stronę wiadomości, aby uzyskać więcej kontekstu. Wiadomości prywatne (widoczne tylko dla jednego użytkownika) są odfiltrowywane.

Poniższy przykładowy kod pokazuje, jak używać curl do wywoływania narzędzia MCP list_messages.

Żądanie 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": "list_messages",
    "arguments": {
      // Provide these details according to the MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

Schemat wejściowy

ListChatMessagesRequest

Zapis JSON
{
  "conversationId": string,
  "threadId": string,
  "pageSize": integer,
  "pageToken": string,
  "startTime": string,
  "endTime": string
}
Pola
conversationId

string

Wymagane. Identyfikator rozmowy. Rozmowa może być pokojem, czatem lub czatem grupowym. Format: spaces/{space}

threadId

string

Opcjonalnie: Identyfikator konkretnego wątku w rozmowie. Jeśli zostanie podany, zwracane będą tylko wiadomości z tego wątku. Jeśli nie zostanie podany, brane pod uwagę będą wiadomości ze wszystkich wątków w rozmowie. Format: spaces/{space}/threads/{thread}

pageSize

integer

Opcjonalnie: Maksymalna liczba wiadomości do zwrócenia. Usługa może zwrócić mniejszą liczbę wyników. Jeśli nie określono inaczej, domyślnie jest to 20. Maksymalna wartość to 50. Jeśli użyjesz wartości większej niż 50, zostanie ona automatycznie zmieniona na 50.

pageToken

string

Opcjonalnie: Token strony otrzymany z poprzedniego wywołania list_messages. Podaj go, aby pobrać kolejną stronę.

startTime

string

Opcjonalnie: Sygnatura czasowa ISO 8601 do filtrowania wiadomości. Zwracane będą tylko wiadomości utworzone po tym czasie.

endTime

string

Opcjonalnie: Sygnatura czasowa ISO 8601 do filtrowania wiadomości. Zwracane będą tylko wiadomości utworzone przed tym czasem.

Schemat wyjściowy

Odpowiedź zawierająca listę wiadomości z żądanej rozmowy.

ListChatMessagesResponse

Zapis JSON
{
  "messages": [
    {
      object (ChatMessage)
    }
  ],
  "nextPageToken": string
}
Pola
messages[]

object (ChatMessage)

Lista pobranych wiadomości w odwrotnym porządku chronologicznym (od najnowszych).

nextPageToken

string

Token, który można wysłać jako page_token w kolejnym żądaniu ListMessagesRequest, aby pobrać następną stronę wiadomości. Jeśli to pole jest puste, nie ma więcej stron.

ChatMessage

Zapis JSON
{
  "messageId": string,
  "threadId": string,
  "plaintextBody": string,
  "sender": {
    object (User)
  },
  "createTime": string,
  "threadedReply": boolean,
  "attachments": [
    {
      object (ChatAttachmentMetadata)
    }
  ],
  "reactionSummaries": [
    {
      object (ReactionSummary)
    }
  ],
  "quotedMessageMetadata": {
    object (QuotedMessageMetadata)
  }
}
Pola
messageId

string

Nazwa zasobu wiadomości. Format: spaces/{space}/messages/{message}

threadId

string

Wątek, do którego należy ta wiadomość. Jeśli wiadomość nie jest częścią wątku, to pole będzie puste. Format: spaces/{space}/threads/{thread}

plaintextBody

string

Treść wiadomości w formacie Markdown.

sender

object (User)

Nadawca wiadomości.

createTime

string

Tylko dane wyjściowe. Sygnatura czasowa utworzenia wiadomości. Format: sygnatura czasowa ISO 8601.

threadedReply

boolean

Określa, czy wiadomość jest odpowiedzią w wątku.

attachments[]

object (ChatAttachmentMetadata)

Załączniki dołączone do wiadomości.

reactionSummaries[]

object (ReactionSummary)

Podsumowanie reakcji emotikonami zawarte w wiadomości.

quotedMessageMetadata

object (QuotedMessageMetadata)

Tylko dane wyjściowe. Informacje o oryginalnej wiadomości, która jest cytowana lub przekazywana w tej wiadomości. Uwaga: to pole jest w trakcie opracowywania i może nie być jeszcze dostępne we wszystkich środowiskach.

Użytkownik

Zapis JSON
{
  "userId": string,
  "displayName": string,
  "email": string,
  "userType": enum (UserType)
}
Pola
userId

string

Nazwa zasobu użytkownika Google Chat. Format: users/{user}.

displayName

string

Wyświetlana nazwa użytkownika Google Chat.

email

string

Adres e-mail użytkownika. To pole jest wypełniane tylko wtedy, gdy typ użytkownika to HUMAN.

userType

enum (UserType)

Typ użytkownika.

ChatAttachmentMetadata

Zapis JSON
{
  "attachmentId": string,
  "filename": string,
  "mimeType": string,
  "source": enum (Source),
  "driveFileId": string
}
Pola
attachmentId

string

Nazwa zasobu załącznika. Format: spaces/{space}/messages/{message}/attachments/{attachment}.

filename

string

Nazwa załącznika.

mimeType

string

Typ treści (typ MIME).

source

enum (Source)

Źródło załącznika.

driveFileId

string

Tylko dane wyjściowe. Identyfikator pliku na Dysku Google. Wypełniane tylko wtedy, gdy źródłem jest DRIVE_FILE. Używaj z MCP Dysku Google.

ReactionSummary

Zapis JSON
{
  "emoji": string,
  "count": integer
}
Pola
emoji

string

Ciąg znaków unicode emotikona lub nazwa niestandardowego emotikona.

count

integer

Łączna liczba reakcji z użyciem powiązanego emotikona.

QuotedMessageMetadata

Zapis JSON
{
  "messageId": string,
  "lastUpdateTime": string,
  "quoteType": enum (QuoteType),
  "plaintextBody": string,
  "sender": string,
  "attachments": [
    {
      object (ChatAttachmentMetadata)
    }
  ],
  "forwardedMetadata": {
    object (ForwardedMetadata)
  }
}
Pola
messageId

string

Tylko dane wyjściowe. Nazwa zasobu oryginalnej wiadomości, która jest cytowana lub przekazywana dalej. Format: spaces/{space}/messages/{message}

lastUpdateTime

string

Tylko dane wyjściowe. Sygnatura czasowa określająca, kiedy oryginalna wiadomość została utworzona lub ostatnio zaktualizowana przed jej zacytowaniem lub przekazaniem dalej. Format: sygnatura czasowa ISO 8601.

quoteType

enum (QuoteType)

Tylko dane wyjściowe. Typ cytatu.

plaintextBody

string

Tylko dane wyjściowe. Zrzut treści oryginalnej wiadomości w momencie cytowania lub przekazywania. Sformatowane za pomocą Markdown w przypadku FORWARD i zwykłego tekstu w przypadku REPLY.

sender

string

Tylko dane wyjściowe. Wyświetlana nazwa autora oryginalnej wiadomości.

attachments[]

object (ChatAttachmentMetadata)

Tylko dane wyjściowe. załączniki, które były częścią oryginalnej wiadomości; Wartość podawana tylko w przypadku typu wyceny FORWARD.

forwardedMetadata

object (ForwardedMetadata)

Tylko dane wyjściowe. Metadane dotyczące rozmowy źródłowej przekazanej wiadomości. Wartość podawana tylko w przypadku typu wyceny FORWARD.

ForwardedMetadata

Zapis JSON
{
  "conversationId": string,
  "conversationDisplayName": string
}
Pola
conversationId

string

Tylko dane wyjściowe. Nazwa zasobu rozmowy źródłowej. Format: spaces/{space}

conversationDisplayName

string

Tylko dane wyjściowe. Wyświetlana nazwa rozmowy źródłowej w momencie przekazania wiadomości. W przypadku nazwanych pokoi jest to nazwa pokoju. W przypadku czatów indywidualnych jest to nazwa drugiego uczestnika. W przypadku czatów grupowych bez nazwy jest to nazwa wygenerowana na podstawie nazw użytkowników.

UserType

Typ użytkownika Google Chat.

Wartości w polu enum
USER_TYPE_UNSPECIFIED Nie określono.
HUMAN Użytkownik.
APP Użytkownik aplikacji.

Źródło

Źródło załącznika.

Wartości w polu enum
SOURCE_UNSPECIFIED Zarezerwowane.
DRIVE_FILE Plik jest plikiem z Dysku Google.
UPLOADED_CONTENT Plik zostanie przesłany do Google Chat.

QuoteType

Typ cytatu wskazujący, czy wiadomość jest odpowiedzią z cytatem czy przekazaną wiadomością.

Wartości w polu enum
QUOTE_TYPE_UNSPECIFIED Zarezerwowane. Niezdefiniowany typ cytatu.
REPLY Wiadomość jest odpowiedzią z cytatem na oryginalną wiadomość w tym samym wątku.
FORWARD Wiadomość została przekazana z oryginalnej wiadomości w innej rozmowie lub z innego wątku w tej samej rozmowie.

Adnotacje dotyczące narzędzi

Adnotacje narzędzi są wysyłane do klientów MCP, aby opisać podstawowe ryzyko związane z danym narzędziem. Większość klientów traktuje te wskazówki jako niezaufane, ale można ich użyć do określenia, kiedy wysłać użytkownikowi prośbę o potwierdzenie.

Oprócz ciągu tytułu zdefiniowane są te wskazówki logiczne:

  • readOnlyHint: jeśli ma wartość „true”, narzędzie nie modyfikuje swojego środowiska. Wartość domyślna: false.
  • destructiveHint: jeśli ma wartość „true”, narzędzie może wykonywać działania destrukcyjne. Jeśli ma wartość false, narzędzie może wykonywać tylko działania dodawania. Wartość domyślna: true.
  • idempotentHint: jeśli ma wartość „true”, wielokrotne wywoływanie narzędzia z tymi samymi argumentami nie będzie miało dodatkowego wpływu na jego środowisko. Wartość domyślna: false.
  • openWorldHint: jeśli ma wartość true, narzędzie może wchodzić w interakcje z „otwartym światem” elementów zewnętrznych. Jeśli ma wartość false, narzędzie może wchodzić w interakcje tylko z encjami wewnętrznymi. Na przykład narzędzie do wyszukiwania w internecie jest narzędziem typu Otwarty świat, ale narzędzie do zapamiętywania już nie.

Wskazówka dotycząca niszczenia: ❌ | Wskazówka dotycząca idempotencji: ✅ | Wskazówka dotycząca tylko do odczytu: ✅ | Wskazówka dotycząca otwartego świata: ❌

Zakresy autoryzacji

Wymaga jednego z tych zakresów OAuth:

  • https://www.googleapis.com/auth/chat.messages
  • https://www.googleapis.com/auth/chat.messages.readonly