Gmail Assistant MCP
MCP server that integrates with Gmail to fetch unread emails and generate draft emails using Claude. Also connects with a Google Doc file that outlines my writing style and useful context.
How it works
There's 3 toosl to use:
- Ask Claude to fetch emails
- Ask Claude to draft replies to any of those emails (where you are the "to" (not "cc"))
- Ask Claude to fetch last 10 emails and draft replies for ones where they are "to" you
Requirements
- Python 3.10+
- Gmail account with App Password enabled
- Anthropic API key
- Google Cloud project with Docs API enabled (optional, for guidelines)
Installation
- Clone the repo
- Create an activate virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install dependencies
-
Set up Gmail App Password (via https://myaccount.google.com/security)
-
Set up Google Docs API for guidelines (via https://console.cloud.google.com/) a. Create a project b. Enable Google Docs API c. Create credentials d. Download credentials as
credentials.jsonin project root
Configuration
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"gmail-assistant": {
"command": "/path/to/gmail-assistant-mcp/venv/bin/python",
"args": ["/path/to/gmail-assistant-mcp/src/gmail_assistant/server.py"],
"env": {
"EMAIL_USER": "your.email@gmail.com",
"EMAIL_APP_PASSWORD": "your-app-password",
"ANTHROPIC_API_KEY": "your-anthropic-api-key",
"GUIDELINES_DOC_ID": "your-google-doc-id-optional"
}
}
}
}
