Gmail MCP

Gmail MCP server for Claude Code, Cursor, Copilot and five more AI agents. Connect Gmail to Claude, Copilot, Cursor, Codex, Gemini, Windsurf, Continue.dev and Cline. One extension, 8 agents, no config files to edit.
Install. Sign in with Google. Ask your AI agent to work with Gmail.
Install this or Google Workspace MCP, not both.
Quick Start
- Install from the VS Code Marketplace or Open VSX
- Authenticate: the setup wizard appears on first launch
- Ask your AI agent anything about Gmail
"Show me my unread emails"
"Find emails from my accountant this month"
"Draft a reply to the last message from Sarah"
"Label all newsletters from this week"
Prerequisites
You need one of these (the wizard will guide you):
| Method |
Best For |
What You Need |
| OAuth (recommended) |
Personal Google accounts |
A Google Cloud project with OAuth credentials |
| ADC |
Developers with gcloud CLI |
Run one terminal command |
| Service Account |
Workspace admins |
A JSON key file |
Option A: OAuth 2.0 (Browser Login), recommended
- Go to Google Cloud Console
- Create a project (or select an existing one)
- Enable the Gmail API under APIs & Services > Library
- Create OAuth credentials:
- Go to APIs & Services > Credentials
- Click Create Credentials > OAuth client ID
- Application type: Desktop app
- Copy the Client ID and Client Secret
- Configure the OAuth consent screen (if prompted) and add yourself as a test user
- In the extension wizard, select "OAuth" and paste your Client ID and Secret
- A browser window opens: sign in with your Google account and authorize
Option B: Application Default Credentials
gcloud auth application-default login \
--scopes=https://www.googleapis.com/auth/gmail.readonly
Option C: Service Account Key
- Create a service account in Google Cloud Console
- Enable domain-wide delegation (required for Gmail access)
- Download the JSON key file
- In the extension wizard, select "Service Account" and pick the file
| Tool |
What It Does |
Example Prompt |
gmail_list |
List recent emails with metadata |
"Show me my last 10 emails" |
gmail_read |
Read full email content by ID |
"Read that email from John" |
gmail_search |
Search emails using Gmail query syntax |
"Find emails from my boss this week" |
gmail_send |
Send an email |
"Email the team about the meeting" |
| Action |
Description |
create_draft |
Create a new email draft |
update_draft |
Update an existing draft |
delete_draft |
Delete a draft (requires confirm) |
add_label / remove_label |
Manage message labels |
create_label / delete_label |
Create or delete labels |
trash / untrash |
Move to/from trash (trash requires confirm) |
mark_read / mark_unread |
Toggle read status |
Safety
Destructive actions (delete, trash, clear) require confirm: true to execute. The AI agent will be warned and must explicitly confirm before proceeding.
Supported AI Agents
The extension auto-registers with every AI agent it detects:
| Agent |
How It Registers |
Config File |
| VS Code Copilot |
VS Code API (automatic) |
-- |
| Claude Code |
~/.claude.json |
JSON |
| Cursor |
~/.cursor/mcp.json |
JSON |
| OpenAI Codex |
~/.codex/config.toml |
TOML |
| Google Gemini |
~/.gemini/settings.json |
JSON |
| Windsurf |
~/.codeium/windsurf/mcp_config.json |
JSON |
| Continue.dev |
~/.continue/config.yaml |
YAML |
| Cline |
VS Code globalStorage |
JSON |
You can toggle individual agents on/off in Settings > search gmailMcp.agents.
Settings
| Setting |
Default |
Description |
gmailMcp.authMethod |
"oauth" |
Auth method: oauth, adc, serviceAccount |
gmailMcp.agents.* |
true |
Per-agent registration toggles |
gmailMcp.registrationScope |
"global" |
Global or workspace registration |
gmailMcp.autoStart |
true |
Auto-start server on VS Code launch |
gmailMcp.serverLogLevel |
"info" |
Server log verbosity |
Commands
Open the Command Palette (Cmd+Shift+P / Ctrl+Shift+P) and search for:
| Command |
What It Does |
Gmail MCP: Setup Authentication |
Run the setup wizard |
Gmail MCP: Register with AI Agents |
Re-register with all detected agents |
Gmail MCP: Show Status |
Show auth method and server state |
Gmail MCP: Restart MCP Server |
Restart the background MCP server |
Gmail MCP: Check Authentication Status |
Verify credentials are valid |
Gmail MCP: View Server Logs |
Open the output channel for debugging |
Gmail MCP: Remove from All Agents |
Clean up all agent registrations |
Troubleshooting
"Gmail MCP: Setup" in the status bar
Your credentials aren't configured. Click the status bar item or run Gmail MCP: Setup Authentication.
"Permission Denied" errors
Your credentials don't have access to the requested data. Make sure the Gmail API is enabled in your Google Cloud project.
Server keeps crashing
Run Gmail MCP: View Server Logs to see the error. Common causes:
- Expired credentials: run the setup wizard again
- Node.js not found: install Node.js 22 or newer
- API not enabled: enable the Gmail API in Google Cloud Console
Uninstalling cleanly
Before uninstalling, run Gmail MCP: Remove from All Agents to clean up config files.
Privacy
This extension:
- Does NOT collect telemetry or send data to third parties
- Communicates only with Google APIs using your own credentials
- Stores credentials in VS Code's built-in SecretStorage (encrypted, per-user)
- OAuth refresh tokens never leave your machine
Links
By Renzo Johnson | Published by mercurial