MCP Tools Reference: gmailmcp.googleapis.com

Инструмент: create_draft

Создает новый черновик электронного письма в учетной записи Gmail авторизованного пользователя.

Этот инструмент принимает в качестве входных данных адреса получателей, тему и текст сообщения. Если черновик создается как ответ на существующее сообщение, идентификатор исходного сообщения следует передать инструменту в поле replyToMessageId.

Возвращает только уникальный идентификатор (id) черновика сообщения.

Ограничение: Создание черновиков с вложениями пока не поддерживается.

В следующем примере показано, как использовать curl для вызова инструмента create_draft MCP.

Запрос 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
}'
                

Схема ввода

Запрос на RPC-вызов CreateDraft.

CreateDraftRequest

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-содержимое черновика электронного письма. Если указано, оно будет использоваться в качестве версии письма в формате RSS.

replyToMessageId

string

Необязательно. Идентификатор сообщения, на которое нужно ответить. Если указан, он будет использоваться в качестве идентификатора сообщения для ответа в черновике электронного письма, а body и html_body будут добавлены к исходному тексту сообщения.

attachments[]

object ( Attachment )

Необязательно. Вложения, которые следует включить в электронное письмо. Общий размер вложений в сообщении не должен превышать 25 МБ. Если вам необходимо отправить файлы размером более 25 МБ, сначала загрузите файл на Google Диск, а затем вставьте ссылку на Google Диск в тело письма или в тег <html_body>.

Вложение

JSON-представление
{
  "id": string,
  "filename": string,
  "mimeType": string,
  "content": string,
  "inline": boolean
}
Поля
id

string

Необязательный параметр. Только для вывода. Если присутствует, содержит идентификатор внешнего вложения, которое можно получить в отдельном запросе GetMessageAttachment .

filename

string

Необязательно. Имя файла для прикрепления, например, "invoice.pdf". Для встроенных вложений это используется для генерации Content-ID. Для обычных вложений имя файла используется для указания имени файла почтовым клиентам. Если не указано, вложение может быть получено без имени.

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

Необязательный параметр. Если значение равно true, этот вложенный файл обрабатывается как встроенный. Встроенный файл — это контент, предназначенный для отображения в теле HTML-письма, а не в качестве отдельного файла для скачивания. Если значение равно false или отсутствует, по умолчанию устанавливается значение false, и файл обрабатывается как обычный вложенный файл.

Схема вывода

Подробности проекта.

Черновик

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

Список адресов электронной почты получателей, указанных в поле «Копия», извлеченных из заголовков.

bccRecipients[]

string

Список адресов электронной почты получателей, указанных в поле «Скрытая копия» (Bcc), извлеченных из заголовков.

plaintextBody

string

Если доступно, используйте текстовое содержимое файла.

date

string

Дата проекта в формате ISO 8601 (ГГГГ-ММ-ДД).

htmlBody

string

HTML-содержимое черновика (если имеется).

Аннотации инструментов

Подсказка о разрушительном эффекте: ❌ | Подсказка об идемпотентности: ❌ | Подсказка только для чтения: ❌ | Подсказка об открытом мире: ❌

Области полномочий

Требуется один из следующих диапазонов аутентификации OAuth:

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