MCP Tools Reference: chatmcp.googleapis.com

Araç: search_messages

Anahtar kelimeleri ve filtreleri kullanarak Google Chat sohbet mesajlarını arar ve bunları Markdown biçiminde döndürür. Kullanıcının erişebildiği tüm alanlarda çalışır veya belirli bir görüşmeyle sınırlandırılabilir.

search_messages ile diğer arama veya okuma araçları arasında seçim yaparken bu kılavuzdan yararlanın:

  • Belirli mesaj içeriklerini, anahtar kelimeleri, bahsedilmeleri, bağlantıları, gönderenleri veya okunmamış mesajları birden fazla alanda ya da bilinmeyen bir görüşme kimliği olmadan ararken search_messages özelliğini kullanın.
  • Belirli bir alan veya mesaj dizisi kimliğini bildiğinizde ve mesajları kronolojik sırayla okumak istediğinizde list_messages yöntemini kullanın.
  • Görüşme kimlikleri gibi alan meta verilerini alan görünen adına veya katılımcılara göre bulmak için search_conversations komutunu kullanın (Yalnızca meta verilerde arama yapar, mesaj içeriklerinde arama yapmaz).

searchParameters belirli filtreler olmadan sağlanırsa kullanıcının erişebildiği görüşmelerdeki son mesajlar döndürülür.

Aşağıdaki kod örneğinde, search_messages MCP aracını çağırmak için curl öğesinin 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_messages",
    "arguments": {
      // Provide these details according to the MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

Giriş Şeması

SearchMessagesRequest

JSON gösterimi
{
  "searchParameters": {
    object (SearchParameters)
  },
  "pageSize": integer,
  "pageToken": string
}
Alanlar
searchParameters

object (SearchParameters)

Zorunlu. Arama için kullanılacak arama parametreleri.

pageSize

integer

İsteğe bağlıdır. Döndürülecek maksimum sonuç sayısı (en fazla 100). Belirtilmezse en fazla 25 öğe döndürülür.

pageToken

string

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

SearchParameters

JSON gösterimi
{
  "keywords": [
    string
  ],
  "conversationId": string,
  "sender": string,
  "isUnread": boolean,
  "hasLink": boolean,
  "startTime": string,
  "endTime": string,
  "mentionsMe": boolean,
  "conversationIncludesUser": string,
  "spaceDisplayNames": [
    string
  ],
  "conversationTypes": [
    enum (ConversationType)
  ],
  "hasAttachment": boolean
}
Alanlar
keywords[]

string

İsteğe bağlıdır. Sonuçları filtrelemek için kullanılan bir anahtar kelime grubu.

conversationId

string

İsteğe bağlıdır. Aramayı, search_conversations aracından döndürülen belirli bir görüşme tanımlayıcısıyla sınırlandırır. Biçim: spaces/{ID}.

sender

string

İsteğe bağlıdır. Belirli bir kullanıcıdan gelen mesajları filtreleme Gönderenin e-posta adresi veya kaynak adı kullanılabilir. Kullanıcı kaynak adları users/{ID} olarak biçimlendirilir. Burada {ID}, bir kişi kimliği veya e-posta adresi olabilir.

isUnread

boolean

İsteğe bağlıdır. Arayan kullanıcı tarafından okunmamış mesajları filtreleyin.

hasLink

boolean

İsteğe bağlıdır. En az bir URL içeren iletileri filtreleyin.

startTime

string

İsteğe bağlıdır. Bu tarihten sonra oluşturulan mesajları filtreleyin. Biçim: ISO 8601 zaman damgası.

endTime

string

İsteğe bağlıdır. Bu zamandan önce oluşturulan mesajları filtreleyin. Biçim: ISO 8601 zaman damgası.

mentionsMe

boolean

İsteğe bağlıdır. Arayan kullanıcıdan açıkça bahsedilen mesajları filtreler.

conversationIncludesUser

string

İsteğe bağlıdır. DM'lerdeki ve grup sohbetlerindeki mesajları, belirli bir kullanıcı e-posta adresini veya kimliğini içerecek şekilde filtreleyin.

spaceDisplayNames[]

string

İsteğe bağlıdır. Alan adları listesine göre filtreleme yapın. Alanların görünen adları kısmen eşleştirilir. Not: Yalnızca en iyi 5 eşleşme döndürülür.

conversationTypes[]

enum (ConversationType)

İsteğe bağlıdır. Görüşme türüne göre filtreleme yapabilirsiniz.

hasAttachment

boolean

İsteğe bağlıdır. En az bir ek içeren iletileri filtreler. Not: Bu alan geliştirme aşamasındadır ve henüz tüm ortamlarda desteklenmeyebilir.

ConversationType

Görüşmenin 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ında yapılan grup sohbeti.
DIRECT_MESSAGE İki kişi veya bir kişi ile bir Chat uygulaması arasındaki doğrudan mesaj.

Çıkış şeması

Google Chat sohbet mesajlarını arama yanıtı. next_page_token doldurulursa SearchMessages çağrısı, sonuçların sonraki sayfasını almak için bu jetonla tekrar çağrılabilir.

SearchMessagesResponse

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

object (ChatMessage)

Arama ölçütleriyle eşleşen mesaj nesnelerinin listesi.

nextPageToken

string

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

ChatMessage

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

string

Mesajın kaynak adı. Biçim: spaces/{space}/messages/{message}

threadId

string

Bu iletinin ait olduğu ileti dizisi. İleti ileti dizisi halinde değilse bu alan boş olur. Biçim: spaces/{space}/threads/{thread}

plaintextBody

string

Markdown biçimlendirmesi kullanılarak mesajın metin gövdesi.

sender

object (User)

Mesajı gönderen kişi.

createTime

string

Yalnızca çıkış. Mesajın oluşturulduğu zaman damgası. Biçim: ISO 8601 zaman damgası.

threadedReply

boolean

Mesajın bir mesaj dizisi yanıtı olup olmadığı.

attachments[]

object (ChatAttachmentMetadata)

İletiye eklenen dosyalar.

reactionSummaries[]

object (ReactionSummary)

Mesaja dahil edilen emoji tepkilerinin özeti.

quotedMessageMetadata

object (QuotedMessageMetadata)

Yalnızca çıkış. Bu iletide alıntılanan veya yönlendirilen orijinal iletiyle ilgili bilgiler. Not: Bu alan geliştirme aşamasındadır ve henüz tüm ortamlarda kullanılamayabilir.

Kullanıcı

JSON gösterimi
{
  "userId": string,
  "displayName": string,
  "email": string,
  "userType": enum (UserType)
}
Alanlar
userId

string

Chat kullanıcısının kaynak adı. Biçim: users/{user}.

displayName

string

Chat kullanıcısının görünen adı.

email

string

Kullanıcının e-posta adresi. Bu alan yalnızca kullanıcı türü HUMAN olduğunda doldurulur.

userType

enum (UserType)

Kullanıcının türü.

ChatAttachmentMetadata

JSON gösterimi
{
  "attachmentId": string,
  "filename": string,
  "mimeType": string,
  "source": enum (Source),
  "driveFileId": string
}
Alanlar
attachmentId

string

Ekin kaynak adı. Biçim: spaces/{alan}/messages/{mesaj}/attachments/{ek}.

filename

string

Ekin adı.

mimeType

string

İçerik türü (MIME türü).

source

enum (Source)

Ekin kaynağı.

driveFileId

string

Yalnızca çıkış. Google Drive dosyasının kimliği. Yalnızca kaynak DRIVE_FILE olduğunda doldurulur. Google Drive MCP ile kullanın.

ReactionSummary

JSON gösterimi
{
  "emoji": string,
  "count": integer
}
Alanlar
emoji

string

Emoji unicode dizesi veya özel emoji adı.

count

integer

İlişkili emoji kullanılarak verilen tepkilerin toplam sayısı.

QuotedMessageMetadata

JSON gösterimi
{
  "messageId": string,
  "lastUpdateTime": string,
  "quoteType": enum (QuoteType),
  "plaintextBody": string,
  "sender": string,
  "attachments": [
    {
      object (ChatAttachmentMetadata)
    }
  ],
  "forwardedMetadata": {
    object (ForwardedMetadata)
  }
}
Alanlar
messageId

string

Yalnızca çıkış. Alıntılanan veya yönlendirilen orijinal mesajın kaynak adı. Biçim: spaces/{space}/messages/{message}

lastUpdateTime

string

Yalnızca çıkış. Orijinal mesajın oluşturulduğu veya alıntılanmadan ya da yönlendirilmeden önce en son güncellendiği zaman damgası. Biçim: ISO 8601 zaman damgası.

quoteType

enum (QuoteType)

Yalnızca çıkış. Alıntının türü.

plaintextBody

string

Yalnızca çıkış. Alıntı yapma veya yönlendirme sırasında orijinal iletinin metin gövdesinin anlık görüntüsü. FORWARD için Markdown, REPLY için düz metin kullanılarak biçimlendirilir.

sender

string

Yalnızca çıkış. Orijinal mesajın yazarının görünen adı.

attachments[]

object (ChatAttachmentMetadata)

Yalnızca çıkış. Orijinal iletinin parçası olan ekler. Yalnızca FORWARD teklif türü için doldurulur.

forwardedMetadata

object (ForwardedMetadata)

Yalnızca çıkış. Yönlendirilen mesajın kaynak görüşmesiyle ilgili meta veriler. Yalnızca FORWARD teklif türü için doldurulur.

ForwardedMetadata

JSON gösterimi
{
  "conversationId": string,
  "conversationDisplayName": string
}
Alanlar
conversationId

string

Yalnızca çıkış. Kaynak görüşmenin kaynak adı. Biçim: spaces/{space}

conversationDisplayName

string

Yalnızca çıkış. Mesajın yönlendirildiği sırada kaynak görüşmenin görünen adı. Adlandırılmış alanlar için bu, alan adıdır. Bire bir doğrudan mesajlarda bu, diğer katılımcının adıdır. Adsız grup sohbetleri için bu, üyelerin adlarına göre oluşturulan bir addır.

UserType

Google Chat kullanıcısının türü.

Sıralamalar
USER_TYPE_UNSPECIFIED Belirtilmedi.
HUMAN Gerçek kişi.
APP Uygulama kullanıcısı.

Kaynak

Ekin kaynağı.

Sıralamalar
SOURCE_UNSPECIFIED Ayrıldı.
DRIVE_FILE Dosya bir Google Drive dosyasıdır.
UPLOADED_CONTENT Dosya, Chat'e yüklenir.

QuoteType

Mesajın alıntı yanıt mı yoksa yönlendirilmiş mesaj mı olduğunu gösteren alıntı türü.

Sıralamalar
QUOTE_TYPE_UNSPECIFIED Ayrıldı. Tanımlanmamış teklif türü.
REPLY Mesaj, aynı ileti dizisindeki orijinal bir mesajın alıntılanarak yanıtlanmasıdır.
FORWARD Mesaj, farklı bir görüşmedeki orijinal bir mesajdan veya aynı görüşmedeki farklı bir ileti dizisinden yönlendirilmiştir.

Araç Notları

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

Başlık dizesiyle birlikte aşağıdaki boole ipuçları şu şekilde tanımlanır:

  • readOnlyHint: Doğru ise araç, ortamını değiştirmez. Varsayılan: false.
  • destructiveHint: Doğru ise 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ğru ise aracın aynı bağımsız değişkenlerle tekrar tekrar çağrılması, ortamı üzerinde ek bir etki yaratmaz. Varsayılan: false.
  • openWorldHint: Doğru ise araç, harici varlıkların "açık dünyası" ile etkileşime girebilir. Yanlış ise araç yalnızca dahili varlıklarla etkileşim kurabilir. Örneğin, web arama aracı açık dünya iken bellek aracı açık dünya değildir.

Yıkıcı İpucu: ❌ | Eşgüçlü İ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.messages.readonly
  • https://www.googleapis.com/auth/chat.spaces.readonly
  • https://www.googleapis.com/auth/chat.memberships.readonly
  • https://www.googleapis.com/auth/chat.users.readstate.readonly