← Back to directory
G

Gmail MCP Server

Community
MCP implementation for Gmail services
GitHub source repository ↗
★ 57 Stars Category · Cloud Storage Popular Source revision ad709e100d76
58FMRS · C
Reliability
8/20
Security and permissions
12/20
Maintenance
12/20
Documentation
14/20
Setup experience
12/20

The Gmail MCP Server is a comprehensive Gmail API integration offering a wide range of email and settings management capabilities. It supports multiple installation methods including npx and remote Smithery, and is highly configurable. However, it requires OAuth setup, poses certain security risks, and collects telemetry by default.

Read the FMRS scoring method →

A Model Context Protocol (MCP) server implementation for the Gmail API, providing a standardized interface for email management, sending, and retrieval. It offers complete Gmail API coverage including messages, threads, labels, drafts, and settings.

Tools

get_profile
Get the current user's Gmail profile
stop_mail_watch
Stop receiving push notifications
watch_mailbox
Set up push notifications for mailbox changes
list_messages
List messages with optional filtering
get_message
Get a specific message
get_attachment
Get a message attachment
modify_message
Modify message labels
send_message
Send an email message to specified recipients
delete_message
Permanently delete a message
trash_message
Move message to trash
untrash_message
Remove message from trash
batch_modify_messages
Modify multiple messages
batch_delete_messages
Delete multiple messages
list_labels
List all labels
get_label
Get a specific label
create_label
Create a new label
update_label
Update a label
patch_label
Partial update of a label
delete_label
Delete a label
list_threads
List email threads
get_thread
Get a specific thread
modify_thread
Modify thread labels
trash_thread
Move thread to trash
untrash_thread
Remove thread from trash
delete_thread
Delete a thread
list_drafts
List drafts in the user's mailbox
get_draft
Get a specific draft by ID
create_draft
Create a draft email in Gmail
update_draft
Replace a draft's content
delete_draft
Delete a draft
send_draft
Send an existing draft
get_auto_forwarding
Get auto-forwarding settings
update_auto_forwarding
Update auto-forwarding settings
get_imap
Get IMAP settings
update_imap
Update IMAP settings
get_pop
Get POP settings
update_pop
Update POP settings
get_vacation
Get vacation responder settings
update_vacation
Update vacation responder
get_language
Get language settings
update_language
Update language settings
list_delegates
List account delegates
get_delegate
Get a specific delegate
add_delegate
Add a delegate
remove_delegate
Remove a delegate
list_filters
List email filters
get_filter
Get a specific filter
create_filter
Create a new filter
delete_filter
Delete a filter
list_forwarding_addresses
List forwarding addresses
get_forwarding_address
Get a specific forwarding address
create_forwarding_address
Create a forwarding address
delete_forwarding_address
Delete a forwarding address
list_send_as
List send-as aliases
get_send_as
Get a specific send-as alias
create_send_as
Create a send-as alias
update_send_as
Update a send-as alias
patch_send_as
Partial update of a send-as alias
verify_send_as
Send verification email
delete_send_as
Delete a send-as alias
list_smime_info
List S/MIME configurations
get_smime_info
Get a specific S/MIME config
insert_smime_info
Upload a new S/MIME config
set_default_smime_info
Set default S/MIME config
delete_smime_info
Delete an S/MIME config

Setup

  1. Ensure Node.js 18+ is installed.
  2. Set up a Google API Client in Google Cloud Console: enable Gmail API and create an OAuth 2.0 Client ID (Desktop app). Save the keys JSON to ~/.gmail-mcp/gcp-oauth.keys.json.
  3. Run npx @shinzolabs/gmail-mcp auth to authorize and obtain credentials.
  4. Configure your MCP client by adding the server to your config.json, e.g., using npx command.
claude_desktop_config.json
{
  "mcpServers": {
    "gmail": {
      "command": "npx",
      "args": [
        "@shinzolabs/gmail-mcp"
      ]
    }
  }
}

Fit and risk

Best for

  • Developers and enterprises needing Gmail integration with AI applications
  • Users who want to control email workflows via natural language
  • MCP client users wanting to leverage Gmail's full capabilities

Not for

  • Users without a Gmail or Google Workspace account
  • Those who require real-time synchronization and push notifications without configuring watch
  • Privacy-sensitive users who do not want telemetry data collected (though it can be disabled)

Required permissions

  • Requires access to the user's Gmail account for reading, sending, deleting emails, managing labels, settings, etc.
  • Requires OAuth 2.0 authorization to obtain access and refresh tokens

Risks and side effects

  • Email data exposure: the server may read and process email content
  • Irreversible actions: sending or deleting emails cannot be undone
  • Telemetry collection: telemetry is enabled by default, collecting anonymous usage data but no personally identifiable information

Troubleshooting

  1. OAuth issues: ensure the gcp-oauth.keys.json path is correct; re-run the auth command
  2. Remote server connection problems: check CLIENT_ID, CLIENT_SECRET, REFRESH_TOKEN are set correctly
  3. Port conflicts: if using custom AUTH_SERVER_PORT, ensure the port is available
  4. API permission issues: ensure Gmail API is enabled in Google Cloud Console

Use cases

Manage Gmail emails through AI assistants, such as sending, reading, searching
Automate email filtering and label management
Manage email threads and drafts
Configure mailbox settings like auto-forwarding and vacation responder

Supported clients

Claude DesktopFull support