Gmail MCP Server
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
Server capabilities have not been inspected yet.
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| create_draftC | 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_labelC | Get a specific label by ID |
| list_labelsB | List all labels in the user's mailbox |
| patch_labelC | Patch an existing label (partial update) |
| update_labelC | Update an existing label |
| batch_delete_messagesC | Delete multiple messages |
| batch_modify_messagesC | Modify the labels on multiple messages |
| delete_messageA | Immediately and permanently delete a message |
| get_messageB | Get a specific message by ID with format options |
| list_messagesC | List messages in the user's mailbox with optional filtering |
| modify_messageC | Modify the labels on a message |
| send_messageC | Send an email message to specified recipients. Note the mechanics of the raw parameter. |
| trash_messageC | Move a message to the trash |
| untrash_messageC | Remove a message from the trash |
| get_attachmentC | Get a message attachment |
| delete_threadC | Delete a thread |
| get_threadB | Get a specific thread by ID |
| list_threadsC | List threads in the user's mailbox |
| modify_threadC | Modify the labels applied to a thread |
| trash_threadC | Move a thread to the trash |
| untrash_threadC | Remove a thread from the trash |
| get_auto_forwardingC | Gets auto-forwarding settings |
| get_imapC | Gets IMAP settings |
| get_languageC | Gets language settings |
| get_popC | 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_delegateC | Gets the specified delegate |
| list_delegatesB | Lists the delegates for the specified account |
| create_filterD | Creates a filter |
| delete_filterC | Deletes a filter |
| get_filterC | Gets a filter |
| list_filtersB | Lists the message filters of a Gmail user |
| create_forwarding_addressD | Creates a forwarding address |
| delete_forwarding_addressC | 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_asC | Creates a custom send-as alias |
| delete_send_asC | Deletes the specified send-as alias |
| get_send_asC | 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_asC | Sends a verification email to the specified send-as alias |
| delete_smime_infoC | 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_infoC | Insert (upload) the given S/MIME config for the specified send-as alias |
| list_smime_infoC | 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_profileB | 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/faithk7/gmail-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server