Gmail
Gmail is Google’s email service, featuring spam protection, search functions, and seamless integration with other G Suite apps for productivity
Verdict
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 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 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
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.
@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.
Compare with
Compare with anything else →More other MCPs
- GoCardless MCPGoCardless MCP
- GoDaddy MCPGoDaddy MCP
- GoFileGoFile
- GoodAPI: Plant TreesGoodAPI: Plant Trees
- GoodbitsGoodbits
- GoodyGoody
- Google AdminGoogle Admin
- Google AdsGoogle Ads
- Google BigQueryGoogle BigQuery
- Google CalendarGoogle Calendar
- Google ClassroomGoogle Classroom
- Google Cloud VisionGoogle Cloud Vision