otheroauth2

Gmail

Gmail is Google’s email service, featuring spam protection, search functions, and seamless integration with other G Suite apps for productivity

Verdict

Gmail via MCP is the integration that lets the model see your inbox, search threads, and draft replies. The bar for "AI access to your email" is high — the upside is high too, because so much of what people procrastinate on lives in their inbox. What we notice: read-only Gmail use is the unambiguous win — "summarise my unread", "find the email from the legal team last week", "what did I tell the customer about pricing in March" all work cleanly. Drafting replies needs a model with good voice (Sonnet 4.7 or GPT-5) — the cheaper models nail the structure but flatten the tone. Sending without human review is the line most teams shouldn't cross. Best for: inbox triage and summarisation; finding threads that are deeper than search; drafting first-pass replies for human review; pulling decisions or commitments from email into a system of record (Notion, Linear, your CRM). Avoid for: unsupervised reply sending (the trust ladder is too steep); legal, HR, or sensitive-customer email (compliance and privacy matter more than convenience); workflows where Gmail labels and filters already do the job. Practical frame: free with a Gmail account; OAuth handles auth. Token cost depends on how much email body you load — running a "summarise inbox" across 50 threads costs $0.05-0.20 on Sonnet. The privacy tradeoff is the real budget item — review the scopes the model has and what the data flow is.

Common use cases

  • Triage support inbox and draft replies
  • Summarize unread messages from key senders
  • Create labels and organize threads by topic
  • Pull contact details for outreach lists
  • Draft follow-up emails with thread context

Integration

Vendor
Gmail
Category
other
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 Draft
    destructive

    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 message
    destructive

    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 label
    destructive

    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

  1. 11. Open your Switchy workspace and navigate to Settings > Integrations. 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 you want to connect. 4. Grant the requested scopes: read/compose/send mail, manage drafts and labels, and read contacts. 5. After authorizing, you'll return to Switchy and see Gmail listed as connected. 6. Open any Project and type '@Gmail fetch my unread emails from the last 24 hours' to test the connection. 7. If the MCP returns a list of messages, setup is complete and you can invoke any of the 23 available tools by @mentioning Gmail in your prompts.

What teammates see: by default, memories from Gmail are scoped to the Project (PROJECT visibility) - you can mark any memory PRIVATE or share it ORG-wide.

Works well with

Top models

Compatibility data appears once enough Projects have used this MCP together with a given model.

How Switchy teams use it

Not enough Projects yet to publish anonymised usage stats (we require ≥ 50 Projects per week).

Starter prompts

Triage Unread Support Tickets

@Gmail fetch unread emails from support@ourcompany.com in the last 48 hours. Summarize each by sender, subject, and urgency level.
Open in a Project →

Draft Reply With Context

@Gmail fetch the thread for message ID 18f3a2b9c4d5e6f7 and create a draft reply thanking the sender and confirming next steps.
Open in a Project →

Organize Inbox by Label

@Gmail create a label called 'Q1 Launch' and apply it to all emails with subject line containing 'product launch' from the last two weeks.
Open in a Project →

Export Contact List

@Gmail get all contacts whose company field includes 'Acme Corp' and return their names, emails, and phone numbers.
Open in a Project →

Summarize Inbox Activity

@Gmail fetch all emails I received in the last seven days and summarize total count, top five senders, and any threads with more than three replies.
Open in a Project →

Example outputs

Illustrative - representative of the model's voice and quality, not literal recordings.

Prompt

@Gmail fetch all unread emails from the last 3 days that mention 'budget approval' and summarize the key action items by sender

Output

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.

Notes

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.

Prompt

@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

Output

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.

Notes

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.

Prompt

@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

Output

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.

Notes

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

Customer support email triage

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.

Weekly newsletter send coordination

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.

Sales follow-up automation for founders

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.

Compare with

Compare with anything else →

More other MCPs

See all other MCPs

Data last verified 7 hours ago.Sources aggregated hourly to weekly. See docs/architecture/model-directory.md.