/
by ai.smithery
Manage Gmail messages, threads, labels, drafts, and settings from your workflows. Send and organiz…
Server configuration and capabilities from the MCP manifest
Size: 24,039 bytes (6,010 tokens)
Tools Found: 56
Analysis ID: k7gd58of
Gmail MCP - Provides complete Gmail API access with file-based OAuth2 authentication
Stars
Registry ID: 8b9fdc45-5231-49ec-8790-36c3708802e7
Added to Registry: 9/21/2025
Last Updated: 9/22/2025
Last Seen: 9/22/2025
License: MIT License
Default Branch: main
Last Push: 9/14/2025
Open Issues: 0
Historical performance and growth metrics over time
{ "name": "Gmail-MCP", "tags": [ "gmail", "mcp", "claude", "anthropic", "email" ], "tools": [ { "name": "create_draft", "description": "Create a draft email in Gmail. Note the mechanics of the raw parameter.", "input_schema": { "type": "object", "required": [], "properties": { "cc": { "type": "array", "items": { "type": "string" }, "description": "List of CC recipient email addresses" }, "to": { "type": "array", "items": { "type": "string" }, "description": "List of recipient email addresses" }, "bcc": { "type": "array", "items": { "type": "string" }, "description": "List of BCC recipient email addresses" }, "raw": { "type": "string", "description": "The entire email message in base64url encoded RFC 2822 format, ignores params.to, cc, bcc, subject, body, includeBodyHtml if provided" }, "body": { "type": "string", "description": "The body of the email" }, "subject": { "type": "string", "description": "The subject of the email" }, "threadId": { "type": "string", "description": "The thread ID to associate this draft with" }, "includeBodyHtml": { "type": "boolean", "description": "Whether to include the parsed HTML in the return for each body, excluded by default because they can be excessively large" } } }, "output_schema": { "type": "object", "properties": { "content": { "type": "array", "items": { "type": "object", "properties": { "text": { "type": "string" }, "type": { "type": "string" } } } } } } }, { "name": "delete_draft", "description": "Delete a draft", "input_schema": { "type": "object", "required": [ "id" ], "properties": { "id": { "type": "string", "description": "The ID of the draft to delete" } } }, "output_schema": {} }, { "name": "get_draft", "description": "Get a specific draft by ID", "input_schema": { "type": "object", "required": [ "id" ], "properties": { "id": { "type": "string", "description": "The ID of the draft to retrieve" }, "includeBodyHtml": { "type": "boolean", "description": "Whether to include the parsed HTML in the return for each body, excluded by default because they can be excessively large" } } }, "output_schema": {} }, { "name": "list_drafts", "description": "List drafts in the user's mailbox", "input_schema": { "type": "object", "required": [], "properties": { "q": { "type": "string", "description": "Only return drafts matching the specified query. Supports the same query format as the Gmail search box" }, "maxResults": { "type": "number", "description": "Maximum number of drafts to return. Accepts values between 1-500" }, "includeBodyHtml": { "type": "boolean", "description": "Whether to include the parsed HTML in the return for each body, excluded by default because they can be excessively large" }, "includeSpamTrash": { "type": "boolean", "description": "Include drafts from SPAM and TRASH in the results" } } }, "output_schema": {} }, { "name": "send_draft", "description": "Send an existing draft", "input_schema": { "type": "object", "required": [ "id" ], "properties": { "id": { "type": "string", "description": "The ID of the draft to send" } } }, "output_schema": {} }, { "name": "create_label", "description": "Create a new label", "input_schema": { "type": "object", "required": [ "name" ], "properties": { "name": { "type": "string", "description": "The display name of the label" }, "color": { "type": "object", "properties": { "textColor": { "type": "string", "description": "The text color of the label as hex string" }, "backgroundColor": { "type": "string", "description": "The background color of the label as hex string" } }, "description": "The color settings for the label" }, "labelListVisibility": { "enum": [ "labelShow", "labelShowIfUnread", "labelHide" ], "type": "string", "description": "The visibility of the label in the label list" }, "messageListVisibility": { "enum": [ "show", "hide" ], "type": "string", "description": "The visibility of messages with this label in the message list" } } }, "output_schema": {} }, { "name": "delete_label", "description": "Delete a label", "input_schema": { "type": "object", "required": [ "id" ], "properties": { "id": { "type": "string", "description": "The ID of the label to delete" } } }, "output_schema": {} }, { "name": "get_label", "description": "Get a specific label by ID", "input_schema": { "type": "object", "required": [ "id" ], "properties": { "id": { "type": "string", "description": "The ID of the label to retrieve" } } }, "output_schema": {} }, { "name": "list_labels", "description": "List all labels in the user's mailbox", "input_schema": { "type": "object", "required": [], "properties": {} }, "output_schema": {} }, { "name": "patch_label", "description": "Patch an existing label (partial update)", "input_schema": { "type": "object", "required": [ "id" ], "properties": { "id": { "type": "string", "description": "The ID of the label to patch" }, "name": { "type": "string", "description": "The display name of the label" }, "color": { "type": "object", "properties": { "textColor": { "type": "string", "description": "The text color of the label as hex string" }, "backgroundColor": { "type": "string", "description": "The background color of the label as hex string" } }, "description": "The color settings for the label" }, "labelListVisibility": { "enum": [ "labelShow", "labelShowIfUnread", "labelHide" ], "type": "string", "description": "The visibility of the label in the label list" }, "messageListVisibility": { "enum": [ "show", "hide" ], "type": "string", "description": "The visibility of messages with this label in the message list" } } }, "output_schema": {} }, { "name": "update_label", "description": "Update an existing label", "input_schema": { "type": "object", "required": [ "id" ], "properties": { "id": { "type": "string", "description": "The ID of the label to update" }, "name": { "type": "string", "description": "The display name of the label" }, "color": { "type": "object", "properties": { "textColor": { "type": "string", "description": "The text color of the label as hex string" }, "backgroundColor": { "type": "string", "description": "The background color of the label as hex string" } }, "description": "The color settings for the label" }, "labelListVisibility": { "enum": [ "labelShow", "labelShowIfUnread", "labelHide" ], "type": "string", "description": "The visibility of the label in the label list" }, "messageListVisibility": { "enum": [ "show", "hide" ], "type": "string", "description": "The visibility of messages with this label in the message list" } } }, "output_schema": {} }, { "name": "batch_delete_messages", "description": "Delete multiple messages", "input_schema": { "type": "object", "required": [ "ids" ], "properties": { "ids": { "type": "array", "items": { "type": "string" }, "description": "The IDs of the messages to delete" } } }, "output_schema": {} }, { "name": "batch_modify_messages", "description": "Modify the labels on multiple messages", "input_schema": { "type": "object", "required": [ "ids" ], "properties": { "ids": { "type": "array", "items": { "type": "string" }, "description": "The IDs of the messages to modify" }, "addLabelIds": { "type": "array", "items": { "type": "string" }, "description": "A list of label IDs to add to the messages" }, "removeLabelIds": { "type": "array", "items": { "type": "string" }, "description": "A list of label IDs to remove from the messages" } } }, "output_schema": {} }, { "name": "delete_message", "description": "Immediately and permanently delete a message", "input_schema": { "type": "object", "required": [ "id" ], "properties": { "id": { "type": "string", "description": "The ID of the message to delete" } } }, "output_schema": {} }, { "name": "get_message", "description": "Get a specific message by ID with format options", "input_schema": { "type": "object", "required": [ "id" ], "properties": { "id": { "type": "string", "description": "The ID of the message to retrieve" }, "includeBodyHtml": { "type": "boolean", "description": "Whether to include the parsed HTML in the return for each body, excluded by default because they can be excessively large" } } }, "output_schema": {} }, { "name": "list_messages", "description": "List messages in the user's mailbox with optional filtering", "input_schema": { "type": "object", "required": [], "properties": { "q": { "type": "string", "description": "Only return messages matching the specified query. Supports the same query format as the Gmail search box" }, "labelIds": { "type": "array", "items": { "type": "string" }, "description": "Only return messages with labels that match all of the specified label IDs" }, "pageToken": { "type": "string", "description": "Page token to retrieve a specific page of results" }, "maxResults": { "type": "number", "description": "Maximum number of messages to return. Accepts values between 1-500" }, "includeBodyHtml": { "type": "boolean", "description": "Whether to include the parsed HTML in the return for each body, excluded by default because they can be excessively large" }, "includeSpamTrash": { "type": "boolean", "description": "Include messages from SPAM and TRASH in the results" } } }, "output_schema": {} }, { "name": "modify_message", "description": "Modify the labels on a message", "input_schema": { "type": "object", "required": [ "id" ], "properties": { "id": { "type": "string", "description": "The ID of the message to modify" }, "addLabelIds": { "type": "array", "items": { "type": "string" }, "description": "A list of label IDs to add to the message" }, "removeLabelIds": { "type": "array", "items": { "type": "string" }, "description": "A list of label IDs to remove from the message" } } }, "output_schema": {} }, { "name": "send_message", "description": "Send an email message to specified recipients. Note the mechanics of the raw parameter.", "input_schema": { "type": "object", "required": [], "properties": { "cc": { "type": "array", "items": { "type": "string" }, "description": "List of CC recipient email addresses" }, "to": { "type": "array", "items": { "type": "string" }, "description": "List of recipient email addresses" }, "bcc": { "type": "array", "items": { "type": "string" }, "description": "List of BCC recipient email addresses" }, "raw": { "type": "string", "description": "The entire email message in base64url encoded RFC 2822 format, ignores params.to, cc, bcc, subject, body, includeBodyHtml if provided" }, "body": { "type": "string", "description": "The body of the email" }, "subject": { "type": "string", "description": "The subject of the email" }, "threadId": { "type": "string", "description": "The thread ID to associate this message with" }, "includeBodyHtml": { "type": "boolean", "description": "Whether to include the parsed HTML in the return for each body, excluded by default because they can be excessively large" } } }, "output_schema": {} }, { "name": "trash_message", "description": "Move a message to the trash", "input_schema": { "type": "object", "required": [ "id" ], "properties": { "id": { "type": "string", "description": "The ID of the message to move to trash" } } }, "output_schema": {} }, { "name": "untrash_message", "description": "Remove a message from the trash", "input_schema": { "type": "object", "required": [ "id" ], "properties": { "id": { "type": "string", "description": "The ID of the message to remove from trash" } } }, "output_schema": {} }, { "name": "get_attachment", "description": "Get a message attachment", "input_schema": { "type": "object", "required": [ "messageId", "id" ], "properties": { "id": { "type": "string", "description": "The ID of the attachment" }, "messageId": { "type": "string", "description": "ID of the message containing the attachment" } } }, "output_schema": {} }, { "name": "delete_thread", "description": "Delete a thread", "input_schema": { "type": "object", "required": [ "id" ], "properties": { "id": { "type": "string", "description": "The ID of the thread to delete" } } }, "output_schema": {} }, { "name": "get_thread", "description": "Get a specific thread by ID", "input_schema": { "type": "object", "required": [ "id" ], "properties": { "id": { "type": "string", "description": "The ID of the thread to retrieve" }, "includeBodyHtml": { "type": "boolean", "description": "Whether to include the parsed HTML in the return for each body, excluded by default because they can be excessively large" } } }, "output_schema": {} }, { "name": "list_threads", "description": "List threads in the user's mailbox", "input_schema": { "type": "object", "required": [], "properties": { "q": { "type": "string", "description": "Only return threads matching the specified query" }, "labelIds": { "type": "array", "items": { "type": "string" }, "description": "Only return threads with labels that match all of the specified label IDs" }, "pageToken": { "type": "string", "description": "Page token to retrieve a specific page of results" }, "maxResults": { "type": "number", "description": "Maximum number of threads to return" }, "includeBodyHtml": { "type": "boolean", "description": "Whether to include the parsed HTML in the return for each body, excluded by default because they can be excessively large" }, "includeSpamTrash": { "type": "boolean", "description": "Include threads from SPAM and TRASH in the results" } } }, "output_schema": {} }, { "name": "modify_thread", "description": "Modify the labels applied to a thread", "input_schema": { "type": "object", "required": [ "id" ], "properties": { "id": { "type": "string", "description": "The ID of the thread to modify" }, "addLabelIds": { "type": "array", "items": { "type": "string" }, "description": "A list of label IDs to add to the thread" }, "removeLabelIds": { "type": "array", "items": { "type": "string" }, "description": "A list of label IDs to remove from the thread" } } }, "output_schema": {} }, { "name": "trash_thread", "description": "Move a thread to the trash", "input_schema": { "type": "object", "required": [ "id" ], "properties": { "id": { "type": "string", "description": "The ID of the thread to move to trash" } } }, "output_schema": {} }, { "name": "untrash_thread", "description": "Remove a thread from the trash", "input_schema": { "type": "object", "required": [ "id" ], "properties": { "id": { "type": "string", "description": "The ID of the thread to remove from trash" } } }, "output_schema": {} }, { "name": "get_auto_forwarding", "description": "Gets auto-forwarding settings", "input_schema": { "type": "object", "required": [], "properties": {} }, "output_schema": {} }, { "name": "get_imap", "description": "Gets IMAP settings", "input_schema": { "type": "object", "required": [], "properties": {} }, "output_schema": {} }, { "name": "get_language", "description": "Gets language settings", "input_schema": { "type": "object", "required": [], "properties": {} }, "output_schema": {} }, { "name": "get_pop", "description": "Gets POP settings", "input_schema": { "type": "object", "required": [], "properties": {} }, "output_schema": {} }, { "name": "get_vacation", "description": "Get vacation responder settings", "input_schema": { "type": "object", "required": [], "properties": {} }, "output_schema": {} }, { "name": "update_auto_forwarding", "description": "Updates automatic forwarding settings", "input_schema": { "type": "object", "required": [ "enabled", "emailAddress", "disposition" ], "properties": { "enabled": { "type": "boolean", "description": "Whether all incoming mail is automatically forwarded to another address" }, "disposition": { "enum": [ "leaveInInbox", "archive", "trash", "markRead" ], "type": "string", "description": "The state in which messages should be left after being forwarded" }, "emailAddress": { "type": "string", "description": "Email address to which messages should be automatically forwarded" } } }, "output_schema": {} }, { "name": "update_imap", "description": "Updates IMAP settings", "input_schema": { "type": "object", "required": [], "properties": { "enabled": { "type": "boolean", "description": "Whether IMAP is enabled for the account" }, "maxFolderSize": { "type": "number", "description": "An optional limit on the number of messages that can be accessed through IMAP" }, "expungeBehavior": { "enum": [ "archive", "trash", "deleteForever" ], "type": "string", "description": "The action that will be executed on a message when it is marked as deleted and expunged from the last visible IMAP folder" } } }, "output_schema": {} }, { "name": "update_language", "description": "Updates language settings", "input_schema": { "type": "object", "required": [ "displayLanguage" ], "properties": { "displayLanguage": { "type": "string", "description": "The language to display Gmail in, formatted as an RFC 3066 Language Tag" } } }, "output_schema": {} }, { "name": "update_pop", "description": "Updates POP settings", "input_schema": { "type": "object", "required": [ "accessWindow", "disposition" ], "properties": { "disposition": { "enum": [ "archive", "trash", "leaveInInbox" ], "type": "string", "description": "The action that will be executed on a message after it has been fetched via POP" }, "accessWindow": { "enum": [ "disabled", "allMail", "fromNowOn" ], "type": "string", "description": "The range of messages which are accessible via POP" } } }, "output_schema": {} }, { "name": "update_vacation", "description": "Update vacation responder settings", "input_schema": { "type": "object", "required": [ "enableAutoReply", "responseBodyPlainText" ], "properties": { "endTime": { "type": "string", "description": "End time for sending auto-replies (epoch ms)" }, "startTime": { "type": "string", "description": "Start time for sending auto-replies (epoch ms)" }, "enableAutoReply": { "type": "boolean", "description": "Whether the vacation responder is enabled" }, "responseSubject": { "type": "string", "description": "Optional subject line for the vacation responder auto-reply" }, "restrictToDomain": { "type": "boolean", "description": "Whether responses are only sent to users in the same domain" }, "restrictToContacts": { "type": "boolean", "description": "Whether responses are only sent to contacts" }, "responseBodyPlainText": { "type": "string", "description": "Response body in plain text format" } } }, "output_schema": {} }, { "name": "add_delegate", "description": "Adds a delegate to the specified account", "input_schema": { "type": "object", "required": [ "delegateEmail" ], "properties": { "delegateEmail": { "type": "string", "description": "Email address of delegate to add" } } }, "output_schema": {} }, { "name": "remove_delegate", "description": "Removes the specified delegate", "input_schema": { "type": "object", "required": [ "delegateEmail" ], "properties": { "delegateEmail": { "type": "string", "description": "Email address of delegate to remove" } } }, "output_schema": {} }, { "name": "get_delegate", "description": "Gets the specified delegate", "input_schema": { "type": "object", "required": [ "delegateEmail" ], "properties": { "delegateEmail": { "type": "string", "description": "The email address of the delegate to retrieve" } } }, "output_schema": {} }, { "name": "list_delegates", "description": "Lists the delegates for the specified account", "input_schema": { "type": "object", "required": [], "properties": {} }, "output_schema": {} }, { "name": "create_filter", "description": "Creates a filter", "input_schema": { "type": "object", "required": [ "criteria", "action" ], "properties": { "action": { "type": "object", "properties": { "forward": { "type": "string", "description": "Email address that the message should be forwarded to" }, "addLabelIds": { "type": "array", "items": { "type": "string" }, "description": "List of labels to add to messages" }, "removeLabelIds": { "type": "array", "items": { "type": "string" }, "description": "List of labels to remove from messages" } }, "description": "Actions to perform on messages matching the criteria" }, "criteria": { "type": "object", "properties": { "to": { "type": "string", "description": "The recipient's display name or email address" }, "from": { "type": "string", "description": "The sender's display name or email address" }, "size": { "type": "number", "description": "The size of the entire RFC822 message in bytes" }, "query": { "type": "string", "description": "A Gmail search query that specifies the filter's criteria" }, "subject": { "type": "string", "description": "Case-insensitive phrase in the message's subject" }, "excludeChats": { "type": "boolean", "description": "Whether the response should exclude chats" }, "negatedQuery": { "type": "string", "description": "A Gmail search query that specifies criteria the message must not match" }, "hasAttachment": { "type": "boolean", "description": "Whether the message has any attachment" }, "sizeComparison": { "enum": [ "smaller", "larger" ], "type": "string", "description": "How the message size in bytes should be in relation to the size field" } }, "description": "Filter criteria" } } }, "output_schema": {} }, { "name": "delete_filter", "description": "Deletes a filter", "input_schema": { "type": "object", "required": [ "id" ], "properties": { "id": { "type": "string", "description": "The ID of the filter to be deleted" } } }, "output_schema": {} }, { "name": "get_filter", "description": "Gets a filter", "input_schema": { "type": "object", "required": [ "id" ], "properties": { "id": { "type": "string", "description": "The ID of the filter to be fetched" } } }, "output_schema": {} }, { "name": "list_filters", "description": "Lists the message filters of a Gmail user", "input_schema": { "type": "object", "required": [], "properties": {} }, "output_schema": {} }, { "name": "create_forwarding_address", "description": "Creates a forwarding address", "input_schema": { "type": "object", "required": [ "forwardingEmail" ], "properties": { "forwardingEmail": { "type": "string", "description": "An email address to which messages can be forwarded" } } }, "output_schema": {} }, { "name": "delete_forwarding_address", "description": "Deletes the specified forwarding address", "input_schema": { "type": "object", "required": [ "forwardingEmail" ], "properties": { "forwardingEmail": { "type": "string", "description": "The forwarding address to be deleted" } } }, "output_schema": {} }, { "name": "get_forwarding_address", "description": "Gets the specified forwarding address", "input_schema": { "type": "object", "required": [ "forwardingEmail" ], "properties": { "forwardingEmail": { "type": "string", "description": "The forwarding address to be retrieved" } } }, "output_schema": {} }, { "name": "list_forwarding_addresses", "description": "Lists the forwarding addresses for the specified account", "input_schema": { "type": "object", "required": [], "properties": {} }, "output_schema": {} }, { "name": "create_send_as", "description": "Creates a custom send-as alias", "input_schema": { "type": "object", "required": [ "sendAsEmail" ], "properties": { "isPrimary": { "type": "boolean", "description": "Whether this address is the primary address" }, "signature": { "type": "string", "description": "An optional HTML signature" }, "displayName": { "type": "string", "description": "A name that appears in the 'From:' header" }, "sendAsEmail": { "type": "string", "description": "The email address that appears in the 'From:' header" }, "treatAsAlias": { "type": "boolean", "description": "Whether Gmail should treat this address as an alias" }, "replyToAddress": { "type": "string", "description": "An optional email address that is included in a 'Reply-To:' header" } } }, "output_schema": {} }, { "name": "delete_send_as", "description": "Deletes the specified send-as alias", "input_schema": { "type": "object", "required": [ "sendAsEmail" ], "properties": { "sendAsEmail": { "type": "string", "description": "The send-as alias to be deleted" } } }, "output_schema": {} }, { "name": "get_send_as", "description": "Gets the specified send-as alias", "input_schema": { "type": "object", "required": [ "sendAsEmail" ], "properties": { "sendAsEmail": { "type": "string", "description": "The send-as alias to be retrieved" } } }, "output_schema": {} }, { "name": "list_send_as", "description": "Lists the send-as aliases for the specified account", "input_schema": { "type": "object", "required": [], "properties": {} }, "output_schema": {} }, { "name": "patch_send_as", "description": "Patches the specified send-as alias", "input_schema": { "type": "object", "required": [ "sendAsEmail" ], "properties": { "isPrimary": { "type": "boolean", "description": "Whether this address is the primary address" }, "signature": { "type": "string", "description": "An optional HTML signature" }, "displayName": { "type": "string", "description": "A name that appears in the 'From:' header" }, "sendAsEmail": { "type": "string", "description": "The send-as alias to be updated" }, "treatAsAlias": { "type": "boolean", "description": "Whether Gmail should treat this address as an alias" }, "replyToAddress": { "type": "string", "description": "An optional email address that is included in a 'Reply-To:' header" } } }, "output_schema": {} }, { "name": "update_send_as", "description": "Updates a send-as alias", "input_schema": { "type": "object", "required": [ "sendAsEmail" ], "properties": { "isPrimary": { "type": "boolean", "description": "Whether this address is the primary address" }, "signature": { "type": "string", "description": "An optional HTML signature" }, "displayName": { "type": "string", "description": "A name that appears in the 'From:' header" }, "sendAsEmail": { "type": "string", "description": "The send-as alias to be updated" }, "treatAsAlias": { "type": "boolean", "description": "Whether Gmail should treat this address as an alias" }, "replyToAddress": { "type": "string", "description": "An optional email address that is included in a 'Reply-To:' header" } } }, "output_schema": {} }, { "name": "verify_send_as", "description": "Sends a verification email to the specified send-as alias", "input_schema": { "type": "object", "required": [ "sendAsEmail" ], "properties": { "sendAsEmail": { "type": "string", "description": "The send-as alias to be verified" } } }, "output_schema": {} } ], "version": "1.7.4", "categories": [], "description": "Gmail MCP - Provides complete Gmail API access with file-based OAuth2 authentication" }
Forks
Watchers
Contributors
Last Push: 9/14/2025
Open Issues: 0