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_messagessimgesini 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_messagessimgesini 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_conversationssimgesini 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 ( |
| Alanlar | |
|---|---|
searchParameters |
Zorunlu. Arama için kullanılacak arama parametreleri. |
pageSize |
İ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 |
İsteğe bağlı. Ö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 ] } |
| Alanlar | |
|---|---|
keywords[] |
İsteğe bağlı. Sonuçları filtrelemek için kullanılan bir grup anahtar kelime. |
conversationId |
İ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: |
sender |
İ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ı |
isUnread |
İsteğe bağlı. Arayan kullanıcı tarafından okunmamış iletileri filtreleyin. |
hasLink |
İsteğe bağlı. En az bir URL içeren iletileri filtreleyin. |
startTime |
İsteğe bağlı. Bu zamandan sonra oluşturulan iletiler için filtre. Biçim: ISO 8601 zaman damgası. |
endTime |
İsteğe bağlı. Bu zamandan önce oluşturulan iletileri filtreleyin. Biçim: ISO 8601 zaman damgası. |
mentionsMe |
İsteğe bağlı. Arayan kullanıcıdan açıkça bahseden mesajları filtreleyin. |
conversationIncludesUser |
İsteğe bağlı. Belirli kullanıcı e-posta adresini veya kimliğini içeren DM'lerdeki ve grup sohbetlerindeki mesajları filtreleme |
spaceDisplayNames[] |
İ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 ( |
| Alanlar | |
|---|---|
messages[] |
Arama ölçütleriyle eşleşen ileti nesnelerinin listesi. |
nextPageToken |
Sonraki sayfayı almak için |
ChatMessage
| JSON gösterimi |
|---|
{ "messageId": string, "threadId": string, "plaintextBody": string, "sender": { object ( |
| Alanlar | |
|---|---|
messageId |
İletinin kaynak adı. Biçim: spaces/{space}/messages/{message} |
threadId |
Bu iletinin ait olduğu ileti dizisi. İleti işlenmemişse bu alan boş olur. Biçim: spaces/{space}/threads/{thread} |
plaintextBody |
Markdown biçimlendirmesi kullanılarak oluşturulan iletinin metin gövdesi. |
sender |
Mesajın göndereni. |
createTime |
Yalnızca çıkış. İletinin oluşturulduğu zaman damgası. |
threadedReply |
İletinin ileti dizisi yanıtı olup olmadığı. |
attachments[] |
İletiye eklenen dosyalar. |
reactionSummaries[] |
Mesaja eklenen emoji tepkilerinin özeti. |
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/{space}/messages/{message}/attachments/{attachment}. |
filename |
Ekin adı. |
mimeType |
İçerik türü (MIME türü). |
source |
Ekin kaynağı. |
ReactionSummary
| JSON gösterimi |
|---|
{ "emoji": string, "count": integer } |
| Alanlar | |
|---|---|
emoji |
Emoji Unicode dizesi veya özel emoji adı. |
count |
İ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.readonlyhttps://www.googleapis.com/auth/chat.spaces.readonlyhttps://www.googleapis.com/auth/chat.memberships.readonlyhttps://www.googleapis.com/auth/chat.users.readstate.readonly