# takumi0706/google-calendar-mcp [Health: Active]

**Category:** 🏢 Workplace & Productivity  
**Repository:** https://github.com/takumi0706/google-calendar-mcp  
**GitHub Stars:** 59  
**npm Downloads (last month):** 345  
**Views:** 3  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/takumi0706-google-calendar-mcp

## Description
An MCP server to interface with the Google Calendar API. Based on TypeScript.

## Tools
Capabilities this server exposes over MCP:

- **event** — Event details object containing:
- **start** — Start time object with:
- **end** — End time object (same format as start)

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "google-calendar-mcp": {
    "command": "npx",
    "args": ["-y","@takumi0706/google-calendar-mcp@2.0.0"],
    "env": {
      "GOOGLE_CLIENT_ID": "",
      "GOOGLE_CLIENT_SECRET": "",
      "GOOGLE_REDIRECT_URI": ""
    }
  }
}
```

**Requires environment variables:** `GOOGLE_CLIENT_ID`, `GOOGLE_CLIENT_SECRET`, `GOOGLE_REDIRECT_URI` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation

## 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:

```bash
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.

_Full upstream README: https://allmcps.com/mcp/takumi0706-google-calendar-mcp/readme_

