loading…
Search for a command to run...
loading…
A Gmail MCP server for Claude Code that enables full email management across multiple Gmail accounts, including tools for listing, searching, reading, sending,
A Gmail MCP server for Claude Code that enables full email management across multiple Gmail accounts, including tools for listing, searching, reading, sending, and organizing emails with OAuth2 authentication.

A Gmail MCP server for Claude Code that provides full email management across multiple Gmail accounts.
/email and /checkemail) for structured inbox triagegit clone https://github.com/coreyepstein/advanced-gmail-mcp.git
cd advanced-gmail-mcp
npm install
gmail.readonly, gmail.modify, gmail.send, gmail.composecredentials.json in the project rootcp accounts.example.json accounts.json
Edit accounts.json with your Gmail accounts:
{
"accounts": [
{ "email": "[email protected]", "alias": "personal" },
{ "email": "[email protected]", "alias": "work" }
],
"default": "personal"
}
You can add as many accounts as you want. Each needs a unique alias.
# Authenticate all accounts (opens browser for each)
npm run auth
# Or authenticate a single account
npm run auth -- work
# Check auth status
npm run auth:check
The auth flow opens a browser window for each account. Tokens are saved to ./tokens/.
Add to your MCP config (project .mcp.json or ~/.claude.json):
{
"mcpServers": {
"gmail": {
"type": "stdio",
"command": "npx",
"args": ["tsx", "/absolute/path/to/gmail-mcp/src/server.ts"]
}
}
}
Important: Use the absolute path to
src/server.ts.
Copy the included Claude Code commands for structured email workflows:
# From your project root (where .claude/ lives)
mkdir -p .claude/commands
cp /path/to/gmail-mcp/.claude/commands/email.md .claude/commands/
cp /path/to/gmail-mcp/.claude/commands/checkemail.md .claude/commands/
Then use /email or /checkemail in Claude Code.
| Tool | Description |
|---|---|
list_emails |
List inbox or label emails |
search_emails |
Search with Gmail query syntax |
read_email |
Read full email by ID |
get_thread |
Get full thread with all messages |
get_labels |
List all labels |
send_email |
Send a new email |
draft_email |
Create a draft |
reply_email |
Reply with proper threading |
archive_email |
Archive (remove INBOX label) |
label_email |
Add/remove labels |
trash_email |
Move to trash |
batch_modify |
Batch archive/trash/label |
All tools accept an optional account parameter (alias or email). Defaults to the account set in accounts.json.
/email [action] [account]Full email management command with actions:
/checkemail [account]Quick 3-phase inbox sweep:
| Error | Fix |
|---|---|
accounts.json not found |
Copy accounts.example.json to accounts.json |
credentials.json not found |
Download OAuth credentials from GCP Console |
No token for... |
Run npm run auth -- <alias> |
Token refresh failed |
Re-authenticate: npm run auth -- <alias> |
403 Forbidden |
Add your email as test user in GCP OAuth consent screen |
403 insufficient scopes |
Re-authenticate to get updated scopes |
MIT
Выполни в терминале:
claude mcp add advanced-gmail-mcp -- npx Безопасность
Низкий рискАвтоматическая эвристика по публичным данным — не гарантия безопасности.