Gmail
Manage your Gmail inbox � send and read emails, organize with labels, manage drafts and threads, handle attachments, and configure vacation auto-reply through…
Community: Submitted by a user or imported; check the owner before granting accessOnlineAPI key requiredGlobalFreeCan modify data
What it can do
- Gmail List Messages: List messages in the mailbox. Supports Gmail search syntax for filtering (e.g., from:, to:, subject:, is:unread, has:attachment).
- Gmail Get Message: Get a specific message by ID. Returns headers, body, labels, and metadata. Use format=full for parsed body or format=raw for RFC 2822.
- Gmail Send Message: Send an email message. Supports plain text and HTML body, CC, BCC, and replying to threads.
What data it sees
Do you need an account
An API key from the service settings is required
Manage your Gmail inbox � send and read emails, organize with labels, manage drafts and threads, handle attachments, and configure vacation auto-reply through 28 MCP tools.
Features
- Send, read, and search emails with Gmail search syntax
- Manage drafts (create, update, send)
- Organize with labels (create, update, apply to messages)
- Thread-based conversation management
- Batch operations for bulk label changes and deletions
- Attachment retrieval
- Vacation auto-reply settings
- Full OAuth 2.0 authentication with refresh tokens
28 Tools
Messages (10): List, get, send, delete, trash, untrash, modify labels, batch delete, batch modify, get attachment
Drafts (6): List, get, create, update, delete, send
Labels (5): List, get, create, update, delete
Threads (5): List, get, modify labels, trash, untrash
Settings (2): Get profile, update vacation auto-reply
Configuration
GOOGLE_CLIENT_ID� OAuth 2.0 Client ID from Google Cloud ConsoleGOOGLE_CLIENT_SECRET� OAuth 2.0 Client SecretGOOGLE_REFRESH_TOKEN� Refresh token with Gmail scope
Server tool list (28)
Raw names from tools/list. Only developers need these.
| gmail_list_messages | List messages in the mailbox. Supports Gmail search syntax for filtering (e.g., from:, to:, subject:, is:unread, has:attachment). |
| gmail_get_message | Get a specific message by ID. Returns headers, body, labels, and metadata. Use format=full for parsed body or format=raw for RFC 2822. |
| gmail_send_message | Send an email message. Supports plain text and HTML body, CC, BCC, and replying to threads. |
| gmail_delete_message | Permanently delete a message. This action is irreversible — use gmail_trash_message for safe deletion. |
| gmail_trash_message | Move a message to the trash. Can be undone with gmail_untrash_message. |
| gmail_untrash_message | Remove a message from the trash, restoring it to its original location. |
| gmail_modify_message | Add or remove labels on a message. Use this to mark as read/unread, star/unstar, or apply custom labels. |
| gmail_batch_delete | Permanently delete multiple messages at once. Maximum 1000 IDs per request. Irreversible. |
| gmail_batch_modify | Add or remove labels on multiple messages at once. Maximum 1000 IDs per request. |
| gmail_get_attachment | Get attachment data for a message. Returns base64url-encoded data. Find attachment IDs in the message payload parts. |
| gmail_list_drafts | List all drafts in the mailbox. |
| gmail_get_draft | Get a specific draft by ID, including the draft message content. |
| gmail_create_draft | Create a new draft email. The draft can be sent later with gmail_send_draft. |
| gmail_update_draft | Update an existing draft with new content. Replaces the entire draft message. |
| gmail_delete_draft | Delete a draft. This permanently removes the draft. |
| gmail_send_draft | Send an existing draft. The draft is removed from the drafts list after sending. |
| gmail_list_labels | List all labels in the mailbox, including system labels (INBOX, SENT, etc.) and user-created labels. |
| gmail_get_label | Get details for a specific label, including message and thread counts. |
| gmail_create_label | Create a new user label for organizing messages. |
| gmail_update_label | Update a label name, visibility, or color. |
| gmail_delete_label | Delete a user-created label. System labels cannot be deleted. Messages with this label are not deleted. |
| gmail_list_threads | List email threads (conversations). Supports the same search syntax as gmail_list_messages. |
| gmail_get_thread | Get all messages in a thread (conversation). Returns the complete email chain. |
| gmail_modify_thread | Add or remove labels on all messages in a thread. |
| gmail_trash_thread | Move all messages in a thread to the trash. |
| gmail_untrash_thread | Remove all messages in a thread from the trash. |
| gmail_get_profile | Get the authenticated user's Gmail profile — email address, total message count, total thread count, and history ID. |
| gmail_update_vacation | Enable or disable vacation auto-reply (out of office) with custom response message. |