MCP Tools Reference: gmailmcp.googleapis.com

ابزار: create_draft

یک ایمیل پیش‌نویس جدید در حساب جیمیل کاربر احراز هویت‌شده ایجاد می‌کند.

این ابزار آدرس‌های گیرنده، موضوع و محتوای بدنه را به عنوان ورودی دریافت می‌کند. اگر پیش‌نویس به عنوان پاسخی به یک پیام موجود ایجاد شود، شناسه پیام اصلی باید در فیلد replyToMessageId به ابزار ارسال شود.

فقط شناسه منحصر به فرد (id) پیام پیش نویس را برمی‌گرداند.

محدودیت: ایجاد پیش‌نویس‌ها با پیوست‌ها هنوز پشتیبانی نمی‌شود.

نمونه زیر نحوه استفاده از curl برای فراخوانی ابزار create_draft MCP را نشان می‌دهد.

درخواست کرل
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
}'
                

طرحواره ورودی

درخواست پیام برای CreateDraft RPC.

درخواست ایجاد پیش‌نویس

نمایش JSON
{
  "to": [
    string
  ],
  "cc": [
    string
  ],
  "bcc": [
    string
  ],
  "subject": string,
  "body": string,
  "htmlBody": string,
  "replyToMessageId": string,
  "attachments": [
    {
      object (Attachment)
    }
  ]
}
فیلدها
to[]

string

اختیاری. گیرندگان اصلی پیش‌نویس ایمیل. هر رشته باید یک آدرس ایمیل معتبر و ساده باشد (مثلاً "user@example.com"). قالب "نام email@example.com " توسط این ابزار پشتیبانی نمی‌شود.

cc[]

string

اختیاری. گیرنده‌های کپی پیش‌نویس ایمیل. هر رشته باید یک آدرس ایمیل معتبر و ساده باشد (مثلاً "user@example.com"). فرمت "نام email@example.com " توسط این ابزار پشتیبانی نمی‌شود.

bcc[]

string

اختیاری. گیرنده‌های کورِ نسخه پیش‌نویس ایمیل. هر رشته باید یک آدرس ایمیل معتبر و ساده باشد (مثلاً "user@example.com"). فرمت "نام email@example.com " توسط این ابزار پشتیبانی نمی‌شود.

subject

string

اختیاری. بخش موضوع ایمیل. در صورت عدم ارائه، به صورت پیش‌فرض خالی است.

body

string

اختیاری. محتوای بدنه اصلی پیش‌نویس ایمیل. اگر html_body نیز ارائه شود، این فیلد به عنوان جایگزین متن ساده در نظر گرفته می‌شود.

htmlBody

string

محتوای HTML پیش‌نویس ایمیل. در صورت ارائه، این به عنوان نسخه متن غنی ایمیل استفاده خواهد شد.

replyToMessageId

string

اختیاری. شناسه پیامی که باید به آن پاسخ داده شود. در صورت ارائه، این شناسه به عنوان شناسه پیام پاسخ برای پیش‌نویس ایمیل استفاده می‌شود و body و html_body به بدنه پیام اصلی اضافه می‌شوند.

attachments[]

object ( Attachment )

اختیاری. پیوست‌هایی که باید در ایمیل قرار گیرند. حجم کل پیوست‌های پیام نمی‌تواند از ۲۵ مگابایت بیشتر شود. اگر نیاز به ارسال فایل‌هایی بزرگتر از ۲۵ مگابایت دارید، ابتدا فایل را در Drive آپلود کنید و سپس لینک Drive را در body یا html_body قرار دهید.

پیوست

نمایش JSON
{
  "id": string,
  "filename": string,
  "mimeType": string,
  "content": string,
  "inline": boolean
}
فیلدها
id

string

اختیاری. فقط خروجی. در صورت وجود، حاوی شناسه یک پیوست خارجی است که می‌تواند در یک درخواست GetMessageAttachment جداگانه بازیابی شود.

filename

string

اختیاری. نام فایلی که باید پیوست شود، مثلاً "invoice.pdf". برای پیوست‌های درون‌خطی، از این برای تولید شناسه محتوا استفاده می‌شود. برای پیوست‌های معمولی، از filename برای مشخص کردن نام فایل برای ارسال به کلاینت‌های ایمیل استفاده می‌شود. در صورت عدم ارائه، پیوست ممکن است بدون نام دریافت شود.

mimeType

string

اختیاری. فیلدی که نوع محتوا یا رسانه را نشان می‌دهد باید از نوع MIME IANA، https://www.iana.org/assignments/media-types/media-types.xhtml ، استفاده کند. در صورت عدم ارائه، به طور پیش‌فرض روی "application/octet-stream" تنظیم می‌شود.

content

string ( bytes format)

الزامی. محتوای پیوست که با کد base64 کدگذاری شده است.

یک رشته کدگذاری شده با base64.

inline

boolean

اختیاری. اگر مقدار آن درست باشد، این پیوست به صورت درون‌خطی در نظر گرفته می‌شود. پیوست درون‌خطی محتوایی است که قرار است در بدنه یک ایمیل HTML نمایش داده شود، نه اینکه به عنوان یک فایل جداگانه برای دانلود فهرست شود. اگر مقدار آن نادرست باشد یا وجود نداشته باشد، به صورت پیش‌فرض به صورت نادرست در نظر گرفته می‌شود و به عنوان یک پیوست معمولی در نظر گرفته می‌شود.

طرحواره خروجی

جزئیات یک پیش‌نویس

پیش نویس

نمایش JSON
{
  "id": string,
  "subject": string,
  "threadId": string,
  "toRecipients": [
    string
  ],
  "ccRecipients": [
    string
  ],
  "bccRecipients": [
    string
  ],
  "plaintextBody": string,
  "date": string,
  "htmlBody": string
}
فیلدها
id

string

شناسه منحصر به فرد منبع پیش نویس.

subject

string

موضوع پیش‌نویس پیام.

threadId

string

شناسه‌ی تاپیکی که این پیش‌نویس به آن تعلق دارد.

toRecipients[]

string

فهرست آدرس‌های ایمیل گیرنده «به» که از سربرگ‌ها استخراج شده‌اند.

ccRecipients[]

string

فهرست آدرس‌های ایمیل گیرنده «Cc» که از سربرگ‌ها استخراج شده‌اند.

bccRecipients[]

string

فهرست آدرس‌های ایمیل گیرنده «Bcc» که از سربرگ‌ها استخراج شده‌اند.

plaintextBody

string

متن ساده‌ی محتوای بدنه، در صورت وجود.

date

string

تاریخ پیش‌نویس در قالب ISO 8601 (YYYY-MM-DD).

htmlBody

string

محتوای بدنه HTML پیش‌نویس، در صورت وجود.

حاشیه‌نویسی ابزار

راهنمایی مخرب: ❌ | راهنمایی بی‌اثر: ❌ | راهنمایی فقط خواندنی: ❌ | راهنمایی جهان باز: ❌

دامنه‌های مجوز

به یکی از حوزه‌های OAuth زیر نیاز دارد:

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