About Gmail MCP Server
Gmail MCP Server provides MCP tools for working with Gmail, for users who manage email in agent workflows. It supports Gmail query syntax, sending messages, and changing labels.
Key features
- 01List and filter inbox messages
- 02Search with Gmail query syntax
- 03Send email with CC or BCC
- 04Change labels and message status
Use cases
- 01Filter for unread messages
- 02Find a sender’s emails with attachments
- 03Send a message with CC or BCC
- 04Archive a message or mark it read
MCP support
It exposes tools for listing, searching, sending, and modifying Gmail messages to MCP clients. OAuth 2.0 provides authorization for the Gmail API.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEGmail MCP Server
A Model Context Protocol (MCP) server that provides tools for interacting with Gmail API. This server enables you to manage your emails programmatically through the MCP interface.
Features
Gmail Tools
list_emails: List recent emails from your inbox with optional filteringsearch_emails: Advanced email search with Gmail query syntaxsend_email: Send new emails with support for CC and BCCmodify_email: Modify email labels (archive, trash, mark read/unread)
Prerequisites
- Node.js: Install Node.js version 14 or higher
- Google Cloud Console Setup:
- Go to Google Cloud Console
- Create a new project or select an existing one
- Enable the Gmail API:
- Go to "APIs & Services" > "Library"
- Search for and enable "Gmail API"
- Set up OAuth 2.0 credentials:
- Go to "APIs & Services" > "Credentials"
- Click "Create Credentials" > "OAuth client ID"
- Choose "Web application"
- Set "Authorized redirect URIs" to include:
http://localhost:3001/code - Note down the Client ID and Client Secret
Setup Instructions
-
Clone and Install:
git clone https://github.com/yourusername/google-gmail-mcp-server.git cd google-gmail-mcp-server npm install -
Create OAuth Credentials: Create a
credentials.jsonfile in the root directory:{ "web": { "client_id": "YOUR_CLIENT_ID", "client_secret": "YOUR_CLIENT_SECRET", "redirect_uris": ["http://localhost:3001/code"], "auth_uri": "https://accounts.google.com/o/oauth2/auth", "token_uri": "https://oauth2.googleapis.com/token" } } -
Get Refresh Token:
node get-refresh-token.jsThis will:
- Open your browser for Google OAuth authentication
- Request the following permissions:
https://www.googleapis.com/auth/gmail.modifyhttps://www.googleapis.com/auth/gmail.send
- Save the credentials to
token.json - Display the refresh token in the console
-
Configure MCP Settings: Add the server configuration to your MCP settings file:
- For VSCode Claude extension:
~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json - For Claude desktop app:
~/Library/Application Support/Claude/claude_desktop_config.json
Add this to the
mcpServersobject:{ "mcpServers": { "google-gmail": { "command": "node", "args": ["/path/to/google-gmail-server/build/index.js"], "env": { "GOOGLE_ACCESS_TOKEN": "your_access_token", } } } } - For VSCode Claude extension:
-
Build and Run:
npm run build
Usage Examples
Gmail Operations
-
List Recent Emails:
{ "maxResults": 5, "query": "is:unread" } -
Search Emails:
{ "query": "from:[email protected] has:attachment", "maxResults": 10 } -
Send Email:
{ "to": "[email protected]", "subject": "Hello", "body": "Message content", "cc": "[email protected]", "bcc": "[email protected]" } -
Modify Email:
{ "id": "message_id", "addLabels": ["UNREAD"], "removeLabels": ["INBOX"] }
License
MIT
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.