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_messagesyö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_conversationskomutunu 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 ( |
| Alanlar | |
|---|---|
searchParameters |
Zorunlu. Arama için kullanılacak arama parametreleri. |
pageSize |
İ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 |
İsteğe bağlıdır. Önceki bir |
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 ( |
| Alanlar | |
|---|---|
keywords[] |
İsteğe bağlıdır. Sonuçları filtrelemek için kullanılan bir anahtar kelime grubu. |
conversationId |
İ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: |
sender |
İ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ı |
isUnread |
İsteğe bağlıdır. Arayan kullanıcı tarafından okunmamış mesajları filtreleyin. |
hasLink |
İsteğe bağlıdır. En az bir URL içeren iletileri filtreleyin. |
startTime |
İsteğe bağlıdır. Bu tarihten sonra oluşturulan mesajları filtreleyin. Biçim: ISO 8601 zaman damgası. |
endTime |
İsteğe bağlıdır. Bu zamandan önce oluşturulan mesajları filtreleyin. Biçim: ISO 8601 zaman damgası. |
mentionsMe |
İsteğe bağlıdır. Arayan kullanıcıdan açıkça bahsedilen mesajları filtreler. |
conversationIncludesUser |
İ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[] |
İ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[] |
İsteğe bağlıdır. Görüşme türüne göre filtreleme yapabilirsiniz. |
hasAttachment |
İ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 ( |
| Alanlar | |
|---|---|
messages[] |
Arama ölçütleriyle eşleşen mesaj nesnelerinin listesi. |
nextPageToken |
Sonraki sayfayı almak için |
ChatMessage
| JSON gösterimi |
|---|
{ "messageId": string, "threadId": string, "plaintextBody": string, "sender": { object ( |
| Alanlar | |
|---|---|
messageId |
Mesajın kaynak adı. Biçim: spaces/{space}/messages/{message} |
threadId |
Bu iletinin ait olduğu ileti dizisi. İleti ileti dizisi halinde değilse bu alan boş olur. Biçim: spaces/{space}/threads/{thread} |
plaintextBody |
Markdown biçimlendirmesi kullanılarak mesajın metin gövdesi. |
sender |
Mesajı gönderen kişi. |
createTime |
Yalnızca çıkış. Mesajın oluşturulduğu zaman damgası. Biçim: ISO 8601 zaman damgası. |
threadedReply |
Mesajın bir mesaj dizisi yanıtı olup olmadığı. |
attachments[] |
İletiye eklenen dosyalar. |
reactionSummaries[] |
Mesaja dahil edilen emoji tepkilerinin özeti. |
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 ( |
| Alanlar | |
|---|---|
userId |
Chat kullanıcısının kaynak adı. Biçim: users/{user}. |
displayName |
Chat kullanıcısının görünen adı. |
email |
Kullanıcının e-posta adresi. Bu alan yalnızca kullanıcı türü HUMAN olduğunda doldurulur. |
userType |
Kullanıcının türü. |
ChatAttachmentMetadata
| JSON gösterimi |
|---|
{
"attachmentId": string,
"filename": string,
"mimeType": string,
"source": enum ( |
| Alanlar | |
|---|---|
attachmentId |
Ekin kaynak adı. Biçim: spaces/{alan}/messages/{mesaj}/attachments/{ek}. |
filename |
Ekin adı. |
mimeType |
İçerik türü (MIME türü). |
source |
Ekin kaynağı. |
driveFileId |
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 |
Emoji unicode dizesi veya özel emoji adı. |
count |
İlişkili emoji kullanılarak verilen tepkilerin toplam sayısı. |
QuotedMessageMetadata
| JSON gösterimi |
|---|
{ "messageId": string, "lastUpdateTime": string, "quoteType": enum ( |
| Alanlar | |
|---|---|
messageId |
Yalnızca çıkış. Alıntılanan veya yönlendirilen orijinal mesajın kaynak adı. Biçim: spaces/{space}/messages/{message} |
lastUpdateTime |
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 |
Yalnızca çıkış. Alıntının türü. |
plaintextBody |
Yalnızca çıkış. Alıntı yapma veya yönlendirme sırasında orijinal iletinin metin gövdesinin anlık görüntüsü. |
sender |
Yalnızca çıkış. Orijinal mesajın yazarının görünen adı. |
attachments[] |
Yalnızca çıkış. Orijinal iletinin parçası olan ekler. Yalnızca |
forwardedMetadata |
Yalnızca çıkış. Yönlendirilen mesajın kaynak görüşmesiyle ilgili meta veriler. Yalnızca |
ForwardedMetadata
| JSON gösterimi |
|---|
{ "conversationId": string, "conversationDisplayName": string } |
| Alanlar | |
|---|---|
conversationId |
Yalnızca çıkış. Kaynak görüşmenin kaynak adı. Biçim: spaces/{space} |
conversationDisplayName |
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.readonlyhttps://www.googleapis.com/auth/chat.spaces.readonlyhttps://www.googleapis.com/auth/chat.memberships.readonlyhttps://www.googleapis.com/auth/chat.users.readstate.readonly