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 |
Capabilities
Features and capabilities supported by this server
| 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
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