multi-google-calendar-gmail-mcp
This server provides multi-account access to Google Gmail and Calendar services, allowing an MCP client (like Claude) to manage emails and calendar events across multiple Google accounts simultaneously.
Account Management
List connected accounts (
accounts_list): See all connected Google accounts and their aliases/nicknamesDiagnose setup (
check): Verify credentials, connected accounts, and API connectivity
Gmail
Search emails (
gmail_search): Use full Gmail query syntax (e.g.,from:,subject:,is:unread,has:attachment) across one or all connected accountsRead emails (
gmail_read): Fetch the full body of a specific message by IDList labels (
gmail_labels): View all label names for a given accountBatch-modify messages (
gmail_modify): Add/remove labels, archive, or mark up to 500 messages as read in one call (non-destructive — no deletion or trash)Create drafts (
gmail_draft): Compose a draft email without sending itSend emails (
gmail_send): Send an email from a connected account (with CC support; confirm with user first)
Google Calendar
List calendars (
calendar_list): View all calendars across one or all connected accountsList events (
calendar_events): Retrieve events within a date/datetime range across one or all accountsCreate events (
calendar_create_event): Create calendar events with optional location, description, attendees, and real email invitations (confirm with user first)
Configurable Access: Optionally restrict tool access or account visibility by editing a config.json file. Multiple accounts can be addressed by nickname or swept all at once using an "all" command.
Provides tools for searching, reading, labeling, modifying, drafting, and sending emails across multiple Gmail accounts.
Provides tools for listing calendars, retrieving events, and creating events with attendee invitations across multiple Google Calendar accounts.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@multi-google-calendar-gmail-mcpfind unread emails across all my accounts"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
multi-google-calendar-gmail-mcp
One small Python file that gives Claude (or any MCP client) Gmail and
Google Calendar across as many Google accounts as you want — a personal
Gmail, three Workspace domains, whatever. Each account gets a nickname;
every tool takes a nickname or "all" to sweep the whole fleet in one call.
"find every unread invoice across all five inboxes and label them Bookkeeping" — one tool call.
Why this one
Multi-account is the whole design, not a bolt-on. Most self-hosted Gmail MCPs authenticate one account. Here, connecting another account is one command + one browser click, and cross-account operations are native.
Minimal. One readable
server.py, three dependencies. If you want to know what it does, you can just read it.Bring your own credentials. Nothing is hosted, nothing phones home. You create your own (free) Google Cloud OAuth client, and your account keys live in a git-ignored folder on your machine. This repo never sees them.
Pairs naturally with apple-suite-mcp: that one reads whatever your Mac's built-in apps already see (zero setup, macOS only); this one speaks Google's APIs directly (real labels, batch operations up to 500 messages, drafts, calendar invites with attendees) and runs anywhere Python runs — including a headless Linux box.
Related MCP server: mcp-google-multi
Setup
Easy mode — let your AI install it
If you use Claude Code (or any coding agent), paste this and let it drive:
Read https://github.com/travisthetrashpanda/multi-google-calendar-gmail-mcp and install it for me: clone it, walk me through the one-time Google Cloud credential setup in its SETUP.md, help me connect my accounts with its
connectcommand, and register it with my MCP client.
The agent handles the fiddly parts and can diagnose failures with the
built-in check command; you just click Allow in the browser when Google
asks. (Sensible to read what you're installing first — it's one Python file.)
Manual mode
Requires uv (brew install uv on macOS).
git clone https://github.com/travisthetrashpanda/multi-google-calendar-gmail-mcp.git ~/multi-google-calendar-gmail-mcpOne-time Google Cloud setup (~15 min, free): follow SETUP.md — create a Cloud project, enable the Gmail and Calendar APIs, publish the consent screen (avoids 7-day token expiry), create a Desktop-app OAuth client, and drop
credentials.jsonin this folder. Heads-up: Google rejects app names containing the word "Google".Connect the accounts you choose (repeat per account, any alias you like — only accounts you connect are ever visible):
cd ~/multi-google-calendar-gmail-mcp uv run python server.py connect work uv run python server.py connect personalChanged your mind?
uv run python server.py disconnect workdeletes that account's key.Verify:
uv run python server.py checkRegister with your MCP client — e.g. Claude Code:
claude mcp add --scope user google -- uv run --directory ~/multi-google-calendar-gmail-mcp python server.pyor in a JSON MCP config:
{ "mcpServers": { "google": { "command": "uv", "args": ["run", "--directory", "/Users/YOU/multi-google-calendar-gmail-mcp", "python", "server.py"] } } }
Tools
Area | Tools |
Accounts |
|
Gmail |
|
Calendar |
|
Test any tool from the command line:
uv run python server.py test gmail_search '{"query": "is:unread", "account": "all", "limit": 5}'Scoping access (optional)
You already control access by choosing what to connect — but if you want a
client to see only a subset of connected accounts (or to remove tools
entirely), copy config.example.json to config.json:
{
"accounts": ["work", "personal"],
"disabled_tools": ["gmail_send"]
}Accounts not listed become invisible to every tool; tools in
disabled_tools are never even registered with the MCP client. Omit a key
(or the whole file) to allow everything. check reports active scoping.
Safety notes
There is deliberately no delete/trash tool — the most destructive operation is archiving (removing from inbox), which is reversible.
gmail_sendand attendee invitations send real email; MCP clients should confirm with the user first.credentials.jsonandtokens/are git-ignored. Treat thetokens/folder like passwords — don't put it in cloud-synced directories.
Credits
Sibling project of apple-suite-mcp; the two split the work of giving an AI assistant a complete view of your accounts — locally-visible vs. API-native.
Say thanks
This project is free to use, no strings attached. If it's useful to you, a ⭐ on this repo or a shout-out to @travisthetrashpanda is always appreciated — and if you build something on top of it, a link back here helps others find it.
License
MIT
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityDmaintenanceEnables interaction with Gmail and Google Calendar using the MCP protocol, supporting multiple Google accounts, email management, and calendar operations through natural language.Last updated3832MIT
- Alicense-qualityAmaintenanceGives MCP clients access to Google Workspace (Gmail, Drive, Calendar, Sheets, Docs, etc.) across multiple Google accounts simultaneously.Last updated1,0919MIT
- Flicense-qualityCmaintenanceEnables interacting with multiple Gmail accounts through a single MCP server, supporting search, labels, drafts, and thread management with per-account OAuth.Last updated
- AlicenseAqualityBmaintenanceEnables natural language interaction with multiple Google accounts (Gmail, Drive, Calendar) from MCP-compatible clients like Claude.Last updated63612MIT
Related MCP Connectors
Read, search, send, organize, draft and schedule email across your inboxes from any MCP client.
Hosted Google Calendar MCP server for AI agents. No self-hosting or Google Cloud setup.
AI-powered medical document management for cancer patients. Google Drive, Gmail, Calendar via MCP.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/travisthetrashpanda/multi-google-calendar-gmail-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server