Skip to main content
ClaudeWave

📧 MCP server for Gmail

MCP ServersOfficial Registry8 stars7 forksTypeScriptUpdated today
ClaudeWave Trust Score
49/100
! Caution
Passed
  • Actively maintained (<30d)
Flags
  • !No standard license detected
Last scanned: 6/11/2026
Install in Claude Code / Claude Desktop
Method: Manual
Claude Code CLI
git clone https://github.com/domdomegg/gmail-mcp
claude_desktop_config.json (Claude Desktop)
{
  "mcpServers": {
    "gmail-mcp": {
      "command": "node",
      "args": ["/path/to/gmail-mcp/dist/index.js"],
      "env": {
        "GOOGLE_CLIENT_SECRET": "<google_client_secret>"
      }
    }
  }
}
1. Run the command above in your terminal (Claude Code), or paste the JSON config into claude_desktop_config.json (Claude Desktop).
2. Replace any <placeholder> values with your API keys or paths.
3. Restart Claude. The MCP server and its tools appear automatically.
💡 Clone https://github.com/domdomegg/gmail-mcp and follow its README for install instructions.
Detected environment variables
GOOGLE_CLIENT_SECRET
Use cases

MCP Servers overview

# gmail-mcp

MCP server for Gmail - read, send, archive, and manage emails.

## Use Cases

**Flight check-in**: "Check me in for my flight tomorrow" → finds your confirmation email, extracts the booking reference, and completes check-in with browser use.

**Expense submission**: "Submit my Amazon purchases from last week as expenses" → finds receipts, extracts amounts/categories, and files them in your expense system.

**Package tracking**: "Where's my package from Acme?" → finds the shipping notification, extracts the tracking number, and fetches current delivery status.

**Find that attachment**: "What did we settle on for the budget? Michelle sent me something yesterday" → locates the email and opens the attached spreadsheet.

**Vacation mode**: "I'm on holiday Dec 20-Jan 2" → sets up Gmail auto-reply, blocks your calendar, and updates your Slack status in one go.

**Meeting follow-up**: After a call, your assistant reads the Gemini transcript, summarizes key decisions, and drafts a follow-up email with action items.

(These are just examples - any workflow that needs email search, reading, or sending can use this.)

## Setup

### 1. Create Google OAuth credentials

1. Go to [Google Cloud Console](https://console.cloud.google.com/)
2. Create a new project (or use existing)
3. Enable the Gmail API
4. Go to **APIs & Services** → **OAuth consent screen**, set up consent screen
5. Go to **APIs & Services** → **Credentials** → **Create Credentials** → **OAuth client ID**
6. Choose **Web application**
7. Add `http://localhost:3000/callback` to **Authorized redirect URIs**
8. Note your Client ID and Client Secret

### 2. Run the server

```bash
GOOGLE_CLIENT_ID='your-client-id' \
GOOGLE_CLIENT_SECRET='your-client-secret' \
MCP_TRANSPORT=http \
npm start
```

The server runs on `http://localhost:3000` by default. Change with `PORT=3001`.

### 3. Add to your MCP client

With the server running, follow the instructions on [install-mcp](https://adamjones.me/install-mcp/?url=http://localhost:3000/mcp), which generates the right config for your MCP client (Claude Code, Claude Desktop, Cursor, Cline, VS Code, and more).

## Architecture

This server acts as an **OAuth proxy** to Google:

```mermaid
graph LR
    A[MCP client] <--> B[gmail-mcp] <--> C[Google OAuth/API]
```

1. Server advertises itself as an OAuth authorization server via `/.well-known/oauth-authorization-server`
2. `/register` returns the Google OAuth client credentials
3. `/authorize` redirects to Google, encoding the client's callback URL in state
4. `/callback` receives the code from Google and forwards to the client's callback
5. `/token` proxies token requests to Google, injecting client credentials
6. `/mcp` handles MCP requests, using the bearer token to call Gmail API

The server holds no tokens or state - it just proxies OAuth to Google.

## Tools

| Tool | Description |
|------|-------------|
| `gmail_get_profile` | Get user's email address and profile info |
| **Messages** | |
| `gmail_messages_list` | Search/list messages (consider `gmail_threads_list` instead) |
| `gmail_message_get` | Get a single message |
| `gmail_message_send` | Send an email |
| `gmail_message_forward` | Forward an email to new recipients |
| `gmail_message_modify` | Add/remove labels |
| `gmail_message_archive` | Archive (remove from inbox) |
| `gmail_message_trash` | Move to trash |
| `gmail_message_untrash` | Restore from trash |
| `gmail_message_delete` | Permanently delete |
| `gmail_messages_batch_modify` | Bulk label changes |
| `gmail_messages_batch_delete` | Bulk permanent delete |
| **Threads** | |
| `gmail_threads_list` | Search/list threads (recommended) |
| `gmail_thread_get` | Get all messages in a thread (recommended) |
| `gmail_thread_modify` | Add/remove labels |
| `gmail_thread_trash` | Move to trash |
| `gmail_thread_untrash` | Restore from trash |
| `gmail_thread_delete` | Permanently delete |
| **Drafts** | |
| `gmail_drafts_list` | List drafts |
| `gmail_draft_get` | Get a draft |
| `gmail_draft_create` | Create a draft |
| `gmail_draft_update` | Update a draft |
| `gmail_draft_send` | Send a draft |
| `gmail_draft_delete` | Delete a draft |
| **Labels** | |
| `gmail_labels_list` | List all labels |
| `gmail_label_get` | Get a label |
| `gmail_label_create` | Create a label |
| `gmail_label_update` | Update a label |
| `gmail_label_delete` | Delete a label |
| **Attachments** | |
| `gmail_attachment_get` | Download attachment |
| **Filters** | |
| `gmail_filters_list` | List email filters |
| `gmail_filter_get` | Get a filter |
| `gmail_filter_create` | Create a filter |
| `gmail_filter_delete` | Delete a filter |
| **Settings** | |
| `gmail_vacation_get` | Get vacation auto-reply settings |
| `gmail_vacation_set` | Set vacation auto-reply settings |

## Gmail API Scopes

- `gmail.readonly` - Read messages and labels
- `gmail.send` - Send messages
- `gmail.modify` - Modify messages (archive, labels, trash)

## Contributing

Pull requests are welcomed on GitHub! To get started:

1. Install Git and Node.js
2. Clone the repository
3. Install dependencies with `npm install`
4. Run `npm run test` to run tests
5. Build with `npm run build`

## Releases

Versions follow the [semantic versioning spec](https://semver.org/).

To release:

1. Use `npm version <major | minor | patch>` to bump the version
2. Run `git push --follow-tags` to push with tags
3. Wait for GitHub Actions to publish to the NPM registry.

What people ask about gmail-mcp

What is domdomegg/gmail-mcp?

+

domdomegg/gmail-mcp is mcp servers for the Claude AI ecosystem. 📧 MCP server for Gmail It has 8 GitHub stars and was last updated today.

How do I install gmail-mcp?

+

You can install gmail-mcp by cloning the repository (https://github.com/domdomegg/gmail-mcp) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.

Is domdomegg/gmail-mcp safe to use?

+

Our security agent has analyzed domdomegg/gmail-mcp and assigned a Trust Score of 49/100 (tier: Caution). See the full breakdown of passed checks and flags on this page.

Who maintains domdomegg/gmail-mcp?

+

domdomegg/gmail-mcp is maintained by domdomegg. The last recorded GitHub activity is from today, with 3 open issues.

Are there alternatives to gmail-mcp?

+

Yes. On ClaudeWave you can browse similar mcp servers at /categories/mcp, sorted by popularity or recent activity.

Deploy gmail-mcp to your cloud

Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.

Maintain this repo? Add a badge to your README

Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.

Featured on ClaudeWave: domdomegg/gmail-mcp
[![Featured on ClaudeWave](https://claudewave.com/api/badge/domdomegg-gmail-mcp)](https://claudewave.com/repo/domdomegg-gmail-mcp)
<a href="https://claudewave.com/repo/domdomegg-gmail-mcp"><img src="https://claudewave.com/api/badge/domdomegg-gmail-mcp" alt="Featured on ClaudeWave: domdomegg/gmail-mcp" width="320" height="64" /></a>

More MCP Servers

gmail-mcp alternatives