Gmail MCP Server
About
A single-file MCP-server for interacting with Gmail. Works with Claude Desktop and Cursor.
Details
- Author
- PaulFidika
- GitHub stars
- 22
- Downloads
- 101
- Categories
- Communication, Other, Automation, Productivity
Jump to
- Search Gmail threads using standard Gmail search queries
- Create and update email drafts with thread awareness
- Extract text from PDF, DOCX, and TXT attachments safely
- Generate an email style guide from your last 25 sent emails
- Persistent HTTP mode to avoid OAuth popup spam
Cursor Configuration Still Use Stdio For Now
{ "mcpServers": { "gmail": { "command": "C:/path/to/your/gmail-mcp-server", "env": { "GMAIL_CLIENT_ID": "your_client_id_here.apps.googleusercontent.com", "GMAIL_CLIENT_SECRET": "your_client_secret_here", "OPENAI_API_KEY": "your_openai_api_key_here" } } } }
The difference:You start the server manually onceinstead of letting Cursor start it fresh each time.
- Visit](http://localhost:8080)http://localhost:8080to see server status
- Health check:http://localhost:8080/health
- View available tools and configuration examples
- PressCtrl+Shift+P(Windows/Linux) orCmd+Shift+P(Mac)
- Click the MCP-tab
- Click '+ Add new global MCP server'
- Edit config file
- Go to File > Settings > Developer > Edit Config
- Edit Config file
You can edit these config files directly if you know where to find them:
- Cursor:C:\Users\[User]\.cursor\mcp.json
- Claude Desktop:%APPDATA%\Claude\claude_desktop_config.json(Windows)
- file://personal-email-style-guide- Your personal email writing style (auto-generated or manual)
- /generate-email-tone- Analyze your sent emails to create personalized writing style
- /server-status- Show file locations and server status
The server will create a style-guide file based on the last 25 emails you've sent, so that newly drafted emails will hopefully sound like you. Honestly, so far LLM-written emails still don't sound very authentic.
- Run/generate-email-toneprompt in your MCP client anytime to regenerate
- The file is saved to your app data directory (seeFile Storage Locationsabove)
- AI always callsget_personal_email_style_guidetool before writing emails
- Ensures consistent personal style across all communications
- Resource also available atfile://personal-email-style-guide
5 Alternative Way To Setup Environment Variables
If you want to run this MCP server outside of an agent, you can create a .env file based on the .env.example file and supply the environment variables that way, or export them into your environment prior to running:
export GMAIL_CLIENT_ID=your_client_id_here.apps.googleusercontent.com export GMAIL_CLIENT_SECRET=your_client_secret_here export OPENAI_API_KEY=your_openai_api_key_here
The server stores authentication and configuration files in standard application directories:
- Windows:C:\Users\[YourUsername]\AppData\Roaming\auto-gmail\
- Mac:~/.auto-gmail/
- Linux:~/.auto-gmail/
- token.json- OAuth authentication token (auto-generated)
- personal-email-style-guide.md- Your email writing style guide (auto-generated or manual)
- Use/server-statusin your MCP client to see exact file paths
- Deletetoken.jsonto force re-authentication with updated permissions
- Improve OAuth login flow- ✅SOLVED!Use persistent HTTP mode (./gmail-mcp-server --http) to avoid OAuth popups. Server authenticates once and stays running.
- Full HTTP MCP Transport- Waiting for mark3labs/mcp-go to expose complete HTTP transport APIs
- Better Email Authenticity- LLM-written emails still don't sound perfectly authentic despite style guides
Query live Gmail data using LLMs via CData's read-only MCP server.
Search and delete emails in your Gmail account.
Enables AI assistants to manage Gmail through natural language interactions.
A standardized interface for managing, sending, and retrieving emails through the Gmail API.
Manage your Gmail account, including sending, reading, and organizing emails.
A super simple and tiny MCP server for gmail in python
An MCP server that enables AI models to interact directly with the Gmail API to manage emails.
An MCP server for integrating with the Gmail API to manage emails.
Most email MCP servers only read from IMAP. mail-mcp does everything: 30 tools for reading, searching, sending, replying, forwarding, and bulk operations across IMAP, SMTP, Microsoft Graph API, and Exchange Web Services. Multi-account, native OAuth2, built in Rust. Works with Gmail, Microsoft 365, Hotmail/Outlook.com, Zoho, and any standard IMAP/SMTP server.
MCP server for structured, read-only email access. Exposes a minimal, auditable API surface — AI agents can search and read emails, but cannot send, delete, or modify your mailbox.
Gmail MCP Server
An MCP server that lets AI agents search Gmail threads, understand your email writing style, and create draft emails.
1. Get Google Authentication
Step 1: Create a Google Cloud Project
1. Go to Google Cloud Console 2. Click "Select a project" dropdown at the top 3. Click "New Project" 4. Enter a project name (e.g., "Gmail MCP Server") 5. Click "Create"Step 2: Enable Gmail API
1. In your new project, go to "APIs & Services" → "Library" 2. Search for "Gmail API" 3. Click on "Gmail API" and click "Enable"Step 3: Create OAuth2 Credentials
1. Go to "APIs & Services" → "Credentials" 2. Click "Create Credentials" → "OAuth Client ID" 3. If prompted, configure the OAuth consent screen: - Choose "External" user type - Fill in required fields (App name, User support email, Developer email) - Add your email to "Test users" section - Save and continue through all steps 4. Back in Credentials, click "Create Credentials" → "OAuth Client ID" 5. Choose "Desktop application" as the application type 6. Enter a name (e.g., "Gmail MCP Client") 7. Click "Create" 8. Important: Copy the Client ID and Client Secret from the confirmation dialog (you'll need these for configuration)Step 4: Grant OAuth Scopes
When you first run the server, it will open your browser for authorization. The server requests only these minimal permissions:What We Request:
- ✅ Gmail Readonly Access (gmail.readonly)
- Search and read your email messages
- Download email attachments
- View email metadata (subjects, senders, dates)
- ✅ Gmail Compose Access (gmail.compose)
- Create email drafts
- Update existing drafts
- Delete drafts
- Send emails (permission granted but not used by this server)
What This Server Actualy Implements:
- ✅ Search and read emails - Full search capabilities - ✅ Extract attachment text - Safe PDF/DOCX/TXT text extraction - ✅ Create/update drafts - Smart draft management with thread awareness - ❌ Send emails - Server doesn't implement sending (though permission is granted) - ❌ Delete emails - Server doesn't implement deletion - ❌ Modify labels - Server doesn't implement label management2. Add to MCP Clients
Build the server first: go build .
You'll want to add this to your agent's configuration file:
{
"mcpServers": {
"gmail": {
"command": "C:/path/to/your/auto-gmail.exe",
"env": {
"GMAIL_CLIENT_ID": "your_client_id_here.apps.googleusercontent.com",
"GMAIL_CLIENT_SECRET": "your_client_secret_here",
"OPENAI_API_KEY": "your_openai_api_key_here"
}
}
}
}
⚡ Persistent HTTP Mode (Recommended to Avoid OAuth Popups)
Problem: In stdio mode, Cursor starts a fresh server process each time (and for each tab), causing OAuth popup spam.
Solution: Run the server as a persistent HTTP daemon that authenticates once and stays running.
Quick Start:
```bashSign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.


