Gmail MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PORT | No | Port for Streamable HTTP transport method | 3000 |
| CLIENT_ID | No | Google API client ID (found in GMAIL_OAUTH_PATH). Required for remote server connection | |
| CLIENT_SECRET | No | Google API client secret (found in GMAIL_OAUTH_PATH). Required for remote server connection | |
| REFRESH_TOKEN | No | OAuth refresh token (found in GMAIL_CREDENTIALS_PATH). Required for remote server connection | |
| MCP_CONFIG_DIR | No | Directory for storing configuration files | ~/.gmail-mcp |
| AUTH_SERVER_PORT | No | Port for the temporary OAuth authentication server | 3000 |
| GMAIL_OAUTH_PATH | No | Path to the Google API Client file | MCP_CONFIG_DIR/gcp-oauth.keys.json |
| TELEMETRY_ENABLED | No | Enable telemetry | true |
| GMAIL_CREDENTIALS_PATH | No | Path to the user credentials file | MCP_CONFIG_DIR/credentials.json |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| create_draftB | Create a draft email in Gmail. Note the mechanics of the raw parameter. |
| delete_draftC | Delete a draft |
| get_draftC | Get a specific draft by ID |
| list_draftsC | List drafts in the user's mailbox |
| send_draftC | Send an existing draft |
| create_labelC | Create a new label |
| delete_labelC | Delete a label |
| get_labelA | Get a specific label by ID |
| list_labelsB | List all labels in the user's mailbox |
| patch_labelB | Patch an existing label (partial update) |
| update_labelC | Update an existing label |
| batch_delete_messagesB | Delete multiple messages |
| batch_modify_messagesB | Modify the labels on multiple messages |
| delete_messageA | Immediately and permanently delete a message |
| get_messageA | Get a specific message by ID with format options |
| list_messagesC | List messages in the user's mailbox with optional filtering |
| modify_messageB | Modify the labels on a message |
| send_messageC | Send an email message to specified recipients. Note the mechanics of the raw parameter. |
| trash_messageA | Move a message to the trash |
| untrash_messageB | Remove a message from the trash |
| get_attachmentC | Get a message attachment |
| delete_threadB | Delete a thread |
| get_threadB | Get a specific thread by ID |
| list_threadsB | List threads in the user's mailbox |
| modify_threadB | Modify the labels applied to a thread |
| trash_threadB | Move a thread to the trash |
| untrash_threadA | Remove a thread from the trash |
| get_auto_forwardingA | Gets auto-forwarding settings |
| get_imapB | Gets IMAP settings |
| get_languageB | Gets language settings |
| get_popB | Gets POP settings |
| get_vacationB | Get vacation responder settings |
| update_auto_forwardingC | Updates automatic forwarding settings |
| update_imapC | Updates IMAP settings |
| update_languageC | Updates language settings |
| update_popC | Updates POP settings |
| update_vacationC | Update vacation responder settings |
| add_delegateC | Adds a delegate to the specified account |
| remove_delegateC | Removes the specified delegate |
| get_delegateA | Gets the specified delegate |
| list_delegatesA | Lists the delegates for the specified account |
| create_filterD | Creates a filter |
| delete_filterB | Deletes a filter |
| get_filterC | Gets a filter |
| list_filtersA | Lists the message filters of a Gmail user |
| create_forwarding_addressB | Creates a forwarding address |
| delete_forwarding_addressB | Deletes the specified forwarding address |
| get_forwarding_addressC | Gets the specified forwarding address |
| list_forwarding_addressesB | Lists the forwarding addresses for the specified account |
| create_send_asB | Creates a custom send-as alias |
| delete_send_asB | Deletes the specified send-as alias |
| get_send_asA | Gets the specified send-as alias |
| list_send_asB | Lists the send-as aliases for the specified account |
| patch_send_asC | Patches the specified send-as alias |
| update_send_asC | Updates a send-as alias |
| verify_send_asB | Sends a verification email to the specified send-as alias |
| delete_smime_infoB | Deletes the specified S/MIME config for the specified send-as alias |
| get_smime_infoB | Gets the specified S/MIME config for the specified send-as alias |
| insert_smime_infoB | Insert (upload) the given S/MIME config for the specified send-as alias |
| list_smime_infoB | Lists S/MIME configs for the specified send-as alias |
| set_default_smime_infoC | Sets the default S/MIME config for the specified send-as alias |
| get_profileA | Get the current user's Gmail profile |
| watch_mailboxC | Watch for changes to the user's mailbox |
| stop_mail_watchB | Stop receiving push notifications for the given user mailbox |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/shinzo-labs/gmail-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server