MCP Tools Reference: chatmcp.googleapis.com

Narzędzie: search_conversations

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

To narzędzie przeszukuje metadane rozmowy, a NIE treść wiadomości. Aby przeszukać historię wiadomości lub znaleźć wiadomości według słowa kluczowego, nadawcy lub sygnatury czasowej, użyj narzędzia search_messages lub participants, aby znaleźć identyfikatory rozmów.

To narzędzie przeszukuje metadane rozmowy, a NIE treść wiadomości. Aby przeszukać historię wiadomości lub znaleźć wiadomości według słowa kluczowego, nadawcy lub sygnatury czasowej, użyj narzędzia search_messages.

Jeśli podasz tylko participants, to narzędzie znajdzie czaty 1:1 (jeśli podasz 1 uczestnika) lub czaty grupowe (jeśli podasz kilku uczestników), które obejmują określonych uczestników i użytkownika wywołującego.

Jeśli podasz tylko query, to narzędzie wyszuka rozmowy, w których zapytanie jest podciągiem wyświetlanej nazwy 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 wyświetlanej nazwy.

Jeśli nie podasz ani participants, ani query, to narzędzie wyświetli listę wszystkich rozmów, których członkiem jest użytkownik wywołujący.

To narzędzie wyświetla tylko rozmowy, których członkiem jest użytkownik wywołujący.

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

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

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

Ten przykładowy kod pokazuje, jak użyć narzędzia curl do wywołania narzędzia MCP search_conversations.

Żą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 tool MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

Schemat wejściowy

SearchConversationsRequest

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

string

Opcjonalnie. Tekst do wyszukania w wyświetlanych nazwach pokoi (podciąg bez uwzględniania wielkości liter).

pageSize

integer

Opcjonalnie. Maksymalna liczba pokoi do zwrócenia. Usługa może zwrócić mniej niż ta wartość. Jeśli nie określisz tej wartości, zostanie zwróconych co najwyżej 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 go, aby pobrać następną stronę.

participants[]

string

Opcjonalnie. Lista adresów e-mail uczestników, według których mają być filtrowane rozmowy, z wyłączeniem osoby wywołują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 rozmowy pasujących do kryteriów wyszukiwania. Każda rozmowa zawiera conversation_id (format: spaces/{space}), display_name, conversation_type i last_active_timestamp.

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łniane 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)

Czas ostatniej aktywności w rozmowie 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 zakresie 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 z dokładnością do nanosekundy. To pole jest częścią czasu trwania w nanosekundach, a nie alternatywą dla sekund. Wartości ułamków sekund z ujemnymi sekundami muszą nadal mieć nieujemne wartości nanos, które liczą się do przodu w czasie. 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 Pokój nazwany.
GROUP_CHAT Czat grupowy z udziałem co najmniej 3 osób.
DIRECT_MESSAGE Wiadomość na czacie między 2 osobami lub między osobą a aplikacją Chat.

Adnotacje narzędzia

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żyć do określenia, kiedy należy wysłać użytkownikowi prośbę o potwierdzenie.

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

  • readOnlyHint: jeśli ma wartość true, narzędzie nie modyfikuje swojego środowiska. Domyślnie: 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 dodające. Domyślnie: 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. Domyślnie: false.
  • openWorldHint: jeśli ma wartość true, narzędzie może wchodzić w interakcje z „otwartym światem” podmiotów zewnętrznych. Jeśli ma wartość false, 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 zarządzania pamięcią – nie.

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

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