google-mcp
Click on "Deploy 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., "@google-mcp show my calendar events for tomorrow"
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.
google-mcp
Multi-account Google MCP server exposing Gmail and Calendar read tools over stdio.
Security notes
credentials.jsonis local-only and must never be committed.Copy
credentials.template.jsontocredentials.jsonand fill it with your local OAuth client values.Refresh tokens are stored in your OS keychain (
keyring), not in source control.
Related MCP server: gmail-mcp
Setup
Install dependencies:
uv sync
Create local OAuth client config:
cp credentials.template.json credentials.json
Set expected account emails (optional but recommended for auth safety checks):
export GOOGLE_MCP_PERSONAL_EMAIL="you@example.com"export GOOGLE_MCP_WORK_EMAIL="you@company.com"
Optionally set a specific work calendar filter:
export GOOGLE_MCP_WORK_CALENDAR="calendar-id-or-summary"
Authorize each account:
uv run auth_setup.py personaluv run auth_setup.py work
Run server
uv run server.py
Integration tests
These hit real Google APIs.
Basic live tests:
RUN_LIVE_TESTS=1 uv run integration_smoke.py
Include destructive keychain mutation test:
RUN_LIVE_TESTS=1 RUN_DESTRUCTIVE_TESTS=1 uv run integration_smoke.py
Publish safety checks
Run local security guardrail:
python scripts/security_check.py
Optional pre-commit integration:
uv tool install pre-commitpre-commit installpre-commit run --all-files
CI runs the same script on every push/PR via
.github/workflows/security-check.yml.
Available Tools
4 toolscalendar_events_personalC
List events for the configured personal account calendars.
Inputs: time_min (required), time_max (required), max_results. Returns: object
calendar_events_workC
List events for the configured work account calendars.
Inputs: time_min (required), time_max (required), max_results. Returns: object
gmail_search_personalB
Search Gmail for the configured personal account.
Inputs: query (required), max_results. Returns: object
gmail_search_workC
Search Gmail for the configured work account.
Inputs: query (required), max_results. Returns: object
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 4 tools
Each tool has a unique combination of service (calendar vs gmail) and account type (personal vs work), making it impossible to confuse one tool with another.
All tools follow a strict pattern: {service}_{action}_{account}, using snake_case consistently. This makes the naming predictable and easy to understand.
With 4 tools, the count is appropriate for a focused server that distinguishes between two services across two accounts, avoiding unnecessary complexity.
The tool set covers listing events and searching emails, but is limited to these read operations. Missing capabilities like creating or modifying events/schedules are notable gaps for a full Google workspace integration.
Related MCP Connectors
Streamable HTTP MCP server for Google Calendar and Sheets with OAuth login.
Your Gmail, Calendar, Drive, GitHub, Oura, wallet and confirmed profile facts in any MCP client.
MCP server for Nylas — read email, calendars, events and contacts, and send email or create events.
Hosted email MCP for your own Gmail, Outlook.com, Microsoft 365, iCloud or IMAP inbox: read, search, draft, reply in thread, forward and file mail. It moves or flags up to 500 messages in one call, and a send leaves exactly one copy in Sent. A calendar is a separate connection, and connecting one adds diary and scheduling tools.
Related MCP Servers
- AlicenseAqualityCmaintenanceLocal-first Gmail MCP server using PKCE + loopback OAuth flow that stores refresh tokens in the OS keychain, enabling secure read/write Gmail access via MCP tools without tokens leaving the device.20MIT
- FlicenseNot gradedqualityDmaintenanceMulti-account Gmail MCP server for reading threads, managing labels, and creating drafts across multiple Gmail accounts.-
- AlicenseNot gradedqualityDmaintenanceA local MCP server that manages multiple Gmail accounts simultaneously, allowing MCP clients to switch between accounts per request without logging out or in. It securely stores OAuth tokens in the macOS Keychain.MIT
- AlicenseNot gradedqualityDmaintenanceA self-hostable Gmail MCP server that enables Gmail search/read, sending, replies, drafts, labels, and attachment downloads via MCP tools with OAuth authorization. Supports stdio and streamable HTTP transports.MIT