MCP Tools Reference: chatmcp.googleapis.com

Narzędzie: search_conversations

Wyszukuje rozmowy w Google Chat (pokoje z nazwami, czaty lub czaty grupowe) według nazwy wyświetlanej lub uczestników, aby znaleźć identyfikatory rozmów.

To narzędzie wyszukuje metadane rozmowy, a NIE treść wiadomości. Aby wyszukać coś w historii wiadomości lub znaleźć wiadomości według słowa kluczowego, nadawcy lub sygnatury czasowej, użyj ikony search_messages.

Jeśli podano tylko participants, to narzędzie wyszuka czaty indywidualne (jeśli podano 1 uczestnika) lub czaty grupowe (jeśli podano wielu uczestników), w których uczestniczą podani użytkownicy i użytkownik wywołujący.

Jeśli podano tylko query, to narzędzie wyszukuje rozmowy, w których zapytanie jest ciągiem znaków w nazwie wyświetlanej rozmowy (bez uwzględniania wielkości liter).

Jeśli podasz zarówno participants, jak i query, to narzędzie znajdzie rozmowy według uczestników, a następnie odfiltruje je według nazwy wyświetlanej.

Jeśli nie podasz wartości participants ani query, to narzędzie wyświetli listę wszystkich rozmów, w których uczestniczy dany użytkownik.

To narzędzie wyświetla tylko rozmowy, w których uczestniczy dany użytkownik.

Zwraca listę obiektów rozmowy zawierających identyfikatory rozmów (format: spaces/{space}), nazwy wyświetlane i typy rozmów.

WAŻNE: pusta lista conversations nie oznacza, że nie ma więcej wyników. Jeśli występuje parametr next_page_token, można pobrać więcej stron. Jeśli otrzymasz pustą listę, ale pojawi się symbol next_page_token, zapytaj użytkownika, czy chcesz kontynuować wyszukiwanie.

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

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

Schemat danych wejściowych

SearchConversationsRequest

Zapis JSON
{
  "spaceNameQuery": string,
  "pageSize": integer,
  "pageToken": string,
  "participants": [
    string
  ]
}
Pola
spaceNameQuery

string

Opcjonalnie: Tekst, który ma być wyszukiwany w wyświetlanych nazwach pokoi (bez rozróżniania wielkości liter).

pageSize

integer

Opcjonalnie: Maksymalna liczba miejsc do zwrócenia. Usługa może zwrócić mniej niż ta wartość. Jeśli nie podasz tej wartości, zwrócimy maksymalnie 20 pokoi. Maksymalna wartość to 1000. Wartości powyżej 1000 zostaną zmienione na 1000.

pageToken

string

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

participants[]

string

Opcjonalnie: Lista adresów e-mail uczestników, według których mają być filtrowane rozmowy (z wyłączeniem osoby dzwoniącej).

Schemat wyjściowy

Odpowiedź zawierająca listę pasujących rozmów.

SearchConversationsResponse

Zapis JSON
{
  "conversations": [
    {
      object (Conversation)
    }
  ],
  "nextPageToken": string
}
Pola
conversations[]

object (Conversation)

Lista obiektów konwersacji pasujących do kryteriów wyszukiwania. Każda rozmowa zawiera identyfikator rozmowy (format: spaces/{space}), nazwę wyświetlaną, typ rozmowy i znacznik czasu ostatniej aktywności.

nextPageToken

string

Token, który można wysłać jako page_token, aby pobrać następną stronę. Jeśli pominiesz to pole, nie będzie kolejnych stron.

Wypełnione tylko wtedy, gdy żądanie jest filtrowane według participants.

Rozmowa

Zapis JSON
{
  "conversationId": string,
  "displayName": string,
  "conversationType": enum (ConversationType),
  "lastActiveTimestamp": string
}
Pola
conversationId

string

Identyfikator rozmowy (np. „spaces/AAAAAAAAA”).

displayName

string

Wyświetlana nazwa rozmowy.

conversationType

enum (ConversationType)

Typ rozmowy (DIRECT_MESSAGE, GROUP_CHAT lub NAMED_SPACE).

lastActiveTimestamp

string (Timestamp format)

Ostatnia aktywność w konwersacji w formacie ISO 8601.

Korzysta ze standardu RFC 3339, w którym wygenerowane dane wyjściowe są zawsze znormalizowane do formatu Z i zawierają 0, 3, 6 lub 9 cyfr po przecinku. Akceptowane są też przesunięcia inne niż „Z”. Przykłady: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" lub "2014-10-02T15:01:23+05:30".

Sygnatura czasowa

Zapis JSON
{
  "seconds": string,
  "nanos": integer
}
Pola
seconds

string (int64 format)

Reprezentuje sekundy czasu UTC od epoki uniksowej 1970-01-01T00:00:00Z. Musi mieścić się w przedziale od -62135596800 do 253402300799 włącznie (co odpowiada zakresowi od 0001-01-01T00:00:00Z do 9999-12-31T23:59:59Z).

nanos

integer

Nieujemne ułamki sekundy w rozdzielczości nanosekundowej. To pole zawiera część czasu trwania w nanosekundach, a nie alternatywę dla sekund. Ujemne wartości sekund z ułamkami muszą mieć nieujemne wartości nanosekund, które liczą czas do przodu. Musi mieścić się w zakresie od 0 do 999 999 999 włącznie.

ConversationType

Określa typ rozmowy.

Wartości w polu enum
CONVERSATION_TYPE_UNSPECIFIED Nie określono.
NAMED_SPACE nazwany pokój,
GROUP_CHAT czat grupowy z co najmniej 3 osobami;
DIRECT_MESSAGE Czat między 2 osobami lub między osobą a aplikacją w Google Chat.

Adnotacje narzędzi

Adnotacje narzędzia 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żywać do określania, kiedy użytkownikowi może zostać wysłany monit o potwierdzenie.

Oprócz ciągu znaków tytułu zdefiniowano te wskazówki logiczne:

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

Destructive Hint: ❌ | Idempotent Hint: ✅ | Read Only Hint: ✅ | Open World Hint: ❌

Zakresy autoryzacji

Wymaga jednego z tych zakresów OAuth:

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