Google Calendar MCP logo

Google Calendar MCP

Manage Google Calendar events, recurring meetings, availability, invitations, Meet links, and focus or out-of-office blocks through MCP.

Install Google Calendar MCP

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "google-calendar-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@a1-x-tech/mcp-google-calendar@latest"
      ],
      "env": {
        "GOOGLE_CALENDAR_CLIENT_ID": "YOUR_VALUE_HERE",
        "GOOGLE_CALENDAR_CLIENT_SECRET": "YOUR_VALUE_HERE",
        "GOOGLE_CALENDAR_REFRESH_TOKEN": "YOUR_VALUE_HERE"
      }
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Values are written into the snippet above so you can paste it as is. They never leave your browser.

Install not yet sandbox-tested— the server itself is confirmed live (we called its tools/list endpoint). The stdio install command is a separate, ongoing check.

Overview

Google Calendar MCP connects an AI client to the Google Calendar API for reading calendars, managing events, checking shared availability, and handling recurring series. It supports browser-based OAuth login or refresh-token environment variables, with credentials stored locally when using the in-chat flow. Reach for it when an agent needs to inspect schedules, find common free time, create or modify meetings, or protect working time. Writes require deliberate handling because invitations and cancellations are controlled through an explicit notification option.

Use cases

  • Review a week of meetings and recurring events
  • Find a shared free slot before booking a meeting
  • Create a guest meeting with an optional Google Meet link
  • Reschedule or cancel one occurrence of a recurring event
  • Block Out of Office or Focus Time

Key features

  • OAuth login with local token storage
  • Calendar and event read/write operations
  • Recurring-series and single-occurrence management
  • Multi-calendar free/busy queries
  • Google Meet, Out of Office, and Focus Time support
  • Restricted raw Google Calendar API v3 access

Tools19

What Google Calendar MCP lets your agent do. Expand a tool for its parameters.

Verified live~7.5k tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked Today

Recent health check succeeded.

12/12 checks healthy over the last 66d

What it can do

From the 19 tools this server returned when we ran it; 19 declare their own safety hints.

Can delete or modify data · 6Handles credentials · 6Makes network requests · 19Read-only tools · 13
Network at startup4 connections
Files written at startup1
Install scriptsprepare
npm provenanceNot published
Package age48 days
Maintainers1

Observed 2026-10-17 in an isolated sandbox. A description of reach, not a security audit.

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 4d ago via OSV.dev · @a1-x-tech/mcp-google-calendar@latest (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

npm downloads1kPackage downloads in the last 30 days.
Last commit7d agoMost recent push to the default branch.
Tools exposed19Callable tools this server registers over MCP.
Directory activity10 viewsConfig copies, upvotes, and views on AllMCPs.

How Google Calendar MCP works

What Google Calendar MCP does

Google Calendar MCP exposes Google Calendar operations as MCP tools for AI clients. It can list calendars, inspect events, create and partially update meetings, cancel or move events, expand recurring series, and retrieve free/busy intervals. Event responses include details such as times, attendees and response states, organizers, recurrence information, reminders, visibility, event type, and Google Meet links when available.

The server also supports calendar-specific workflow features. It can create Out of Office and Focus Time blocks on a Google Workspace user’s primary calendar, including automatic invitation declines and, for Focus Time, an optional Google Chat Do Not Disturb status. A raw Calendar API v3 request tool covers supported paths that do not have dedicated wrappers, while rejecting paths outside calendar/v3/.

How it works

The server runs as an npm package over MCP using standard input/output. It authenticates against Google Calendar with OAuth credentials. Authentication can use GOOGLE_CALENDAR_CLIENT_ID, GOOGLE_CALENDAR_CLIENT_SECRET, and GOOGLE_CALENDAR_REFRESH_TOKEN, or an interactive flow initiated through MCP tools.

The interactive flow gives the client an authorization URL, waits for the browser redirect on 127.0.0.1, and then stores the resulting token locally. The OAuth client JSON is saved in a shared owner-only configuration location, while tokens remain associated with each server. The token itself is not returned through the chat flow.

Recurring events are treated as a series and as individual instances. Listing instances provides the occurrence IDs needed to change or cancel one occurrence without modifying the whole series. Free/busy queries return busy ranges rather than event details, allowing an agent to identify possible shared openings before creating a meeting.

Setup and configuration

Use Node.js 20 or newer, a Google account, and a Google Cloud project with the Calendar API enabled. Create a Desktop-app OAuth client, configure the consent screen, and download its JSON file. Publishing the consent screen is important for long-lived refresh tokens; testing-mode refresh tokens expire after seven days.

The package can be launched with the latest npm tag:

Terminal
npx -y @a1-x-tech/mcp-google-calendar@latest

For environment-based authentication, configure:

  • GOOGLE_CALENDAR_CLIENT_ID
  • GOOGLE_CALENDAR_CLIENT_SECRET
  • GOOGLE_CALENDAR_REFRESH_TOKEN

Alternatively, call setup_instructions, pass the downloaded JSON file path to set_client, then use start_login and finish_login. The client secret should remain in the file and should not be pasted into a conversation. auth_status reports token state, account identity, expiry, scopes, and credential locations without making a network request or exposing the token. logout revokes the stored token and removes its local credential file; environment-provided tokens must be removed from the MCP client configuration separately.

Tools and capabilities

  • Inspect available calendars, permissions, time zones, primary-calendar status, and default reminders.
  • Search events by time range or text, expand recurring events, and perform incremental polling with update timestamps and deleted-event results.
  • Create timed or all-day events, recurring series, guest invitations, and Google Meet conferences.
  • Patch event fields, move events between calendars, or delete an entire series or a single occurrence.
  • Query busy intervals for up to 50 calendars or attendee email addresses.
  • Create Out of Office and Focus Time blocks with optional automatic declines.
  • Send direct Calendar API v3 requests for supported operations such as quick-add, colors, ACLs, calendar creation, and watch channels.

Limitations and notes

Calendar writes do not perform conflict detection. Query free/busy before booking a slot. Guest emails, update notices, and cancellation messages are sent only when send_updates=all is selected; the default is silent.

An all-day event uses an exclusive end date. For recurring events, provide a time zone with timed values. Updating a nested object such as attendees or reminders replaces the complete existing object, so retrieve the event first when preserving existing entries matters.

Out of Office and Focus Time creation is restricted to the primary calendar of a Google Workspace account and always uses timed values. Consumer Gmail accounts and secondary calendars return an error for those operations. Moving an event requires write access on both calendars and is unavailable for several special event types.

The server avoids replaying writes after ambiguous failures. Before retrying a create, special-block creation, or other uncertain operation, check the calendar for an existing result to prevent duplicate events or repeated guest notifications. Deleting an event cannot be undone through this toolset. The server uses the narrower calendar.events and calendar.readonly OAuth scopes rather than the broad Calendar scope.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Google Calendar MCP

Google Calendar MCP is an MCP server that connects AI clients to the Google Calendar API. Its main tools inspect calendars and events, create or update meetings, manage recurring occurrences, query free/busy intervals, add Google Meet links, and create Out of Office or Focus Time blocks.

Install it by configuring an MCP client to run `npx -y @a1-x-tech/mcp-google-calendar@latest`. Provide the Google OAuth client ID, client secret, and refresh token as environment variables, or configure the client JSON and complete the browser login flow.

Connect it by enabling the Google Calendar API, creating a Desktop-app OAuth client, downloading its JSON file, and using `set_client` with the file path. Then call `start_login`, open the returned authorization URL on the same machine, and call `finish_login` after consent.

No. Invitation, update, and cancellation emails are sent only when `send_updates=all` is used. The default behavior is silent, so creating an event with attendees does not notify them unless the request explicitly enables updates.

Yes. First obtain the occurrence ID with `list_event_instances`, then pass that ID to `update_event` or `delete_event`. Using the recurring series master ID instead changes or removes the entire series.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewGoogle Calendar MCP AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/google-calendar-mcp?style=directory)](https://allmcps.com/mcp/google-calendar-mcp)
HTML Embed
<a href="https://allmcps.com/mcp/google-calendar-mcp"><img src="https://allmcps.com/api/badge/google-calendar-mcp?style=directory" alt="Google Calendar MCP on AllMCPs" /></a>