Pulsemcp Gmail
Pulsemcp Gmail is an MCP server that adds messaging tools to AI assistants such as Claude Desktop, Claude Code and Cursor. MCP server for Gmail with OAuth2 (personal) and service account (Workspace) support. It has 81 GitHub stars, is released under the MIT license and runs locally with npx -y gmail-workspace-mcp-server.
- Official
- Needs API key
- Communication
- MIT
- Actively maintained
Install Pulsemcp Gmail
Generated from the server's MCP registry entry. Replace your-value with your own values.
Claude Desktop
{
"mcpServers": {
"pulsemcp-gmail": {
"command": "npx",
"args": [
"-y",
"gmail-workspace-mcp-server"
],
"env": {
"GMAIL_OAUTH_CLIENT_ID": "your-value",
"GMAIL_OAUTH_CLIENT_SECRET": "your-value",
"GMAIL_OAUTH_REFRESH_TOKEN": "your-value",
"GMAIL_SERVICE_ACCOUNT_PRIVATE_KEY": "your-value"
}
}
}
}Settings > Developer > Edit Config. macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\. Restart Claude Desktop afterwards.
Claude Code
claude mcp add --env GMAIL_OAUTH_CLIENT_ID=your-value --env GMAIL_OAUTH_CLIENT_SECRET=your-value --env GMAIL_OAUTH_REFRESH_TOKEN=your-value --env GMAIL_SERVICE_ACCOUNT_PRIVATE_KEY=your-value --transport stdio pulsemcp-gmail -- npx -y gmail-workspace-mcp-serverCursor
{
"mcpServers": {
"pulsemcp-gmail": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"gmail-workspace-mcp-server"
],
"env": {
"GMAIL_OAUTH_CLIENT_ID": "your-value",
"GMAIL_OAUTH_CLIENT_SECRET": "your-value",
"GMAIL_OAUTH_REFRESH_TOKEN": "your-value",
"GMAIL_SERVICE_ACCOUNT_PRIVATE_KEY": "your-value"
}
}
}
}Project file; use ~/.cursor/mcp.json to enable it in every project.
VS Code
{
"inputs": [
{
"type": "promptString",
"id": "gmail_oauth_client_id",
"description": "GMAIL_OAUTH_CLIENT_ID",
"password": true
},
{
"type": "promptString",
"id": "gmail_oauth_client_secret",
"description": "GMAIL_OAUTH_CLIENT_SECRET",
"password": true
},
{
"type": "promptString",
"id": "gmail_oauth_refresh_token",
"description": "GMAIL_OAUTH_REFRESH_TOKEN",
"password": true
},
{
"type": "promptString",
"id": "gmail_service_account_private_key",
"description": "GMAIL_SERVICE_ACCOUNT_PRIVATE_KEY",
"password": true
}
],
"servers": {
"pulsemcp-gmail": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"gmail-workspace-mcp-server"
],
"env": {
"GMAIL_OAUTH_CLIENT_ID": "${input:gmail_oauth_client_id}",
"GMAIL_OAUTH_CLIENT_SECRET": "${input:gmail_oauth_client_secret}",
"GMAIL_OAUTH_REFRESH_TOKEN": "${input:gmail_oauth_refresh_token}",
"GMAIL_SERVICE_ACCOUNT_PRIVATE_KEY": "${input:gmail_service_account_private_key}"
}
}
}
}Config formats checked against the official docs on Oct 7, 2026: modelcontextprotocol.io (opens in a new tab), code.claude.com (opens in a new tab), cursor.com (opens in a new tab), code.visualstudio.com (opens in a new tab).
Environment variables
Variables the server reads at startup.
| Name | Required | Description |
|---|---|---|
GMAIL_OAUTH_CLIENT_IDsecret | No | OAuth2 client ID from Google Cloud Console (for personal Gmail accounts). |
GMAIL_OAUTH_CLIENT_SECRETsecret | No | OAuth2 client secret from Google Cloud Console. |
GMAIL_OAUTH_REFRESH_TOKENsecret | No | Refresh token from the OAuth2 setup script. |
GMAIL_SERVICE_ACCOUNT_CLIENT_EMAIL | No | Service account email address (for Google Workspace). |
GMAIL_SERVICE_ACCOUNT_PRIVATE_KEYsecret | No | Service account private key in PEM format (for Google Workspace). |
GMAIL_IMPERSONATE_EMAIL | No | Email address to impersonate (required for service account mode). |
GMAIL_ENABLED_TOOLGROUPS | No | Comma-separated list of tool groups to enable (readonly, readwrite, readwrite_external). |
Tools (25)
Parsed from the Tools section of the README; check the repository for the current list.
list_email_conversationsList email conversations from Gmail with optional filtering.
countNumber of emails to return (default: 10, max: 100)
labelsComma-separated label IDs to filter by (default: "INBOX")
sort_bySort order - "recent" (newest first) or "oldest" (default: recent)
afterOnly return emails after this datetime, exclusive (ISO 8601 UTC, e.g., "2024-01-15T14:30:00Z")
beforeOnly return emails before this datetime, exclusive (ISO 8601 UTC, e.g., "2024-01-15T14:30:00Z")
get_email_conversationRetrieve the full content of a specific email by its ID.
email_idThe unique identifier of the email
search_email_conversationsSearch emails using Gmail's powerful query syntax.
queryGmail search query (e.g., "from:user@example.com", "is:unread", "subject:meeting")
change_email_conversationModify email labels and status (read/unread, starred, archived).
status"read", "unread", or "archived"
is_starredStar or unstar the email
remove_labelsComma-separated labels to remove
list_draft_emailsList draft emails from Gmail with optional thread filtering.
thread_idFilter drafts by conversation thread ID
upsert_draft_emailCreate, update, or delete a draft email. Optionally as a reply to an existing conversation.
draft_idID of an existing draft to update or delete (omit to create a new draft)
deleteSet to true to delete the draft specified by draftid. All other parameters are ignored when deleting
subjectEmail subject
plaintext_bodyPlain text body content (at least one of plaintextbody or htmlbody required for create/update)
html_bodyHTML body content for rich text formatting (at least one of plaintextbody or htmlbody required for create/update)
reply_to_email_idEmail ID to reply to (sets References/In-Reply-To headers)
send_emailSend an email directly or from an existing draft.
from_draft_idSend an existing draft by ID
About Pulsemcp Gmail
An MCP (Model Context Protocol) server that provides Gmail integration for AI assistants. Supports both personal Gmail accounts (via OAuth2) and Google Workspace accounts (via service account with domain-wide delegation).
Similar MCP servers
More communication MCP servers
Strata
Klavis-AI/klavis
MCP server for progressive tool usage at any scale (see https://klavis.ai).
OfficialCommunicationPythonVexa
Vexa-ai/vexa
Meeting bot and transcripts for Google Meet, Teams and Zoom.
OfficialCommunicationPythonMCP Server for WinDbg Crash Analysis
svnscha/mcp-windbg
A Model Context Protocol server for Windows crash dump analysis using WinDbg/CDB.
CommunicationPythonRocketmq Rust
mxsm/rocketmq-rust
🚀 Apache RocketMQ built in Rust 🦀 — faster, safer, and more memory-efficient.
CommunicationRustWassette
microsoft/wassette
Wassette: A security-oriented runtime that runs WebAssembly Components via MCP.
OfficialCommunicationRustLine Bot MCP Server
line/line-bot-mcp-server
MCP server that integrates the LINE Messaging API to connect an AI Agent to the LINE Official Account.
OfficialCommunicationTypeScript
What is Pulsemcp Gmail?
Pulsemcp Gmail is an MCP server that adds messaging tools to AI assistants such as Claude Desktop, Claude Code and Cursor. MCP server for Gmail with OAuth2 (personal) and service account (Workspace) support. It has 81 GitHub stars, is released under the MIT license and runs locally with npx -y gmail-workspace-mcp-server. The source code is at github.com/pulsemcp/mcp-servers.
How do I install the Pulsemcp Gmail MCP server?
Add the command npx -y gmail-workspace-mcp-server to your MCP client: put it in claude_desktop_config.json for Claude Desktop, run claude mcp add for Claude Code, or add it to .cursor/mcp.json (Cursor) or .vscode/mcp.json (VS Code). The snippets on this page are ready to paste.
Is Pulsemcp Gmail free?
The server is open source under the MIT license, so running it is free. It needs credentials (GMAIL_OAUTH_CLIENT_ID, GMAIL_OAUTH_CLIENT_SECRET, GMAIL_OAUTH_REFRESH_TOKEN and GMAIL_SERVICE_ACCOUNT_PRIVATE_KEY) for the service it connects to, which may require a paid account.
Is Pulsemcp Gmail actively maintained?
The most recent commit was on Aug 30, 2026. The latest release is monorepo-latest-placeholder@0.0.0, published Jul 3, 2025. appsgit only lists MCP servers with a commit in the last six months and re-checks every server daily.