1. Conduid
  2. Communication
  3. Claude Gmail MCP
MCP server · Communication

Claude Gmail MCP

Super simple MCP gmail server for claude, so it can send messages

Unclaimed last commit 8 months ago commsmcpclaude-codeclaudemcp-server
53Fair

Scored 5 months ago · breakdown

About Claude Gmail MCP

Claude Gmail MCP is an MCP server published by pliablepixels in the Communication category: super simple MCP gmail server for claude, so it can send messages.

Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.

Install

From source
git clone https://github.com/pliablepixels/claude-gmail-mcp

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

✦

Ask AI about Claude Gmail MCP

Powered by Claude · Grounded in docs

I know everything about Claude Gmail MCP. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ✓README presentThe repository ships documentation.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

4 checks have not been run yet.

README

claude-gmail-mcp

PyPI

A super tiny Gmail MCP server for Claude Code. Lets Claude send, search, and read Gmail on your behalf.

Two backends are supported and auto-selected at startup:

  • Gmail API (OAuth) — recommended. No app password. Batch search. Direct Gmail web URLs on every result.
  • SMTP/IMAP (app password) — simpler setup. Fallback when the OAuth token isn't present.

I needed something for my projects — there were a bunch around which seemed super complicated. So why not have Claude CLI build one for me :-p

Prerequisites

  • uv installed
  • One of:
    • A Google Cloud OAuth client (Desktop app) — for the API backend, OR
    • A Gmail App Password — for the SMTP/IMAP backend

Install (Gmail API backend — recommended)

  1. In Google Cloud Console, create a project, enable the Gmail API, and configure the OAuth consent screen (External, add your Gmail as a test user). Create an OAuth client of type Desktop app and download the credentials JSON.

  2. Run the auth helper, pointing at the downloaded file:

    uvx --from claude-gmail-mcp claude-gmail-mcp-auth /path/to/credentials.json
    

    Browser opens → sign in → approve (scope: gmail.modify). Refresh token is saved to ~/.config/claude-gmail-mcp/token.json (perms 600).

  3. Register the MCP server with Claude Code (no env vars needed):

    claude mcp add gmail --scope user -- uvx claude-gmail-mcp
    

Install (SMTP/IMAP backend — fallback)

claude mcp add gmail --scope user \
  -e GMAIL_ADDRESS=you@gmail.com \
  -e GMAIL_APP_PASSWORD=your-app-password \
  -- uvx claude-gmail-mcp

Replace you@gmail.com and your-app-password with your actual credentials. Drop --scope user to install only for the current project directory.

Verify

claude mcp list

You should see gmail listed as a configured server. To see which backend is active, run:

uvx claude-gmail-mcp 2>&1 | head -1

Expected: [gmail-mcp] backend=api or [gmail-mcp] backend=imap. Ctrl-C to exit.

Backend selection

At startup the server picks exactly one backend:

  1. Token file at GMAIL_TOKEN_PATH (default ~/.config/claude-gmail-mcp/token.json) exists → API backend.
  2. Else GMAIL_ADDRESS + GMAIL_APP_PASSWORD env vars set → IMAP backend.
  3. Else tools return a "no backend configured" error.

To force a switch to the IMAP backend when a token file exists, set GMAIL_TOKEN_PATH to a non-existent path (or delete the token file).

Usage

Ask Claude to send an email:

Send an email to alice@example.com with subject "Hello" and body "Hi from Claude!"

Tools exposed:

  • send_email — to, subject, body, optional cc/bcc, html, attachments (local file paths; unreadable files are skipped with a warning).
  • search_emails — queries (single string or list of strings), max_results (per query when a list is passed). Results include the Gmail message ID in hex and a direct Gmail web URL per hit.
  • read_email — uid (the hex ID from search_emails). Output includes the Gmail web URL at the top.

Batch search example:

Search Gmail for "is:unread from:alice" and "is:unread from:bob" — show me both side by side.

Claude passes both queries in a single tool call. The response is sectioned per query. API backend executes the list step in one HTTP roundtrip; IMAP backend iterates.

Attachment example:

Send an email to alice@example.com with subject "Report" and attach ~/Documents/report.pdf

Publishing to PyPI

python -m build && twine upload dist/*

For Development

git clone https://github.com/pliablepixels/claude-gmail-mcp.git
cd claude-gmail-mcp
uv sync
uv run pytest

Run the server locally:

uv run claude-gmail-mcp

Test with Claude Code using your local copy instead of the published package:

claude mcp add gmail --scope user \
  -- uv run --directory /path/to/claude-gmail-mcp claude-gmail-mcp

(For the IMAP backend add -e GMAIL_ADDRESS=... -e GMAIL_APP_PASSWORD=....)

README copy captured when this server was indexed; it may lag the repository. The original is authoritative.

Questions

About Claude Gmail MCP

How do I install Claude Gmail MCP?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Claude Gmail MCP safe to use with an AI agent?

Its trust score is 53 out of 100 (fair). It passes 1 of the 2 static security checks run so far; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Claude Gmail MCP still maintained?

The last commit was 8 months ago. That's long enough that you should check whether the maintainer is responding to issues before depending on it.