Gmail MCP Tools for AI Agents
A+Enable AI agents to securely read, search, draft, reply to and send Gmail messages through Arcade's MCP gateway.
Available Tools
30 tools available in this integration
Gmail.ArchiveEmail Archive exactly one email: remove inbox membership; email stays searchable.
Gmail.ChangeEmailLabels Add or remove one user-created label on at most 50 messages per call.
Gmail.ChangeThreadLabels Add and remove labels on every message in a thread using the Gmail API.
Gmail.CreateLabel Create a new label in the user's mailbox.
Gmail.DeleteDraftEmail Delete a draft email using the Gmail API.
Gmail.DeleteLabel Delete a user-created label, resolving it by the name the user says.
Gmail.ForwardEmail Send a copy of one message to new recipients as a new conversation.
Gmail.GetEmail Read one message by ID without loading the rest of its thread.
Gmail.GetThread Get the specified thread by ID.
Gmail.ListDraftEmails Lists draft emails in the user's draft mailbox using the Gmail API.
Gmail.ListEmailAttachmentMetadata List metadata for a message's real attachments without loading their contents.
Gmail.ListEmails Read emails from a Gmail account.
Gmail.ListEmailsByHeader Search for emails by header using the Gmail API.
Gmail.ListLabels List all the labels in the user's mailbox.
Gmail.ListThreads List threads in the user's mailbox.
Gmail.ReplyToEmail Send a reply to an email message, optionally with one or more file attachments.
Gmail.ReportSpam Report exactly one email as spam: move to Spam and remove from the inbox.
Gmail.SearchEmailsByQuery Search Gmail with a raw query and return one page in the requested detail mode.
Gmail.SearchThreads Search for threads in the user's mailbox.
Gmail.SendDraftEmail Send a draft email using the Gmail API.
Gmail.SendEmail Send an email using the Gmail API, optionally with one or more file attachments.
Gmail.SetThreadTrashStatus Set whether an entire conversation is in Trash, affecting every message at once.
Gmail.TrashEmail Move exactly one email to Trash (recoverable; may be auto-purged later).
Gmail.TriageEmails Apply one triage transition to at most 50 selected messages per call.
Gmail.UnsubscribeFromEmail Request removal from authenticated marketing mail and optionally trash it.
Gmail.UpdateDraftEmail Update an existing email draft using the Gmail API.
Gmail.UpdateLabel Rename an existing label.
Gmail.WhoAmI Get comprehensive user profile and Gmail account information.
Gmail.WriteDraftEmail Compose a new email draft using the Gmail API, optionally with file attachments.
Gmail.WriteDraftReplyEmail Compose a draft reply to an email message, optionally with one or more file attachments.
Why agent-optimized tools matter
Built for intent, not API schemas
Ask the agent to "find the latest thread with Acme and draft a reply." Arcade helps it use the right Gmail tools without guessing message IDs, thread IDs or raw API parameters.
Up to 100x fewer tokens
Gmail list and search tools return lightweight metadata by default and include full message bodies only when needed. The agent gets enough context to act without loading entire inboxes or threads into the model.
Complete the workflow end to end
Search a conversation, read the relevant message, create or update a draft, request approval, and send the response through one toolkit designed around the complete email task.
Make actions predictable and controlled
Arcade tools return structured results and useful errors across users and runs. Teams can apply scope restrictions, redaction, and approval policies so agents follow the same controls every time.
Securing Gmail
The more capabilities agents get, the more useful they are. However, more capabilities bring more risks of undesired effects such as data loss and exfiltration.
This is why Arcade provides you with contextual rules that dictate how and when a tool is allowed to run. Arcade’s contextual access lets you govern tool visibility and behavior at every stage of execution and control who can see a tool, what inputs are allowed, and what comes back.
Learn about Contextual Access PoliciesFor Gmail, you can implement some of these policies:
- Hide Gmail.SendEmail from read-only agents — a tool that is never listed cannot be called.
- Deny Gmail.TrashEmail to everyone outside the roles your IDP marks as mailbox owners, resolved when tools are listed.
- Show Gmail.TriageEmails only to the support team's agents, and keep it out of every other tool list.
- Require human approval before Gmail.SendEmail runs, so an agent can't email customers unprompted.
- Require approval before Gmail.TrashEmail runs, so a cleanup pass can't quietly discard a thread someone still needs.
- Block Gmail.UnsubscribeFromEmail when the sender is on your vendor allowlist — the request is visible to them and cannot be taken back.
- Redact the message bodies Gmail.ListEmails returns, stripping phone numbers and postal addresses before they reach the model.
- Redact the snippets Gmail.SearchEmailsByQuery returns, which surface message content without the agent ever opening a thread.
- Deny the output of Gmail.GetEmail outright when the message carries a legal-hold or Confidential label.
How to use Gmail with your agent
Pick your client below and follow the whole setup end to end.
Your questions, answered
A Gmail MCP server exposes Gmail capabilities as structured tools that an AI agent can call through the Model Context Protocol. After a user authorizes their Google account, the agent can perform permitted actions such as searching email, reading threads, creating drafts, and sending messages.
Google's Gmail MCP server is a first-party endpoint for accessing Gmail tools. Arcade adds an actions runtime with user-level OAuth, agent-optimized tools, approval workflows, redaction, and scope controls. Arcade is designed for teams that need consistent governance across users, agents, and frameworks.
Arcade agents can search and read emails and threads, create and update drafts, reply to and forward messages, send email, manage labels, archive or trash messages, triage inbox content, inspect attachment metadata, report spam, and process unsubscribe requests. Exact availability depends on the Gmail toolkit version.
Arcade requests the Google OAuth scopes required by the Gmail actions you enable. Read-only workflows can use gmail.readonly, sending requires gmail.send, and actions that change labels or mailbox state may require gmail.modify. Teams should grant the narrowest scopes that support their workflow.
Yes. Each user authorizes their own Google account through OAuth. Gmail actions run under that user's authorization grant, so the agent can access only the account and permissions the user has approved.
Yes. Arcade Contextual Access policies can require human approval before consequential Gmail actions such as sending, deleting, trashing, or unsubscribing. The tool call proceeds only after the required policy conditions have been satisfied.
Arcade proxies Gmail API calls and does not persist Gmail message content as part of normal tool execution. OAuth credentials are brokered and stored encrypted at rest, and the model does not receive raw credentials. Attachment bytes can be substituted client-side without passing through the model conversation.
Arcade Gmail tools work with frameworks and clients that can connect to Arcade's MCP gateway or tool APIs. Supported environments include LangChain, OpenAI Agents, CrewAI, Claude Desktop, Claude Code, Cursor, Visual Studio Code, Microsoft Copilot Studio, and GitHub Copilot.
Arcade can refresh OAuth access while the user's Google authorization remains valid. If Google access is revoked or can no longer be refreshed, the Gmail action cannot continue. The user must reconnect their Google account before the agent can perform additional Gmail actions.
Google's Gmail API quotas and account-level sending limits still apply to actions performed through Arcade. Some Arcade tools also have per-call limits, including up to 50 messages for supported batch label or triage operations. Attachment, pagination, and payload limits depend on the Gmail API and the specific Arcade tool.