Gmail
Description: Enable agents to send, read, and manage emails in Gmail.
Author: Arcade
Auth: User authorization via the Google auth provider
The Arcade Gmail MCP Server provides a pre-built set of tools for interacting with Gmail. These tools make it easy to build agents and AI apps that can:
- Send, read, and manage emails
- Compose and update draft emails
- Delete emails
- Search for emails by header
- List emails in the user’s mailbox
Available Tools
These tools are currently available in the Arcade Gmail MCP Sever.
| Tool Name | Description |
|---|---|
| Gmail.SendEmail | Send an email using the Gmail API. |
| Gmail.SendDraftEmail | Send a draft email using the Gmail API. |
| Gmail.WriteDraftEmail | Compose a new email draft using the Gmail API. |
| Gmail.UpdateDraftEmail | Update an existing email draft. |
| Gmail.DeleteDraftEmail | Delete a draft email using the Gmail API. |
| Gmail.TrashEmail | Move an email to the trash folder. |
| Gmail.ListDraftEmails | List draft emails in the user's mailbox. |
| Gmail.ListEmailsByHeader | Search for emails by header using the Gmail API. |
| Gmail.ListEmails | Read emails and extract plain text content. |
| Gmail.SearchThreads | Search for threads in the user's mailbox. |
| Gmail.ListThreads | List threads in the user's mailbox. |
| Gmail.GetThread | Get the specified thread by ID. |
| Gmail.WhoAmI | Get comprehensive user profile and Gmail account information. |
If you need to perform an action that’s not listed here, you can get in touch with us to request a new tool, or create your own tools with the Google auth provider.
Each tool requires specific Google OAuth scopes to function. You’ll find the required scopes listed in a blue info box at the end of each tool’s documentation below. For more information about configuring OAuth and tips for moving to production, see the Google auth provider documentation.
Find required scopes
Select the tools you plan to use to see the OAuth scopes your application needs:
Scope calculator
Select the tools you plan to use to see the required OAuth scopes.
Required scopes
Select tools above to see required scopes
Gmail.SendEmail
Send an email using the Gmail API.
Parameters
subject(string, required) The subject of the email.body(string, required) The body of the email.recipient(string, required) The recipient of the email.cc(array, optional, Defaults to None) CC recipients of the email.bcc(array, optional, Defaults to None) BCC recipients of the email.
https://www.googleapis.com/auth/gmail.send
Gmail.SendDraftEmail
Send a draft email using the Gmail API.
Parameters
email_id(string, required) The ID of the draft to send.
https://www.googleapis.com/auth/gmail.send
Gmail.WriteDraftEmail
Compose a new email draft using the Gmail API.
Parameters
subject(string, required) The subject of the draft email.body(string, required) The body of the draft email.recipient(string, required) The recipient of the draft email.cc(array, optional, Defaults to None) CC recipients of the draft email.bcc(array, optional, Defaults to None) BCC recipients of the draft email.
https://www.googleapis.com/auth/gmail.compose
Gmail.UpdateDraftEmail
Update an existing email draft.
Parameters
draft_email_id(string, required) The ID of the draft email to update.subject(string, required) The subject of the draft email.body(string, required) The body of the draft email.recipient(string, required) The recipient of the draft email.cc(array, optional, Defaults to None) CC recipients of the draft email.bcc(array, optional, Defaults to None) BCC recipients of the draft email.
https://www.googleapis.com/auth/gmail.compose
Gmail.DeleteDraftEmail
Delete a draft email using the Gmail API.
Parameters
draft_email_id(string, required) The ID of the draft email to delete.
https://www.googleapis.com/auth/gmail.compose
Gmail.TrashEmail
The TrashEmail tool is currently only available on a self-hosted instance of
the Arcade Engine. To learn more about self-hosting, see the self-hosting
documentation .
Move an email to the trash folder.
Parameters
email_id(string, required) The ID of the email to trash.
https://www.googleapis.com/auth/gmail.modify
Gmail.ListDraftEmails
List draft emails in the user’s mailbox.
Parameters
n_drafts(integer, optional, Defaults to 5) Number of draft emails to read.
https://www.googleapis.com/auth/gmail.readonly
Gmail.ListEmailsByHeader
Search for emails by header using the Gmail API.
At least one of the following parameters must be provided: sender, recipient, subject, body.
Parameters
sender(string, optional, Defaults to None) The name or email address of the sender.recipient(string, optional, Defaults to None) The name or email address of the recipient.subject(string, optional, Defaults to None) Words to find in the subject of the email.body(string, optional, Defaults to None) Words to find in the body of the email.date_range(string, optional, Defaults to None) The date range of the emails.limit(integer, optional, Defaults to 25) The maximum number of emails to return.
https://www.googleapis.com/auth/gmail.readonly
Gmail.ListEmails
Read emails from a Gmail account and extract plain text content.
Parameters
n_emails(integer, optional, Defaults to 5) Number of emails to read.
https://www.googleapis.com/auth/gmail.readonly
Gmail.SearchThreads
Search for threads in the user’s mailbox
Parameters
page_token(string, optional) Page token to retrieve a specific page of results in the list.max_results(integer, optional, Defaults to10) The maximum number of threads to return.include_spam_trash(boolean, optional) Whether to include spam and trash in the results.label_ids(array, optional) The IDs of labels to filter by.sender(string, optional) The name or email address of the sender of the email.recipient(string, optional) The name or email address of the recipient.subject(string, optional) Words to find in the subject of the email.body(string, optional) Words to find in the body of the email.date_range(string, optional) The date range of the email. Valid values are ‘today’, ‘yesterday’, ‘last_7_days’, ‘last_30_days’, ‘this_month’, ‘last_month’, ‘this_year’.
https://www.googleapis.com/auth/gmail.readonly
Gmail.ListThreads
List threads in the user’s mailbox.
Parameters
page_token(string, optional) Page token to retrieve a specific page of results in the list.max_results(integer, optional, Defaults to10) The maximum number of threads to return.include_spam_trash(boolean, optional) Whether to include spam and trash in the results.
https://www.googleapis.com/auth/gmail.readonly
Gmail.GetThread
Get the specified thread by ID.
Parameters
thread_id(string, required) The ID of the thread to retrieve.
https://www.googleapis.com/auth/gmail.readonly
Gmail.WhoAmI
Get comprehensive user profile and Gmail account information.
Parameters
This tool does not take any parameters.
https://www.googleapis.com/auth/gmail.readonlyhttps://www.googleapis.com/auth/userinfo.profilehttps://www.googleapis.com/auth/userinfo.email
Auth
The Arcade Gmail MCP Sever uses the Google auth provider to connect to users’ Google accounts.
With the Arcade Cloud Platform, there’s nothing to configure. Your users will see Arcade as the name of the application that’s requesting permission.
With a self-hosted installation of Arcade, you need to configure the Google auth provider with your own Google app credentials.
Reference
GmailReplyToWhom
The type of recipient to reply to.
EVERY_RECIPIENT: Reply to the original sender and all recipients.ONLY_THE_SENDER: Reply to the original sender only.