MCP Tools Reference: gmailmcp.googleapis.com

Araç: list_drafts

Kimliği doğrulanmış kullanıcının Gmail hesabındaki taslak e-postaları listeler.

Bu araç, taslakları bir sorgu dizesine göre filtreleyebilir ve sayfalara ayırmayı destekler. Kimlikleri ve konuları da dahil olmak üzere taslakların listesini döndürür (view, DRAFT_VIEW_METADATA_ONLY olarak ayarlanmadığı sürece). Sonuçları sayfalandırmak için page_token kullanılabilir. Sonuçların sonraki sayfalarını almak için önceki yanıtta döndürülen page_token değerini kullanın.

view parametresi, yanıtta hangi alanların doldurulacağını kontrol eder. Varsayılan olarak (veya DRAFT_VIEW_FULL ile) tam içeriği döndürür. Konu ve gövde gibi hassas içerikleri hariç tutmak için DRAFT_VIEW_METADATA_ONLY simgesini kullanın.

Aşağıdaki örnekte, list_drafts 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": "list_drafts",
    "arguments": {
      // provide these details according to the tool's MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

Giriş Şeması

ListDrafts RPC için istek mesajı.

ListDraftsRequest

JSON gösterimi
{

  "pageSize": integer

  "pageToken": string

  "query": string

  "view": enum (DraftView)
}
Alanlar

_page_size birleşik alanı.

_page_size aşağıdakilerden yalnızca biri olabilir:

pageSize

integer

İsteğe bağlı. Döndürülecek maksimum taslak sayısı. Belirtilmemişse varsayılan olarak 20 olur. İzin verilen en yüksek değer 50'dir.

_page_token birleşik alanı.

_page_token aşağıdakilerden yalnızca biri olabilir:

pageToken

string

İsteğe bağlı. Sonuçların bir sonraki sayfasını almak için önceki bir list_drafts çağrısından alınan jeton. İlk sayfayı getirmek için boş bırakın. Bu parametre, özellikle sorguyla eşleşen taslak sayısı page_size sınırını aştığında, önceki ListDraft çağrısının kaldığı yerden sonuç getirmeye devam etmek için öncelikle sayfalara ayırma işleminde kullanılır.

_query birleşik alanı.

_query aşağıdakilerden yalnızca biri olabilir:

query

string

Örnekler:

  • subject:OneMCP Update
  • from:gduser1@workspacesamples.dev
  • to:gduser2@workspacesamples.dev AND newer_than:7d
  • project proposal has:attachment
  • is:unread

Boşluk veya kısa çizgi (-) sayıları birbirinden ayırmak için, nokta (.) ise ondalık olarak kullanılır. Örneğin, 01.2047-100 iki sayı olarak kabul edilir: 01.2047 ve 100.

Not: Sorguyla ilgili tüm taslakların döndürülmesini istiyorsak yanıt boş bir taslak listesi içermeyene kadar aracı tekrar tekrar çağırarak sonuçları sayfalandırabiliriz.

_view birleşik alanı.

_view aşağıdakilerden yalnızca biri olabilir:

view

enum (DraftView)

İsteğe bağlı. Taslak listesindeki taslaklar için doldurulan alanları kontrol eder. Varsayılan olarak (veya DRAFT_VIEW_FULL ile) taslak kimliği, threadID, alıcı, cc, bcc, tarih, konu ve gövde içeren tam içerik döndürülür. Konuyu ve gövdeyi hariç tutmak için DRAFT_VIEW_METADATA_ONLY simgesini kullanın.

DraftView

ListDrafts yanıtındaki taslaklar için doldurulan alanları kontrol eden enum.

Sıralamalar
DRAFT_VIEW_UNSPECIFIED Geriye dönük uyumluluk için DRAFT_VIEW_FULL ile eşlenir.
DRAFT_VIEW_METADATA_ONLY Yalnızca meta veriler: Konu, plaintext_body, html_body dahil değildir.
DRAFT_VIEW_FULL Meta veriler + Kullanıcı Tarafından Üretilen İçerik (varsayılan davranış).

Çıkış Şeması

ListDrafts RPC'si için yanıt mesajı.

ListDraftsResponse

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

object (Draft)

Taslakların listesi.

nextPageToken

string

Taslakların bir sonraki sayfasını almak için sonraki bir çağrıda kullanılabilecek jeton. Sorguyla eşleşen taslak sayısı page_size sınırını aşarsa yanıtta next_page_token yer alır. Sonraki sonuç sayfasını almak için bu jetonu sonraki ListDraftsRequest öğesinin page_token alanına iletin.

Taslak

JSON gösterimi
{
  "id": string,
  "subject": string,
  "threadId": string,
  "toRecipients": [
    string
  ],
  "ccRecipients": [
    string
  ],
  "bccRecipients": [
    string
  ],
  "plaintextBody": string,
  "date": string,
  "htmlBody": string
}
Alanlar
id

string

Taslak kaynağın benzersiz tanımlayıcısı.

subject

string

Taslak iletinin konu satırı.

threadId

string

Bu taslağın ait olduğu ileti dizisinin kimliği.

toRecipients[]

string

Üstbilgilerden çıkarılan "Alıcı" alıcısının e-posta adreslerinin listesi.

ccRecipients[]

string

Üstbilgilerden çıkarılan "Cc" alıcısı e-posta adreslerinin listesi.

bccRecipients[]

string

Üstbilgilerden çıkarılan "Bcc" alıcısı e-posta adreslerinin listesi.

plaintextBody

string

Varsa düz metin gövde içeriği.

date

string

Taslağın ISO 8601 biçimindeki tarihi (YYYY-AA-GG).

htmlBody

string

Varsa taslağın HTML gövde içeriği.

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.modify
  • https://www.googleapis.com/auth/gmail.compose
  • https://www.googleapis.com/auth/gmail.readonly