The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Multi Gmail MCP listing page.
A Model Context Protocol (MCP) server that lets Claude Desktop manage multiple Gmail accounts simultaneously. Listed on the official Anthropic MCP registry and published on npm.

~/.gmail-mcp-tokens.db — never committed to gitThis registers two global commands: gmail-mcp (the MCP server) and gmail-mcp-cli (account manager).
You only need to do this once.
gmail.readonly, gmail.send, gmail.modify, gmail.labels~/.gmail-mcp-oauth.jsonAlternatively, set environment variables in the Claude Desktop config (see below).
Tokens are saved to ~/.gmail-mcp-tokens.db and refreshed automatically.
Edit ~/Library/Application Support/Claude/claude_desktop_config.json:
If you prefer environment variables over ~/.gmail-mcp-oauth.json:
Restart Claude Desktop after saving. Click the hammer icon to confirm 19 tools are loaded.
| Tool | Description |
|---|---|
list_accounts | List all authenticated Gmail accounts |
initiate_auth | Start OAuth flow — returns a URL to open in browser |
complete_auth | Finalize auth after completing Google sign-in |
remove_account | Remove an account and its stored credentials |
| Tool | Description |
|---|---|
search_emails | Search with Gmail syntax (is:unread, from:, after:, etc.) |
get_email | Fetch full email content by message ID |
| Tool | Description |
|---|---|
send_email | Send an email (supports To, CC, BCC) |
reply_to_email | Reply in thread, preserving References headers |
create_draft | Save an email as a draft |
| Tool | Description |
|---|---|
list_labels | List all Gmail labels for an account |
add_label | Add one or more labels to a message |
remove_label | Remove one or more labels from a message |
archive_email | Remove from Inbox |
mark_as_read | Remove the UNREAD label |
mark_as_unread | Add the UNREAD label |
~/.gmail-mcp-oauth.json and ~/.gmail-mcp-tokens.db live in your home directory — outside the project, never committed.gitignore excludes *.db, .gmail-mcp-oauth.json, and .envSee SECURITY.md for full details: token storage, network behavior, scope rationale, revocation steps, and how to report a vulnerability.
Listed on the official Anthropic MCP registry:
"No OAuth credentials found"
Make sure ~/.gmail-mcp-oauth.json exists or set GOOGLE_CLIENT_ID / GOOGLE_CLIENT_SECRET in the Claude Desktop config.
"Account not found. Authenticate it first"
Run gmail-mcp-cli add your@gmail.com before using that account in Claude.
Tools not appearing in Claude Desktop
Confirm gmail-mcp is in your PATH (which gmail-mcp) and restart Claude Desktop.
Token expired errors
Tokens auto-refresh if a valid refresh token is stored. If refresh fails, remove the account and re-authenticate: gmail-mcp-cli remove your@gmail.com && gmail-mcp-cli add your@gmail.com.