MCP Tools Reference: gmailmcp.googleapis.com

Alat: create_draft

Membuat draf email baru di akun Gmail pengguna yang diautentikasi.

Alat ini menggunakan alamat penerima, subjek, dan konten isi sebagai input. Jika draf dibuat sebagai balasan ke pesan yang ada, ID pesan asli harus diteruskan ke alat di kolom replyToMessageId.

Hanya menampilkan ID unik (id) pesan draf.

Batasan: Pembuatan draf dengan lampiran belum didukung.

Contoh berikut menunjukkan cara menggunakan curl untuk memanggil alat MCP create_draft.

Permintaan Curl
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": "create_draft",
    "arguments": {
      // provide these details according to the tool's MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

Skema Input

Pesan permintaan untuk CreateDraft RPC.

CreateDraftRequest

Representasi JSON
{
  "to": [
    string
  ],
  "cc": [
    string
  ],
  "bcc": [
    string
  ],
  "subject": string,
  "body": string,
  "htmlBody": string,
  "replyToMessageId": string,
  "attachments": [
    {
      object (Attachment)
    }
  ]
}
Kolom
to[]

string

Opsional. Penerima utama draf email. Setiap string HARUS berupa alamat email biasa yang valid (misalnya, "user@example.com"). Format "Name email@example.com" TIDAK didukung oleh alat ini.

cc[]

string

Opsional. Penerima salinan karbon draf email. Setiap string HARUS berupa alamat email biasa yang valid (misalnya, "user@example.com"). Format "Name email@example.com" TIDAK didukung oleh alat ini.

bcc[]

string

Opsional. Penerima salinan karbon tersembunyi draf email. Setiap string HARUS berupa alamat email biasa yang valid (misalnya, "user@example.com"). Format "Name email@example.com" TIDAK didukung oleh alat ini.

subject

string

Opsional. Baris subjek email. Secara default, kolom ini akan kosong jika tidak diisi.

body

string

Opsional. Konten isi utama draf email. Jika html_body juga diberikan, kolom ini akan diperlakukan sebagai alternatif teks biasa.

htmlBody

string

Konten HTML draf email. Jika diberikan, konten ini akan digunakan sebagai versi teks kaya email.

replyToMessageId

string

Opsional. ID pesan yang akan dibalas. Jika diberikan, ID ini akan digunakan sebagai ID pesan balasan untuk draf email, dan body serta html_body akan ditambahkan ke isi pesan asli.

attachments[]

object (Attachment)

Opsional. Lampiran yang akan disertakan dalam email. Ukuran gabungan lampiran dalam pesan tidak boleh melebihi 25 MB. Jika Anda perlu mengirim file yang lebih besar dari 25 MB, upload file ke Drive terlebih dahulu, lalu sisipkan link Drive ke isi atau html_body.

Lampiran

Representasi JSON
{
  "id": string,
  "filename": string,
  "mimeType": string,
  "content": string,
  "inline": boolean
}
Kolom
id

string

Opsional. Hanya output. Jika ada, kolom ini berisi ID lampiran eksternal yang dapat diambil dalam permintaan GetMessageAttachment terpisah.

filename

string

Opsional. Nama file yang akan dilampirkan, misalnya "invoice.pdf". Untuk lampiran inline, nama file ini digunakan untuk pembuatan Content-ID. Untuk lampiran biasa, nama file digunakan untuk menentukan nama file yang akan dikirim ke klien email. Jika tidak diberikan, lampiran mungkin akan diterima tanpa nama.

mimeType

string

Opsional. Kolom yang mewakili jenis konten atau media harus menggunakan jenis MIME IANA, https://www.iana.org/assignments/media-types/media-types.xhtml. Jika tidak diberikan, defaultnya adalah "application/octet-stream".

content

string (bytes format)

Wajib. Konten lampiran yang dienkode base64.

String berenkode base64.

inline

boolean

Opsional. Jika benar (true), lampiran ini akan ditangani sebagai lampiran inline. Lampiran inline adalah konten yang dimaksudkan untuk ditampilkan dalam isi email HTML, bukan dicantumkan sebagai file terpisah untuk didownload. Jika salah (false) atau tidak ada, defaultnya adalah salah (false), dan lampiran ini akan diperlakukan sebagai lampiran biasa.

Skema Output

Detail draf.

Draf

Representasi JSON
{
  "id": string,
  "subject": string,
  "threadId": string,
  "toRecipients": [
    string
  ],
  "ccRecipients": [
    string
  ],
  "bccRecipients": [
    string
  ],
  "plaintextBody": string,
  "date": string,
  "htmlBody": string
}
Kolom
id

string

ID unik resource draf.

subject

string

Baris subjek pesan draf.

threadId

string

ID rangkaian pesan yang berisi draf ini.

toRecipients[]

string

Daftar alamat email penerima 'Kepada' yang diekstrak dari header.

ccRecipients[]

string

Daftar alamat email penerima 'Cc' yang diekstrak dari header.

bccRecipients[]

string

Daftar alamat email penerima 'Bcc' yang diekstrak dari header.

plaintextBody

string

Konten isi teks biasa, jika tersedia.

date

string

Tanggal draf dalam format ISO 8601 (YYYY-MM-DD).

htmlBody

string

Konten isi HTML draf, jika tersedia.

Anotasi Alat

Petunjuk Destruktif: ❌ | Petunjuk Idempoten: ❌ | Petunjuk Hanya Baca: ❌ | Petunjuk Dunia Terbuka: ❌

Cakupan Otorisasi

Memerlukan salah satu cakupan OAuth berikut:

  • https://mail.google.com/
  • https://www.googleapis.com/auth/gmail.modify
  • https://www.googleapis.com/auth/gmail.compose