Gmail
Search threads, draft replies, triage inbox.
Verdict
Common use cases
- Triage support tickets from shared inbox
- Draft customer replies with team input
- Surface email thread context during calls
- Label and archive messages in bulk
- Pull contact details for outreach prep
Integration
- Vendor
- Gmail
- Category
- communication
- Auth
- OAUTH2
- Tools
- 23
- Composio slug
gmail
Tools
- Create email draft
Creates a gmail email draft, supporting to/cc/bcc, subject, plain/html body (ensure `is html=true` for html), attachments, and threading.
- Create label
Creates a new label with a unique name in the specified user's gmail account.
- Delete Draftdestructive
Permanently deletes a specific gmail draft using its id; ensure the draft exists and the user has necessary permissions for the given `user id`.
- Delete messagedestructive
Permanently deletes a specific email message by its id from a gmail mailbox; for `user id`, use 'me' for the authenticated user or an email address to which the authenticated user has delegated access.
- Fetch emails
Fetches a list of email messages from a gmail account, supporting filtering, pagination, and optional full content retrieval.
- Fetch message by message ID
Fetches a specific email message by its id, provided the `message id` exists and is accessible to the authenticated `user id`.
- Fetch Message by Thread ID
Retrieves messages from a gmail thread using its `thread id`, where the thread must be accessible by the specified `user id`.
- Get contacts
Fetches contacts (connections) for the authenticated google account, allowing selection of specific data fields and pagination.
- Get Gmail attachment
Retrieves a specific attachment by id from a message in a user's gmail mailbox, requiring valid message and attachment ids.
- Get People
Retrieves either a specific person's details (using `resource name`) or lists 'other contacts' (if `other contacts` is true), with `person fields` specifying the data to return.
- Get Profile
Retrieves key gmail profile information (email address, message/thread totals, history id) for a user.
- List drafts
Retrieves a paginated list of email drafts from a user's gmail account. use verbose=true to get full draft details including subject, body, sender, and timestamp.
- List Gmail labels
Retrieves a list of all system and user-created labels for the specified gmail account.
- List threads
Retrieves a list of email threads from a gmail account, identified by `user id` (email address or 'me'), supporting filtering and pagination.
- Modify email labels
Adds and/or removes specified gmail labels for a message; ensure `message id` and all `label ids` are valid (use 'listlabels' for custom label ids).
- Modify thread labels
Adds or removes specified existing label ids from a gmail thread, affecting all its messages; ensure the thread id is valid.
- Move to Trash
Moves an existing, non-deleted email message to the trash for the specified user.
- Patch Label
Patches the specified label.
- Remove labeldestructive
Permanently deletes a specific, existing user-created gmail label by its id for a user; cannot delete system labels.
- Reply to email thread
Sends a reply within a specific gmail thread using the original thread's subject, requiring a valid `thread id` and correctly formatted email addresses. supports attachments via the `attachment` parameter with valid `s3key`, `mimetype`, and
- Search People
Searches contacts by matching the query against names, nicknames, emails, phone numbers, and organizations, optionally including 'other contacts'.
- Send Draft
Sends the specified, existing draft to the recipients in the to, cc, and bcc headers.
- Send Email
Sends an email via gmail api using the authenticated user's google profile display name, requiring `is html=true` if the body contains html and valid `s3key`, `mimetype`, `name` for any attachment.
Setup
Setup guide
- 11. Open your Switchy workspace settings and navigate to the Integrations tab. 2. Find Gmail in the MCP directory and click Connect. 3. You'll be redirected to Google's OAuth consent screen; sign in with the account whose mail you want to access. 4. Grant the requested scopes: read/write mail, manage labels, and read contacts (Switchy requests only what the tools require). 5. After authorizing, you'll return to Switchy and see Gmail listed as connected. 6. Open any Space and type '@Gmail fetch my last 5 emails' to confirm the connection works. 7. If the MCP returns a list of message subjects and senders, you're ready to use all 23 tools in your workflows.
What teammates see: by default, memories from Gmail are scoped to the Space (PROJECT visibility) - you can mark any memory PRIVATE or share it ORG-wide.
Works well with
Top models
Compatibility data appears once enough Spaces have used this MCP together with a given model.
How Switchy teams use it
Starter prompts
Fetch Unread Support Emails
@Gmail fetch the last 10 unread emails from my inbox and show me the sender, subject, and a one-sentence summary of each.Open in a Space →
Draft Reply with Context
@Gmail create a draft reply to message ID [paste ID here] thanking the sender for their patience and confirming we'll ship their order by Friday.Open in a Space →
Label High-Priority Threads
@Gmail create a label called 'Q1 Launch' and apply it to all emails in my inbox with 'product launch' in the subject line.Open in a Space →
Retrieve Thread History
@Gmail fetch all messages in thread ID [paste ID here] and summarize the main points of the conversation.Open in a Space →
Export Contact List
@Gmail get the first 50 contacts from my account and return their names, email addresses, and phone numbers in a table.Open in a Space →
Example outputs
Illustrative - representative of the model's voice and quality, not literal recordings.
@Gmail fetch all unread emails from the last 3 days that mention 'budget approval' and summarize the key action items by sender
Found 7 unread messages matching your criteria. From Sarah Chen (Finance): needs Q4 budget reallocation signed by Friday, $45K shift from marketing to engineering. From Mike Torres (Ops): requesting approval for $12K server upgrade, waiting since Monday. From Jennifer Park (Product): asking to reallocate $8K from unused travel budget to user research. The remaining 4 messages are FYIs or automated notifications with no action required. All three requests include attached spreadsheets breaking down the line items.
This example shows fetch + AI synthesis working together. The MCP retrieves message metadata and bodies; the AI extracts action items. Requires Gmail read scope. Note that 'last 3 days' filtering uses Gmail's query syntax under the hood, which may behave unexpectedly with timezone boundaries or complex boolean logic.
@Gmail create a draft reply to the most recent email from james@vendor.com thanking him for the proposal and asking for a revised timeline with Q2 milestones
Draft created and saved to your Gmail drafts folder. The reply is threaded under James's original message (subject: 'Proposal for Infrastructure Refresh'). Draft body: 'Hi James, Thanks for sending over the proposal—the scope looks solid. Before we move forward, could you revise the timeline to include specific Q2 milestones? We need to align this with our board reporting calendar. Best, [Your Name]'. You can edit or send this draft from Gmail.
Demonstrates draft creation with threading context. The MCP finds the most recent message from the sender, then creates a reply draft in the same thread. This is a write operation but non-destructive—you review before sending. Requires Gmail compose scope. If multiple recent emails exist from that sender, the MCP picks the newest by date.
@Gmail create a label called 'Q1-2025-Contracts' and move all emails from legal@company.com in January to that label, then tell me how many were moved
Label 'Q1-2025-Contracts' created successfully. Searched for messages from legal@company.com sent between January 1-31, 2025, and applied the new label to 14 messages. These emails remain in your inbox (labels in Gmail don't remove messages from other views—they're tags, not folders). The labeled messages include 9 contract PDFs, 3 signature request threads, and 2 follow-up reminders.
Shows label creation plus batch message modification. This is a write operation that changes your mailbox organization. Gmail labels are additive—messages keep their existing labels and locations. Requires Gmail modify scope. If you later delete the label, the messages stay in your inbox. Be cautious with broad date ranges; this could label hundreds of messages if the sender is prolific.
Use-case deep-dives
When Gmail MCP beats a ticketing system for small teams
A 3-person support team handling 40-60 inbound emails daily can use the Gmail MCP to triage, label, and draft responses without paying for Zendesk. The fetch-and-filter tools let you pull unread messages by sender domain or subject pattern, then auto-label them by urgency or product area. The draft tool supports threading, so follow-ups stay grouped. This works until you hit about 100 emails per day or need SLA tracking—at that volume, you want a real ticketing system with assignment rules. Below that threshold, the Gmail MCP keeps your workflow in one place and costs nothing beyond OAuth setup. If your team already lives in Gmail and you're pre-revenue, this is the right call for the next six months.
Why the Gmail MCP isn't built for bulk sends
A 2-person marketing team drafting a weekly newsletter to 300 subscribers should not use the Gmail MCP for the actual send. Gmail's API rate limits and deliverability rules make it a poor fit for bulk email—you'll hit sending caps fast and risk your domain reputation. The MCP is useful for the prep work: fetching replies from last week's send, pulling contact lists via the Get Contacts tool, and creating labeled drafts for review. Once the draft is approved, hand off to Mailchimp or SendGrid for the actual blast. The boundary is simple: if you're sending to more than 50 recipients at once, the Gmail MCP is a research and drafting tool, not your delivery layer.
When Gmail MCP handles outbound without a CRM
A solo founder or 2-person sales team doing 10-15 outbound touches per week can use the Gmail MCP to automate follow-ups and thread tracking without buying HubSpot. The Fetch Message by Thread ID tool lets you check if a prospect replied, then the Create Draft tool queues a follow-up with the right context. The label tools let you tag threads by deal stage or next action date. This breaks down around 50 active threads—beyond that, you lose visibility and need a real CRM's pipeline view. But if you're pre-Series A and your deal count is low, the Gmail MCP keeps your outbound workflow in the inbox you already check. Pair it with a calendar MCP for meeting scheduling and you're covered through first revenue.
Frequently asked
What can the Gmail MCP do in Switchy?
It lets your AI agents read emails, create drafts, manage labels, delete messages, and fetch contacts from your Gmail account. Agents can search your inbox with filters, retrieve full message threads, and prepare emails with attachments or HTML formatting. It doesn't send emails directly — only creates drafts you review and send yourself.
What OAuth scopes does the Gmail MCP request?
It requests Gmail read/write access and Google Contacts read access through OAuth2. You'll authenticate once via Google's consent screen, which shows exactly which permissions Switchy is requesting. The MCP uses 'me' as the user ID for most operations, meaning it acts on behalf of whoever connected their Google account.
Can it automatically send emails or only create drafts?
Only drafts. The MCP creates drafts with full formatting, threading, and attachments, but you must manually send them from Gmail. This is intentional — it prevents agents from sending email on your behalf without review. If you need automated sending, use Gmail's API directly or a dedicated email automation tool.
How is this different from using Gmail's web interface?
Agents can search and process your email programmatically — filtering by date, sender, or label, then summarizing threads or extracting data. The web interface requires manual clicking and reading. For one-off tasks, Gmail's UI is faster. For repetitive email triage or data extraction across dozens of messages, the MCP saves hours.
Who on the team should connect their Gmail account?
Whoever owns the inbox the agents need to access. The MCP can't read other people's email unless they've delegated access to your account. If agents need to draft emails from a shared alias, connect the Google Workspace account that owns that alias. Each connection counts as one integration in your Switchy plan.