MCP Tools Reference: chatmcp.googleapis.com

Araç: search_messages

Google Chat mesajlarını anahtar kelimeler ve filtreler kullanarak arar ve 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ını kullanmaya karar verirken aşağıdaki yönergeleri uygulayın:

  • Belirli ileti içeriklerini, anahtar kelimeleri, bahsetmeleri, bağlantıları, gönderenleri veya okunmamış iletileri ararken search_messages simgesini kullanın. Bu iletiler birden fazla alanda veya bilinen bir ileti dizisi kimliği olmadan yer alabilir.
  • Belirli bir alanın veya ileti dizisinin kimliğini biliyorsanız ve iletileri kronolojik sırayla okumak istiyorsanız list_messages simgesini kullanın.
  • Alan görünen adına veya katılımcılara göre görüşme kimlikleri gibi alan meta verilerini bulmak için search_conversations simgesini kullanın (yalnızca meta veriler aranır, mesaj içerikleri aranmaz).

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 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_messages",
    "arguments": {
      // provide these details according to the tool MCP 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öndürülecek maksimum sonuç sayısı (en fazla 100). Belirtilmemesi halinde en fazla 25 öğe döndürülür.

pageToken

string

İsteğe bağlı. Önceki bir search_messages çağrısından alınan sayfa jetonu. Sonraki sayfayı almak için bunu 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
  ]
}
Alanlar
keywords[]

string

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

conversationId

string

İsteğe bağlı. 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ı. Belirli bir kullanıcının iletilerini filtreleme Gönderenin e-posta adresi veya kaynak adı kullanılabilir. Kullanıcı kaynağı adları users/{ID} olarak biçimlendirilir. Burada {ID}, kişi kimliği veya e-posta adresi olabilir.

isUnread

boolean

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

hasLink

boolean

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

startTime

string

İsteğe bağlı. Bu zamandan sonra oluşturulan iletiler için filtre. Biçim: ISO 8601 zaman damgası.

endTime

string

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

mentionsMe

boolean

İsteğe bağlı. Arayan kullanıcıdan açıkça bahseden mesajları filtreleyin.

conversationIncludesUser

string

İsteğe bağlı. Belirli kullanıcı e-posta adresini veya kimliğini içeren DM'lerdeki ve grup sohbetlerindeki mesajları filtreleme

spaceDisplayNames[]

string

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

Çıkış şeması

Google Chat mesajlarını arama yanıtı. next_page_token doldurulmuşsa sonuçların sonraki sayfasını almak için SearchMessages, 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 ileti nesnelerinin listesi.

nextPageToken

string

Sonraki sayfayı almak için page_token olarak gönderilebilen 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)
    }
  ]
}
Alanlar
messageId

string

İletinin kaynak adı. Biçim: spaces/{space}/messages/{message}

threadId

string

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

plaintextBody

string

Markdown biçimlendirmesi kullanılarak oluşturulan iletinin metin gövdesi.

sender

object (User)

Mesajın göndereni.

createTime

string

Yalnızca çıkış. İletinin oluşturulduğu zaman damgası.

threadedReply

boolean

İletinin ileti dizisi yanıtı olup olmadığı.

attachments[]

object (ChatAttachmentMetadata)

İletiye eklenen dosyalar.

reactionSummaries[]

object (ReactionSummary)

Mesaja eklenen emoji tepkilerinin özeti.

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)
}
Alanlar
attachmentId

string

Ekin kaynak adı. Biçim: spaces/{space}/messages/{message}/attachments/{attachment}.

filename

string

Ekin adı.

mimeType

string

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

source

enum (Source)

Ekin kaynağı.

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 toplam tepki sayısı.

UserType

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

Sıralamalar
USER_TYPE_UNSPECIFIED Belirtilmedi.
HUMAN Gerçek bir kullanıcı.
APP Uygulama kullanıcısı.

Kaynak

Ekin kaynağı.

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

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.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