Manage multiple Gmail accounts in Claude Desktop — search, send, reply, draft, and organize.
io.github.gx-55/multi-gmail-mcp MCP Server
The io.github.gx-55/multi-gmail-mcp server is a Model Context Protocol (MCP) server for Claude Desktop that manages multiple Gmail accounts at the same time. It supports searching inboxes, reading emails, and performing email actions across accounts, including sending, replying, drafting, and label-based organization.
🛠️ Key Features
Connect unlimited Gmail accounts
Search inboxes using full Gmail search syntax
Read complete emails with MIME parsing
Send, reply in thread, and create drafts
Organize with labels: add, remove, list, archive
Mark messages as read/unread
🚀 Use Cases
Query and review messages from multiple Gmail accounts in one workflow
Send or reply while preserving thread context
Create and manage drafts across personal and work mailboxes
Maintain label-based organization and archiving
⚡ Developer Benefits
Standard MCP integration for Claude Desktop
GitHub-style discovery via official Anthropic MCP registry and npm listing
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.
demo
Features
Connect unlimited Gmail accounts — personal, work, side projects
Search any inbox using full Gmail search syntax
Read complete emails with MIME parsing
Send, reply in thread, and create drafts
Organize with labels: add, remove, list, archive
Mark as read / unread
Tokens stored locally in ~/.gmail-mcp-tokens.db — never committed to git
Auto-refreshes OAuth tokens silently
Requirements
Node.js >= 22.5.0
A Google Cloud project with the Gmail API enabled
Claude Desktop
Installation
bash
npm install -g multi-gmail-mcp
This registers two global commands: gmail-mcp (the MCP server) and gmail-mcp-cli (account manager).
multi-gmail-mcp/
├── bin/
│ ├── gmail-mcp.js # Entry point for the MCP server command
│ └── gmail-mcp-cli.js # Entry point for the CLI command
├── src/
│ ├── server.js # MCP server — all 19 tools
│ ├── gmail-client.js # Gmail API wrapper
│ ├── auth.js # OAuth2 flow with auto-refresh
│ ├── db.js # SQLite token storage (node:sqlite)
│ └── cli.js # Account management CLI
└── package.json
Troubleshooting
"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.
Install
Configuration
Environment variables
GOOGLE_CLIENT_ID
Google OAuth2 client ID from your Google Cloud project (alternative to ~/.gmail-mcp-oauth.json)
GOOGLE_CLIENT_SECRETsecret
Google OAuth2 client secret from your Google Cloud project (alternative to ~/.gmail-mcp-oauth.json)