Skip to main content
Glama

Server Details

A MCP server for Gmail that lets you search, read, and draft emails and replies.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
mintmcp/servers
GitHub Stars
6

See and control every tool call

Log every tool call with full inputs and outputs
Control which tools are enabled per connector
Manage credentials once, use from any MCP client
Monitor uptime and get alerted when servers go down

Available Tools

11 tools
add_labelsTry in Inspector

Add one or more labels to an email message. Use list_labels to find label IDs. Common system label IDs: INBOX, STARRED, IMPORTANT, UNREAD, SPAM, TRASH.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailIdYesEmail ID to add labels to (from search_email or get_email)
labelIdsYesArray of label IDs to add (e.g., ['STARRED', 'Label_123'])
create_labelTry in Inspector

Create a new Gmail label. Labels can be used to organize emails. After creation, use add_labels to apply the label to messages.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesName for the new label (e.g., 'Projects/Alpha' for nested labels)
labelListVisibilityNoWhether to show the label in the label list: labelShow (default), labelShowIfUnread, or labelHide
messageListVisibilityNoWhether to show the label in the message list: show (default) or hide
delete_labelTry in Inspector

Permanently delete a Gmail label. This removes the label from all messages but does not delete the messages themselves. Only user-created labels can be deleted; system labels (INBOX, SENT, etc.) cannot be removed.

ParametersJSON Schema
NameRequiredDescriptionDefault
labelIdYesID of the label to delete (from list_labels)
draft_emailTry in Inspector

Create a new email draft saved to the Drafts folder. Use this when composing an email to review or send later. The draft can be sent using send_draft. Plain text is automatically formatted with markdown. Optionally provide HTML for rich formatting.

ParametersJSON Schema
NameRequiredDescriptionDefault
ccNoCC recipient email addresses
toYesRecipient email addresses (e.g., ['user@example.com'])
bccNoBCC recipient email addresses
subjectYesEmail subject line
body_htmlNoOptional HTML version for rich formatting
body_textYesPlain text email body. Supports markdown formatting
draft_replyTry in Inspector

Create a reply draft to an existing email, maintaining the conversation thread. Use this to compose a response that can be reviewed before sending. Automatically adds 'Re: ' prefix to subject and preserves email threading. The reply_all parameter determines whether to reply to all original recipients or just the sender. Plain text supports markdown formatting.

ParametersJSON Schema
NameRequiredDescriptionDefault
email_idYesID of the email to reply to (from search_email or get_email)
body_htmlNoOptional HTML version for rich formatting
body_textYesReply message text. Supports markdown formatting
reply_allNotrue: reply to sender and all recipients. false: reply only to sender. Default: true
get_attachmentTry in Inspector

Download an email attachment by its ID. Use after get_email to fetch the actual attachment content. Pass the filename and mimeType from get_email's attachment metadata. Text files (txt, csv, json, html, xml, md) are returned as decoded text. Images (png, jpg, gif, webp) are returned as viewable image content. Other files are returned as base64-encoded data. Attachments over 10MB are rejected.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailIdYesEmail ID from search_email or get_email
filenameYesFilename from get_email attachment metadata
mimeTypeYesMIME type from get_email attachment metadata (e.g. application/pdf, image/png)
attachmentIdYesAttachment ID from get_email attachment metadata
get_emailTry in Inspector

Retrieve the complete content of a specific email using its ID from search_email. Use this to read the full email body (text or HTML), see all recipients (to, cc, bcc), and access the complete headers. This is necessary after search_email since search only returns snippets, not the actual email content.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailIdYesEmail ID from search_email results
list_labelsTry in Inspector

List all Gmail labels for the authenticated user. Returns both system labels (INBOX, SENT, TRASH, etc.) and user-created labels with message/thread counts. Use this to discover label IDs needed for add_labels, remove_labels, or search_email queries.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

remove_labelsTry in Inspector

Remove one or more labels from an email message. Use list_labels to find label IDs. Removing INBOX effectively archives the message. Removing UNREAD marks it as read.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailIdYesEmail ID to remove labels from (from search_email or get_email)
labelIdsYesArray of label IDs to remove (e.g., ['UNREAD', 'Label_123'])
search_emailTry in Inspector

Search for emails in Gmail to find specific messages or filter the inbox. Use this when the user wants to find emails by sender, subject, date, content, or other criteria. Returns email summaries suitable for listing and overview - to read full email content, attachments, or HTML body, use get_email with the returned email ID. This tool searches across all folders unless specified otherwise in the query.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query using Gmail search syntax. Examples: - from:john@example.com (emails from specific sender) - to:jane@example.com (emails to specific recipient) - subject:meeting (emails with 'meeting' in subject) - has:attachment (emails with attachments) - is:unread (unread emails) - is:important (important emails) - after:2025/1/1 (emails after date) - before:2025/1/31 (emails before date) - newer_than:1d (emails from last day, use 1h for hour, 1w for week) - older_than:1d (emails older than 1 day) - label:inbox (emails in inbox) - in:sent (sent emails) - bare words search all fields Combine with AND/OR operators. Date format: YYYY/M/D or relative (1d, 1w, 1m).
pageTokenNoToken for fetching the next page of results
maxResultsNoMaximum number of results to return (default 10, max 100)
send_draftTry in Inspector

Send a previously created draft email. Use this after draft_email or draft_reply when ready to send. The draft will be moved from Drafts to Sent folder automatically. This action cannot be undone.

ParametersJSON Schema
NameRequiredDescriptionDefault
draftIdYesDraft ID from draft_email or draft_reply response

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.