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 ( |
| Pola | |
|---|---|
to[] |
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[] |
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[] |
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 |
Opcjonalnie. Temat e-maila. Jeśli nie zostanie podany, domyślnie przyjmuje wartość pustą. |
body |
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 |
Zawartość HTML wersji roboczej e-maila. Jeśli zostanie podana, będzie używana jako wersja e-maila w formacie Rich Text. |
replyToMessageId |
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 |
attachments[] |
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 |
Opcjonalnie. Tylko dane wyjściowe. Jeśli jest obecny, zawiera identyfikator załącznika zewnętrznego, który można pobrać w osobnym żądaniu |
filename |
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 |
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 |
Wymagane. Treść załącznika zakodowana w base64. Ciąg znaków zakodowany w base64. |
inline |
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 |
Unikalny identyfikator zasobu wersji roboczej. |
subject |
Temat wersji roboczej wiadomości. |
threadId |
Identyfikator wątku, do którego należy ta wersja robocza. |
toRecipients[] |
Lista adresów e-mail odbiorców w polu „Do” wyodrębnionych z nagłówków. |
ccRecipients[] |
Lista adresów e-mail odbiorców w polu „DW” wyodrębnionych z nagłówków. |
bccRecipients[] |
Lista adresów e-mail odbiorców w polu „UDW” wyodrębnionych z nagłówków. |
plaintextBody |
Treść w postaci zwykłego tekstu, jeśli jest dostępna. |
date |
Data wersji roboczej w formacie ISO 8601 (RRRR-MM-DD). |
htmlBody |
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.modifyhttps://www.googleapis.com/auth/gmail.compose