MCP Tools Reference: chatmcp.googleapis.com

Araç: search_conversations

Görüşme kimliklerini bulmak için Google Chat görüşmelerini (adlandırılmış alanlar, doğrudan mesajlar (DM'ler) veya grup sohbetleri) görünen ada ya da katılımcılara göre arar.

Bu araç, mesaj içeriklerini DEĞİL, görüşme meta verilerini arar. Mesaj geçmişinde arama yapmak veya mesajları anahtar kelimeye/gönderene/zaman damgasına göre bulmak için search_messages simgesini kullanın.

Yalnızca participants sağlanırsa bu araç, belirtilen katılımcıları ve arayan kullanıcıyı içeren bire bir doğrudan mesajları (bir katılımcı sağlanırsa) veya grup sohbetlerini (birden fazla katılımcı sağlanırsa) bulur.

Yalnızca query sağlanırsa bu araç, sorgunun görüşmenin görünen adının büyük/küçük harfe duyarsız bir alt dizesi olduğu görüşmeleri arar.

Hem participants hem de query sağlanırsa bu araç, katılımcıların konuşmalarını bulur ve ardından bunları görünen ada göre filtreler.

participants veya query sağlanmazsa bu araç, arayan kullanıcının üyesi olduğu tüm görüşmeleri listeler.

Bu araç yalnızca arayan kullanıcının üyesi olduğu görüşmeleri listeler.

İleti dizisi kimliklerini (biçim: spaces/{space}), görünen adları ve ileti dizisi türlerini içeren ileti dizisi nesnelerinin listesini döndürür.

ÖNEMLİ: Boş bir conversations listesi, genel olarak başka sonuç olmadığı anlamına gelmez. next_page_token varsa daha fazla sayfa getirilebilir. Boş bir liste alırsanız ancak next_page_token simgesi görürseniz kullanıcıya aramaya devam edip etmemeniz gerektiğini sorun.

Aşağıdaki kod örneğinde, search_conversations MCP aracını çağırmak için curl simgesinin nasıl kullanılacağı gösterilmektedir.

Curl İsteği
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
}'

Giriş Şeması

SearchConversationsRequest

JSON gösterimi
{
  "spaceNameQuery": string,
  "pageSize": integer,
  "pageToken": string,
  "participants": [
    string
  ]
}
Alanlar
spaceNameQuery

string

İsteğe bağlı. Alan görünen adlarında aranacak metin (büyük/küçük harfe duyarsız alt dize eşleşmesi).

pageSize

integer

İsteğe bağlı. Döndürülecek maksimum alan sayısı. Hizmet, bu değerden daha az sonuç döndürebilir. Belirtilmezse en fazla 20 boşluk döndürülür. Maksimum değer 1.000'dir. 1.000'in üzerindeki değerler 1.000'e zorlanır.

pageToken

string

İsteğe bağlı. Önceki bir search_conversations çağrısından alınan sayfa jetonu. Sonraki sayfayı almak için bunu sağlayın.

participants[]

string

İsteğe bağlı. Arayan hariç, görüşmeleri filtrelemek için kullanılacak katılımcıların e-posta adreslerinin listesi.

Çıkış şeması

Eşleşen görüşmelerin listesini içeren yanıt.

SearchConversationsResponse

JSON gösterimi
{
  "conversations": [
    {
      object (Conversation)
    }
  ],
  "nextPageToken": string
}
Alanlar
conversations[]

object (Conversation)

Arama ölçütleriyle eşleşen görüşme nesnelerinin listesi. Her görüşme; conversation_id (biçim: spaces/{space}), görünen ad, conversation_type ve zaman damgası içerir.

nextPageToken

string

Sonraki sayfayı almak için page_token olarak gönderilebilen bir jeton. Bu alan atlanırsa sonraki sayfa yoktur.

Sohbet

JSON gösterimi
{
  "conversationId": string,
  "displayName": string,
  "conversationType": enum (ConversationType),
  "lastActiveTimestamp": string
}
Alanlar
conversationId

string

Görüşmenin kimliği (ör. "spaces/AAAAAAAAA").

displayName

string

Konuşmanın görünen adı.

conversationType

enum (ConversationType)

Görüşme türü (DIRECT_MESSAGE, GROUP_CHAT veya NAMED_SPACE).

lastActiveTimestamp

string (Timestamp format)

ISO 8601 biçiminde belirtilen, görüşmenin son etkin olduğu zaman.

Zaman damgasında RFC 3339 kullanılır. Yani oluşturulan çıkış her zaman Z ile normalleştirilir ve 0, 3, 6 veya 9 kesirli basamak kullanılır. "Z" dışındaki zaman farkları da kabul edilir. Örnekler: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" veya "2014-10-02T15:01:23+05:30".

Zaman damgası

JSON gösterimi
{
  "seconds": string,
  "nanos": integer
}
Alanlar
seconds

string (int64 format)

Unix sıfır zamanı 1970-01-01T00:00:00Z'den itibaren UTC zamanının saniyelerini gösterir. -62135596800 ile 253402300799 arasında (0001-01-01T00:00:00Z ile 9999-12-31T23:59:59Z'ye karşılık gelir) olmalıdır.

nanos

integer

Nanosaniye çözünürlüğünde, negatif olmayan saniyenin kesirleri. Bu alan, saniyelere alternatif olarak değil, sürenin nanosaniye kısmını belirtmek için kullanılır. Kesirli negatif saniye değerleri, zaman içinde ileriye doğru sayılan negatif olmayan nanos değerlerine sahip olmalıdır. 0 ile 999.999.999 arasında olmalıdır (bu değerler dahil).

ConversationType

Görüşme türünü tanımlar.

Sıralamalar
CONVERSATION_TYPE_UNSPECIFIED Belirtilmedi.
NAMED_SPACE Adlandırılmış bir alan.
GROUP_CHAT 3 veya daha fazla kişi arasındaki grup sohbeti
DIRECT_MESSAGE İki insan veya bir insan ile bir Chat uygulaması arasındaki doğrudan mesajlar.

Araç Ek Açıklamaları

Araç açıklamaları, belirli bir aracın temel riskini açıklamak için MCP istemcilerine gönderilir. Çoğu istemci bu ipuçlarını güvenilmeyen olarak değerlendirir ancak onay isteminin kullanıcıya ne zaman gönderileceğine karar vermek için kullanılabilirler.

Başlık dizesinin yanı sıra aşağıdaki Boole ipuçları şu şekilde tanımlanır:

  • readOnlyHint: Doğruysa araç ortamını değiştirmez. Varsayılan: false.
  • destructiveHint: Doğruysa araç, yıkıcı işlemler gerçekleştirebilir. Yanlış ise araç yalnızca ekleme işlemleri gerçekleştirebilir. Varsayılan: true.
  • idempotentHint: Doğruysa aynı bağımsız değişkenlerle aracı tekrar tekrar çağırmanın ortamı üzerinde ek bir etkisi olmaz. Varsayılan: false.
  • openWorldHint: Doğruysa araç, harici öğelerden oluşan bir "açık dünya" ile etkileşim kurabilir. Yanlışsa araç yalnızca dahili öğelerle etkileşim kurabilir. Örneğin, bir web arama aracı açık dünya olurken bir bellek aracı açık dünya olmaz.

Yıkıcı İpucu: ❌ | İdempotent İpucu: ✅ | Salt Okunur İpucu: ✅ | Açık Dünya İpucu: ❌

Yetkilendirme Kapsamları

Aşağıdaki OAuth kapsamlarından birini gerektirir:

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