Araç: search_threads
Kimliği doğrulanmış kullanıcının Gmail hesabındaki e-posta yazışmalarını listeler.
Bu araç, ileti dizilerini bir sorgu dizesine göre filtreleyebilir ve sayfalara ayırmayı destekler. Kimlikleri ve ilgili iletileri de içeren bir ileti dizisi listesi döndürür. İlgili her iletide, e-posta mesajının snippet'i, konu, gönderen, alıcılar vb. gibi ayrıntılar yer alır. view parametresi, ilgili iletilerde hangi alanların doldurulacağını kontrol eder. Varsayılan olarak (veya THREAD_VIEW_MINIMAL ile) konu ve snippet'i içerir. Konuyu ve snippet'i hariç tutmak için THREAD_VIEW_METADATA_ONLY simgesini kullanın. Bu araç tarafından tam e-posta mesajlarının döndürülmediğini unutmayın. Gerekirse tam e-posta mesajını getirmek için "get_thread" aracını bir ileti dizisi kimliğiyle kullanın. Hariç tutulan ölçütlere sahip ileti dizileri sonuçlarda görünmeye devam edebilir. Bunun nedeni, Gmail'in önce eşleşen iletileri tanımlamasıdır. Örneğin, -is:starred ifadesini aradığınızda Gmail, aynı ileti dizisindeki diğer e-postalar yıldızlı olsa bile yıldızsız en az bir ileti içeriyorsa ileti dizisinin tamamını bulur.
Aşağıdaki örnekte, search_threads MCP aracını çağırmak için curl simgesinin nasıl kullanılacağı gösterilmektedir.
| Curl İsteği |
|---|
curl --location 'https://gmailmcp.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_threads", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
Giriş Şeması
SearchThreads RPC için istek mesajı.
SearchThreadsRequest
| JSON gösterimi |
|---|
{
"pageSize": integer
"pageToken": string
"query": string
"includeTrash": boolean
"view": enum ( |
| Alanlar | |
|---|---|
|
|
pageSize |
İsteğe bağlı. Döndürülecek maksimum ileti dizisi sayısı. Belirtilmemişse varsayılan olarak 20 olur. İzin verilen en yüksek değer 50'dir. |
|
|
pageToken |
İsteğe bağlı. Listedeki belirli bir sonuç sayfasını almak için kullanılan sayfa jetonu. İlk sayfayı getirmek için boş bırakın. Bu parametre, özellikle sorguyla eşleşen iş parçacığı sayısı page_size sınırını aştığında, önceki |
|
|
query |
İsteğe bağlı. İş parçacıklarını filtrelemek için kullanılan sorgu dizesi. Bu aracı kullanmak için doğal dil sorgularının önceden Gmail söz dizimi sorgularına dönüştürülmesi gerekir. Atlanırsa tüm ileti dizileri (varsayılan olarak spam ve çöp kutusu hariç) listelenir. Kategoriye Göre Desteklenen Operatörler: Gönderen ve alıcı:
Saat ve Tarih:
İçerik:
Etiketler ve Kategoriler:
Durum:
Boyut:
Mantık ve Gruplandırma:
Örnekler:
|
|
|
includeTrash |
İsteğe bağlı. ÇÖP KUTUSU'ndaki ileti dizilerini sonuçlara dahil etme Varsayılan olarak false değerine ayarlanır. |
|
|
view |
İsteğe bağlı. İleti dizisi listesindeki ileti dizileri için doldurulan alanları kontrol eder. Varsayılan olarak THREAD_VIEW_MINIMAL değerine ayarlanır. THREAD_VIEW_MINIMAL; id, snippet, subject, from, to, cc, date, labelIds değerlerini döndürür. THREAD_VIEW_METADATA_ONLY, id, from, to, cc, date, labelIds değerlerini döndürür. |
ThreadView
ListThreads ve SearchThreads yanıtında ileti dizileri için doldurulan alanları kontrol eden enum.
| Sıralamalar | |
|---|---|
THREAD_VIEW_UNSPECIFIED |
Geriye dönük uyumluluk için THREAD_VIEW_MINIMAL ile eşlenir. |
THREAD_VIEW_METADATA_ONLY |
id, from, to, cc, date, labelIds değerlerini döndürür. |
THREAD_VIEW_MINIMAL |
Kimlik, snippet, konu, gönderen, alıcı, cc, tarih, etiket kimlikleri değerlerini döndürür. |
Çıkış Şeması
SearchThreads RPC'si için yanıt mesajı.
SearchThreadsResponse
| JSON gösterimi |
|---|
{
"threads": [
{
object ( |
| Alanlar | |
|---|---|
threads[] |
Mesaj dizisi özetlerinin listesi. |
nextPageToken |
Bir sonraki görüşmede ileti dizilerinin sonraki sayfasını almak için kullanılabilecek bir jeton. Yalnızca daha fazla sonuç varsa gösterilir. Sorguyla eşleşen ileti dizilerinin sayısı page_size sınırını aşarsa yanıtta |
resultCountEstimate |
Bu sorgu için tahmini sonuç sayısı. Alt sınır olarak değerlendirilmelidir. Örneğin, 500 ise sayı kullanıcıya "500+" olarak bildirilebilir. |
İplik
| JSON gösterimi |
|---|
{
"id": string,
"messages": [
{
object ( |
| Alanlar | |
|---|---|
id |
İş parçacığının benzersiz tanımlayıcısı. |
messages[] |
İleti dizisindeki mesajların kronolojik olarak sıralanmış listesi. |
Mesaj
| JSON gösterimi |
|---|
{
"id": string,
"snippet": string,
"subject": string,
"sender": string,
"toRecipients": [
string
],
"ccRecipients": [
string
],
"date": string,
"plaintextBody": string,
"attachmentIds": [
string
],
"htmlBody": string,
"attachments": [
{
object ( |
| Alanlar | |
|---|---|
id |
Mesajın benzersiz tanımlayıcısı. |
snippet |
E-posta mesajının snippet'i. |
subject |
Üstbilgilerden çıkarılan ileti konusu: |
sender |
Gönderenin e-posta adresi. |
toRecipients[] |
Alıcı e-posta adresleri |
ccRecipients[] |
CC alıcılarının e-posta adresleri. |
date |
İletinin ISO 8601 biçimindeki tarihi (YYYY-AA-GG). |
plaintextBody |
İletinin tam içeriği. Yalnızca MessageFormat FULL_CONTENT ise doldurulur. |
attachmentIds[] |
Yalnızca çıkış. Ek kimlikleri, yalnızca MessageFormat FULL_CONTENT ise doldurulur. |
htmlBody |
E-postanın HTML içeriği. Yalnızca MessageFormat FULL_CONTENT ise doldurulur. |
attachments[] |
Yalnızca çıkış. Ekler, yalnızca MessageFormat FULL_CONTENT ise doldurulur. |
labelIds[] |
İletiye eklenen etiketlerin kimlikleri. |
AttachmentMetadata
| JSON gösterimi |
|---|
{ "id": string, "mimeType": string, "filename": string } |
| Alanlar | |
|---|---|
id |
Yalnızca çıkış. Ekin kimliği. |
mimeType |
Ekin MIME türü. |
filename |
Ekin dosya adı. |
Araç Ek Açıklamaları
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://mail.google.com/https://www.googleapis.com/auth/gmail.modifyhttps://www.googleapis.com/auth/gmail.readonly