MCP Tools Reference: gmailmcp.googleapis.com

Narzędzie: create_draft

Tworzy nową wersję roboczą e-maila na koncie Gmail uwierzytelnionego użytkownika.

To narzędzie przyjmuje jako dane wejściowe adresy odbiorców, temat i treść. Jeśli wersja robocza jest tworzona jako odpowiedź na istniejącą wiadomość, identyfikator oryginalnej wiadomości należy przekazać do narzędzia w polu replyToMessageId.

Zwraca tylko unikalny identyfikator (id) wersji roboczej wiadomości.

Ograniczenie: tworzenie wersji roboczych z załącznikami nie jest jeszcze obsługiwane.

Poniższy przykład pokazuje, jak użyć curl, aby wywołać narzędzie MCP create_draft.

Żądanie 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
}'
                

Schemat wejściowy

Wiadomość żądania dla RPC CreateDraft.

CreateDraftRequest

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

string

Opcjonalnie. Główni odbiorcy wersji roboczej e-maila. Każdy ciąg znaków MUSI być prawidłowym adresem e-mail (np. „user@example.com”). To narzędzie NIE obsługuje formatu „Name email@example.com”.

cc[]

string

Opcjonalnie. Odbiorcy wersji roboczej e-maila w polu „DW”. Każdy ciąg znaków MUSI być prawidłowym adresem e-mail (np. „user@example.com”). To narzędzie NIE obsługuje formatu „Name email@example.com”.

bcc[]

string

Opcjonalnie. Odbiorcy wersji roboczej e-maila w polu „UDW”. Każdy ciąg znaków MUSI być prawidłowym adresem e-mail (np. „user@example.com”). To narzędzie NIE obsługuje formatu „Name email@example.com”.

subject

string

Opcjonalnie. Temat e-maila. Jeśli nie zostanie podany, domyślnie przyjmuje wartość pustą.

body

string

Opcjonalnie. Główna treść wersji roboczej e-maila. Jeśli podano też html_body, to pole jest traktowane jako alternatywa w postaci zwykłego tekstu.

htmlBody

string

Zawartość HTML wersji roboczej e-maila. Jeśli zostanie podana, będzie używana jako wersja e-maila w formacie Rich Text.

replyToMessageId

string

Opcjonalnie. Identyfikator wiadomości, na którą należy odpowiedzieć. Jeśli zostanie podany, będzie używany jako identyfikator wiadomości, na którą należy odpowiedzieć w wersji roboczej e-maila, a body i html_body zostaną dołączone do treści oryginalnej wiadomości.

attachments[]

object (Attachment)

Opcjonalnie. Załączniki, które mają zostać dołączone do e-maila. Łączny rozmiar załączników w wiadomości nie może przekraczać 25 MB. Jeśli musisz wysłać pliki większe niż 25 MB, najpierw prześlij je na Dysk, a potem wstaw link do Dysku w treści lub html_body.

Załącznik

Zapis JSON
{
  "id": string,
  "filename": string,
  "mimeType": string,
  "content": string,
  "inline": boolean
}
Pola
id

string

Opcjonalnie. Tylko dane wyjściowe. Jeśli jest obecny, zawiera identyfikator załącznika zewnętrznego, który można pobrać w osobnym żądaniu GetMessageAttachment.

filename

string

Opcjonalnie. Nazwa pliku, który ma zostać dołączony, np. „faktura.pdf”. W przypadku załączników w tekście jest używana do generowania Content-ID. W przypadku zwykłych załączników nazwa pliku służy do określania nazwy pliku dla klientów poczty e-mail. Jeśli nie zostanie podana, załącznik może zostać odebrany bez nazwy.

mimeType

string

Opcjonalnie. Pole reprezentujące typ treści lub multimediów musi używać typu MIME IANA, https://www.iana.org/assignments/media-types/media-types.xhtml. Jeśli nie zostanie podane, domyślnie przyjmuje wartość „application/octet-stream”.

content

string (bytes format)

Wymagane. Treść załącznika zakodowana w base64.

Ciąg znaków zakodowany w base64.

inline

boolean

Opcjonalnie. Jeśli ma wartość true, ten załącznik jest traktowany jako załącznik w tekście. Załącznik w tekście to treść, która ma być wyświetlana w treści e-maila HTML, a nie jako osobny plik do pobrania. Jeśli ma wartość false lub nie jest obecny, domyślnie przyjmuje wartość false i jest traktowany jako zwykły załącznik.

Schemat wyjściowy

Szczegóły wersji roboczej.

Wersja robocza

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

string

Unikalny identyfikator zasobu wersji roboczej.

subject

string

Temat wersji roboczej wiadomości.

threadId

string

Identyfikator wątku, do którego należy ta wersja robocza.

toRecipients[]

string

Lista adresów e-mail odbiorców w polu „Do” wyodrębnionych z nagłówków.

ccRecipients[]

string

Lista adresów e-mail odbiorców w polu „DW” wyodrębnionych z nagłówków.

bccRecipients[]

string

Lista adresów e-mail odbiorców w polu „UDW” wyodrębnionych z nagłówków.

plaintextBody

string

Treść w postaci zwykłego tekstu, jeśli jest dostępna.

date

string

Data wersji roboczej w formacie ISO 8601 (RRRR-MM-DD).

htmlBody

string

Treść wersji roboczej w formacie HTML, jeśli jest dostępna.

Adnotacje narzędzia

Wskazówka dotycząca działania destrukcyjnego: ❌ | Wskazówka dotycząca działania idempotentnego: ❌ | Wskazówka dotycząca działania tylko do odczytu: ❌ | Wskazówka dotycząca działania w otwartym świecie: ❌

Zakresy autoryzacji

Wymaga jednego z tych zakresów OAuth:

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