MCP.so
Sign In

Google Calendar MCP Server

@takumi0706

Basic information

Category

Productivity

License

MIT

Transports

stdio

Author

takumi0706

About Google Calendar MCP Server

Google Calendar MCP server for Claude Desktop integration

Google Calendar MCP Server config

Add this server to your MCP-compatible client using the configuration below.

{
  "mcpServers": {
    "google-calendar": {
      "command": "npx",
      "args": [
        "-y",
        "@takumi0706/google-calendar-mcp"
      ],
      "env": {
        "GOOGLE_CLIENT_ID": "your_client_id",
        "GOOGLE_CLIENT_SECRET": "your_client_secret",
        "GOOGLE_REDIRECT_URI": "http://localhost:3000/oauth2callback"
      }
    }
  }
}

Google Calendar MCP Server tools

Tool list not available yet

This listing does not currently have a tool list to display. This does not mean the server has no tools; check its documentation for supported capabilities.

Fetch the live tool list by running this server in a temporary sandbox using the button above.

Overview

What is Google Calendar MCP Server?

This Google Calendar MCP server is a community TypeScript server by takumi0706 that connects Claude Desktop to the Google Calendar API, so Claude can list, create, update and delete your calendar events in natural language after you sign in with Google OAuth2.

It is published on npm as @takumi0706/google-calendar-mcp, runs locally over stdio, and is MIT-licensed. It is not made by Google. You bring your own Google Cloud OAuth client. Version 2.0.0 added PKCE to the OAuth flow, moved to MCP protocol revision 2026-07-28 (older 2025 revisions are still served), and requires Node.js 20 or newer.

How to use Google Calendar MCP Server?

Prerequisites:

  1. Node.js 20 or newer.
  2. A Google Cloud project with the Google Calendar API enabled.
  3. OAuth2 credentials (client ID and client secret) created in the Google Cloud Console. The redirect URI you register must match GOOGLE_REDIRECT_URI. The README's default is http://localhost:4153/oauth2callback.

Environment variables:

  • GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET and GOOGLE_REDIRECT_URI (required)
  • TOKEN_ENCRYPTION_KEY (optional, auto-generated if not set; must be exactly 64 hex characters)
  • AUTH_PORT / AUTH_HOST for the local auth server (defaults 4153 / localhost), and PORT / HOST for the MCP server (defaults 3000 / localhost)
  • USE_MANUAL_AUTH=true if localhost is not reachable, for example on a remote server or in a container

Claude Desktop

Add the server to claude_desktop_config.json:

{
  "mcpServers": {
    "google-calendar": {
      "command": "npx",
      "args": ["-y", "@takumi0706/google-calendar-mcp"],
      "env": {
        "GOOGLE_CLIENT_ID": "your_client_id",
        "GOOGLE_CLIENT_SECRET": "your_client_secret",
        "GOOGLE_REDIRECT_URI": "http://localhost:4153/oauth2callback"
      }
    }
  }
}

On first use, a browser window opens for Google sign-in and consent. With USE_MANUAL_AUTH=true, you paste the authorization code shown by Google instead.

Other MCP clients

The README targets Claude Desktop. Because it is a standard stdio server, Claude Code, Cursor or VS Code can run the same npx -y @takumi0706/google-calendar-mcp command with the same env values. These setups are not documented by the author.

Install globally or from source

npm install -g @takumi0706/google-calendar-mcp
git clone https://github.com/takumi0706/google-calendar-mcp.git
cd google-calendar-mcp
npm install
npm run build
npm start

Key features of Google Calendar MCP Server

  • Full event management: get, create, update and delete events on your primary or any other calendar.
  • Partial updates: updateEvent fetches the existing event and merges your changes, so fields you do not mention are kept.
  • Recurring events through RFC 5545 rules, such as RRULE:FREQ=WEEKLY;BYDAY=MO,WE,FR.
  • Event colors through colorId (1 to 11), plus attendees, locations, descriptions and time zones.
  • Switch Google accounts without restarting Claude using the authenticate tool.
  • Security hardening in v2: PKCE (S256), single-use CSPRNG state with a 10-minute expiry, a fixed redirect URI, Zod input validation and AES-256-GCM token encryption in memory.
  • Manual authentication mode for headless environments.

Google Calendar MCP Server tools

The server exposes five tools:

  • Read: getEvents lists events with optional calendarId, timeMin/timeMax (ISO 8601), maxResults (default 10) and orderBy (startTime or updated).
  • Write: createEvent takes an event object with summary, start and end (date-time or all-day date) plus optional description, location, attendees, colorId and recurrence. updateEvent takes an eventId and only the fields to change.
  • Remove: deleteEvent deletes an event by eventId.
  • Account: authenticate re-runs Google sign-in, useful for switching accounts mid-session.

Use cases of Google Calendar MCP Server

  • Check your schedule: "What meetings do I have tomorrow afternoon?"
  • Book time: "Create a 30-minute call with alex@example.com on Friday at 10:00 Tokyo time."
  • Set up routines: "Add a weekly team sync every Monday, Wednesday and Friday at 9am."
  • Reschedule safely: "Move my dentist appointment to next Tuesday at the same time," without losing the event's other details.
  • Tidy up: "Color all my focus blocks this week green," or "Delete the cancelled design review."
  • Switch between personal and work calendars by re-authenticating with another Google account.

Google Calendar MCP Server vs alternatives

Many community Google Calendar MCP servers exist, and most follow the same pattern: a local server plus your own Google Cloud OAuth credentials. This one is compact (five tools), Claude Desktop-focused, and recently security-hardened. If you would rather not manage a Google Cloud project, a hosted connector platform such as Zapier MCP can expose Google Calendar actions through your Zapier account instead. For Microsoft calendars, see the Outlook MCP Server.

Troubleshooting Google Calendar MCP Server

  • Authentication errors: double-check the client ID and secret, confirm the Calendar API is enabled, and make sure the redirect URI registered in Google Cloud exactly matches GOOGLE_REDIRECT_URI.
  • Authentication failed: Invalid state parameter: update to version 1.0.3 or later. On older versions, free port 4153 and restart.
  • Cannot access localhost: set USE_MANUAL_AUTH=true and paste the authorization code manually.
  • Error -32602 with empty parameters: update to 1.0.7 or later, which ignores empty strings, null and undefined values.
  • Connection errors or port conflicts: run only one instance of the server. From v2 the auth server aborts if its port is already taken.

Frequently asked questions

1

Is this an official Google Calendar MCP server?

No. It is a community project by takumi0706 on GitHub, not affiliated with Google. It uses the official `googleapis` client to call the Google Calendar API.

2

Is the Google Calendar MCP server free?

Yes. The server is MIT-licensed and free. You need a Google Cloud project with the Calendar API enabled and your own OAuth credentials.

3

Which credentials does it need?

A Google OAuth2 client ID and client secret, plus the redirect URI registered for them, passed as `GOOGLE_CLIENT_ID`, `GOOGLE_CLIENT_SECRET` and `GOOGLE_REDIRECT_URI`.

4

Do I have to sign in again after restarting?

Yes. OAuth tokens are kept in memory only, never written to disk, so you re-authenticate after every restart.

5

Does it work with Claude Code, Cursor or VS Code?

It is built and documented for Claude Desktop, but it is a standard stdio MCP server. Clients that launch stdio servers can run the same `npx` command with the same environment variables.

6

Can it handle recurring events and multiple calendars?

Yes. `createEvent` and `updateEvent` accept RFC 5545 `recurrence` rules, and every tool takes an optional `calendarId` (the primary calendar is the default).

7

Is it safe to give Claude access to my calendar?

The server can create, change and delete events. It uses PKCE, CSRF-safe state handling and in-memory encrypted tokens, but keep your client secret private and review destructive requests before approving them.

Comments

More Productivity MCP servers