Google Calendar MCP logo

Google Calendar MCP

by takumi0706

Manage Google Calendar events through MCP tools for retrieval, creation, updates, deletion, and OAuth re-authentication.

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": {
    "takumi0706-google-calendar-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@takumi0706/google-calendar-mcp@2.0.0"
      ],
      "env": {
        "GOOGLE_CLIENT_ID": "YOUR_VALUE_HERE",
        "GOOGLE_CLIENT_SECRET": "YOUR_VALUE_HERE",
        "GOOGLE_REDIRECT_URI": "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.

We couldn’t confirm it starts correctly

We ran the install command but it didn't respond within our test window — this can mean a slow first-time install rather than a real problem.

npx -y @takumi0706/google-calendar-mcp@2.0.0

No response to initialize.

This is an experimental automated check and can have false negatives — missing environment variables, a slow cold install, etc. It doesn’t necessarily mean something’s wrong. Last checked 24d ago.

Overview

The takumi0706/google-calendar-mcp MCP server connects Claude Desktop to the Google Calendar API through a TypeScript implementation. It uses STDIO transport and provides tools for listing, creating, updating, and deleting events, along with Google account re-authentication. OAuth2 with PKCE handles authorization, while event inputs support time zones, all-day events, attendees, colors, and recurrence rules. Reach for it when an MCP client needs natural-language access to a user's Google Calendar.

Use cases

  • Retrieve upcoming events for a date range
  • Create all-day or timed calendar events
  • Update selected fields on an existing event
  • Delete calendar events by ID
  • Switch Google accounts through re-authentication

Key features

  • Google Calendar API integration
  • Event retrieval with date and ordering filters
  • Create, update, and delete event tools
  • Attendees, colors, time zones, and recurrence support
  • OAuth2 authorization with PKCE
  • STDIO transport for Claude Desktop

Tools3

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

Self-reported~27 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.

7/8 checks healthy over the last 79d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 10d ago via OSV.dev · @takumi0706/google-calendar-mcp@2.0.0 (npm)

Adoption & maintenance

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

GitHub stars59Stargazers on the source repository.
npm downloads345Package downloads in the last 30 days.
Last commit2mo agoMost recent push to the default branch.
Install checkInconclusiveDidn't respond in our test window — often a slow first install.
Tools exposed3Callable tools this server registers over MCP.
Directory activity3 viewsConfig copies, upvotes, and views on AllMCPs.

How Google Calendar MCP works

What takumi0706/google-calendar-mcp does

takumi0706/google-calendar-mcp connects an MCP client with Google Calendar through the Google Calendar API. The implementation is written in TypeScript and is intended to let Claude Desktop read and modify calendar data through tool calls rather than direct user interaction with the Calendar interface.

The available operations cover the main event lifecycle:

  • Retrieve events from a selected calendar or the primary calendar.
  • Create timed or all-day events with optional descriptions, locations, attendees, colors, and recurrence rules.
  • Update an existing event while retaining fields that are not included in the update request.
  • Delete an event by calendar and event ID.
  • Re-authenticate with Google to switch accounts without restarting Claude Desktop.

This places the project in the Workplace & Productivity category for workflows that need calendar information or event changes from an AI assistant.

How it works

The server communicates over standard input and output. Its Google Calendar tools use the googleapis library, while request and response structures are validated with Zod. The getEvents operation can filter by calendar, start and end times, result count, and ordering. Event timestamps use ISO 8601 values; all-day events use YYYY-MM-DD dates. Recurring events accept RFC5545 recurrence rules.

Authorization uses Google's OAuth2 authorization-code flow with PKCE using the S256 method. An authentication server handles the browser-based flow, and the project can also use manual authentication when localhost is not accessible. Token handling uses AES-256-GCM encryption while tokens are held in memory.

Setup and configuration

Run the published package with Node.js 20 or later:

Terminal
npx @takumi0706/google-calendar-mcp@2.0.0

Before starting it, create a Google Cloud project, enable the Google Calendar API, and configure OAuth2 credentials. Set these required values in the environment or a .env file:

  • GOOGLE_CLIENT_ID
  • GOOGLE_CLIENT_SECRET
  • GOOGLE_REDIRECT_URI

The documented callback value is http://localhost:4153/oauth2callback. TOKEN_ENCRYPTION_KEY can provide a 32-byte hexadecimal encryption key; otherwise, a key is generated automatically. AUTH_PORT and AUTH_HOST configure the authentication server, whose documented defaults are 4153 and localhost. PORT and HOST configure the MCP server, with documented defaults of 3000 and localhost. Set USE_MANUAL_AUTH=true when a local callback cannot be reached.

For Claude Desktop, add the package as an MCP server with the npx command and pass the Google credentials through its env object. The project is licensed under MIT.

Tools and capabilities

The core tools are getEvents, createEvent, updateEvent, deleteEvent, and authenticate. Calendar IDs are optional for the event operations and default to the primary calendar when omitted. Updates require an event ID and merge supplied fields with the existing event, allowing partial changes. Creation supports attendee email addresses, optional display names, event color IDs from 1 through 11, time zones, and recurrence arrays.

Limitations and notes

Google Cloud setup and OAuth credentials are prerequisites. Authentication state is lost when the process restarts because tokens are kept in memory rather than file storage. Node.js 20 or newer is required for the 2.0.0 package, which uses MCP protocol revision 2026-07-28 and PKCE in its OAuth flow.

Reviews

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

Frequently Asked Questions about Google Calendar MCP

takumi0706/google-calendar-mcp is an MCP server that connects Claude Desktop to the Google Calendar API. Its main tools retrieve, create, update, and delete calendar events, plus re-authenticate a Google account. It uses TypeScript, STDIO transport, and OAuth2 with PKCE for authorization.

Install it by running `npx @takumi0706/google-calendar-mcp@2.0.0` with Node.js 20 or newer. You must also enable the Google Calendar API in a Google Cloud project, configure OAuth2 credentials, and provide the required environment variables.

Configure Google OAuth by setting `GOOGLE_CLIENT_ID`, `GOOGLE_CLIENT_SECRET`, and `GOOGLE_REDIRECT_URI`. The documented callback is `http://localhost:4153/oauth2callback`; the Google Calendar API must be enabled in the associated Google Cloud project.

The server uses STDIO transport, but the listing does not provide a Cursor configuration or compatibility statement.

You need to authenticate again because OAuth tokens are kept in memory and are not stored in a file. Restarting the server removes the in-memory tokens, so the Google authorization flow must run again.

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/takumi0706-google-calendar-mcp?style=directory)](https://allmcps.com/mcp/takumi0706-google-calendar-mcp)
HTML Embed
<a href="https://allmcps.com/mcp/takumi0706-google-calendar-mcp"><img src="https://allmcps.com/api/badge/takumi0706-google-calendar-mcp?style=directory" alt="Google Calendar MCP on AllMCPs" /></a>