Enables fetching unread emails, generating AI-powered draft replies with customizable tone, saving drafts with proper email threading, and sending emails through the Gmail API.
Allows fetching email style guides from Google Docs to ensure consistent messaging when generating email replies.
Email MCP Server
An MCP (Model Context Protocol) server that brings email management capabilities to Claude Desktop. Fetch unread emails, generate AI-powered draft replies, and manage your Gmail inbox using natural language.
Check the docs for more detailed set up instructions and usage examples.
What It Does
This server integrates Gmail with Claude Desktop, allowing you to:
Fetch unread emails from your Gmail inbox
Generate contextual draft replies with customizable tone using Claude AI
Save drafts directly to Gmail with proper email threading
Send emails via Gmail API
Interact with your inbox using natural language in Claude Desktop
Features
OAuth 2.0 Authentication: Secure Google authentication (no app passwords needed)
AI-Powered Replies: Generate smart email replies using Claude
Style Guide Integration: Pull email style guides from Google Docs or any URL to ensure consistent messaging
Email Threading: Maintains conversation threads when replying
Flexible Tone Control: Choose professional, casual, or friendly tones for replies
Direct Gmail Integration: Drafts appear in your Gmail Drafts folder
Quick Start
Prerequisites
Python 3.8+
Gmail account
Google Cloud Project with Gmail API enabled (Setup Guide)
Anthropic API key (Get one here)
Claude Desktop installed
Installation
Clone and install dependencies:
cd email-mcp-server python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate pip install -r requirements.txtSet up Google OAuth 2.0:
Follow the detailed OAuth Setup Guide to:
Create a Google Cloud Project
Enable Gmail API
Configure OAuth consent screen
Download
credentials.json
Authenticate with Gmail:
source venv/bin/activate python gmail_auth.pyThis opens your browser to authorize the app and saves a
token.jsonfile.Configure Claude Desktop:
Add to your Claude Desktop config file:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonLinux:
~/.config/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
{ "mcpServers": { "email": { "command": "/absolute/path/to/email-mcp-server/venv/bin/python", "args": ["/absolute/path/to/email-mcp-server/email_server.py"], "env": { "ANTHROPIC_API_KEY": "sk-ant-api03-..." } } } }Restart Claude Desktop
Usage
Once configured, interact with your emails in Claude Desktop using natural language:
"Show me my unread emails"
"Generate a professional reply to the first email"
"Draft a friendly response mentioning the project is on track"
"Generate a reply using my company style guide at https://docs.google.com/document/d/YOUR_DOC_ID/export?format=txt"
"Save that reply as a draft in Gmail"
For more examples and workflows, see the Usage Examples Guide and Style Guide Feature Guide.
Available Tools
The server provides four MCP tools that Claude can use:
get_unread_emails
Fetches unread emails from Gmail. Optional parameter: max_emails (default: 10)
generate_draft_reply
Generates AI-powered email replies. Parameters: email_from, email_subject, email_body, email_date, optional tone, additional_context, and style_guide_url
Style Guide Support: Pass a style_guide_url parameter to fetch an external email style guide (e.g., from Google Docs). The AI will follow the style guide when generating replies. For Google Docs, use the export URL format:
Style guides are cached for 1 hour to improve performance.
save_draft
Saves draft emails to Gmail. Parameters: to, subject, body, optional in_reply_to for threading
send_email
Sends emails immediately. Parameters: to, subject, body
Documentation
Google OAuth 2.0 Setup Guide - Step-by-step OAuth configuration with screenshot placeholders
Usage Examples - Real-world usage examples and workflows with Claude Desktop
Troubleshooting Guide - Common issues and solutions
Security
Never commit
credentials.jsonortoken.json(already in.gitignore)OAuth tokens are stored locally in
token.jsonRefresh tokens enable automatic re-authentication
Revoke access anytime at Google Account Permissions
Development
Run the server manually for testing:
Troubleshooting
For common issues like OAuth errors, permission problems, or Claude Desktop integration issues, see the Troubleshooting Guide.
Quick fixes:
OAuth issues: Make sure you're added as a test user in Google Cloud Console
Permission errors: Delete
token.jsonand re-runpython gmail_auth.pyMCP not working: Verify paths are absolute in Claude Desktop config and restart the app
License
MIT License