← Back to directory
G

Gmail MCP Server

Community
MCP implementation for Gmail services
Category
Cloud Storage #7 of 15
Stars
★ 62 Popular
Transport
stdio (local process)
Runtime
Node.js 18+ · Hosted (no local runtime)
Credentials
API key / credential required
License
MIT
Last commit
⚠
Tools
65
58FMRS · C

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.

Strongest · Documentation 14/20 Weakest · Reliability 8/20

Reliability
8/20
Security and permissions
12/20
Maintenance
12/20
Documentation
14/20
Setup experience
12/20
Why each score
Reliability 8/20
The repository structure is clear with a comprehensive tool list, but no tests or CI are provided. Since the review is static and cannot execute, and there is no evidence of automated testing, the score is capped at 12. Deductions are due to lack of tests and CI, which fail to demonstrate reproducibility of key paths.
Security and permissions 12/20
OAuth2 flow uses user-provided client ID and secret, tokens stored locally, no hardcoded secrets found. However, no explicit least-privilege guidance or confirmation for dangerous operations (e.g., deletions) is present. Remote install examples exist, but no real tokens are included. Deductions for lack of explicit data boundary declarations and minimal privilege details.
Maintenance 12/20
Repository is active with 22 commits and recent updates, but no clear release versioning, dependency update policy, or security response channel. License is MIT. Deductions for missing version tags and dependency management, and unknown issue response efficiency.
Documentation 14/20
README is extensive covering features, installation, config variables, and full tool list, but lacks troubleshooting, limitations, and cost considerations. There is a data collection and privacy policy, but no audit evidence. Deductions for incomplete error and limitation coverage.
Setup experience 12/20
Documentation provides multiple installation methods (Smithery, npx, build from source) with config examples. However, OAuth setup is complex and depends on external services. No CI or tests, and installation is manual and unverified, hence deductions.

Static review · not runListed 2026-08-07

Read the FMRS scoring method →

Fit and risk

What it can accessUses the networkChanges third-party account data

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

Setup

Before you start

Runtime:Node.js 18+ · Hosted (no local runtime)

CLIENT_ID optionalsecret Google API client ID from GMAIL_OAUTH_PATH file, required for remote server setup
CLIENT_SECRET optionalsecret Google API client secret, required for remote server setup; sensitive
REFRESH_TOKEN optionalsecret User OAuth refresh token, required for remote server setup; sensitive
Other optional settings (6)
AUTH_SERVER_PORT optional Port for the temporary local OAuth auth server, default 3000
GMAIL_CREDENTIALS_PATH optional Path to user credentials file, defaults to MCP_CONFIG_DIR/credentials.
GMAIL_OAUTH_PATH optional Path to Google API client keys file, defaults to MCP_CONFIG_DIR/gcp-oauth.keys.
MCP_CONFIG_DIR optional Directory for config files, defaults to ~/.gmail-mcp
PORT optional Port for Streamable HTTP transport, default 3000
TELEMETRY_ENABLED optional Toggles anonymous telemetry, default true
  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"
      ]
    }
  }
}

Shown for Claude Desktop. Other clients may use a different file or key (VS Code uses "servers") — the configurator below converts it.

.vscode/mcp.json
{
  "servers": {
    "gmail": {
      "command": "npx",
      "args": [
        "@shinzolabs/gmail-mcp"
      ]
    }
  }
}

Goes in your project's .vscode/mcp.json (VS Code uses a "servers" key).

Terminal
claude mcp add gmail -- npx @shinzolabs/gmail-mcp

Run it in a terminal; replace any <…> placeholders with your own values first.

Check that it works

The client's tool list should show tools like get_profile, list_messages, and send_message; calling get_profile and receiving your Gmail profile confirms OAuth auth and the connection work.

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

Things to try

Once connected, you can ask your AI assistant things like:

  • List the 10 most recent messages in my inbox
  • Send an email from my Gmail account to a colleague
  • Move messages with subject containing 'invoice' to trash
  • Create a new Gmail label named 'Work'

Tools 65

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

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 Desktop

Listed from the project's documentation, not tested by this site.

Overview

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.

Similar servers

Source revision ad709e100d76 Data synced 2026-10-11 Read the FMRS scoring method