# Google Calendar (MCP server)

> Google Calendar is an MCP server that adds productivity tools to AI assistants such as Claude Desktop, Claude Code and Cursor. MCP server for Google Calendar integration with service account support and domain-wide delegation. It has 81 GitHub stars, is released under the MIT license and runs locally with npx -y google-calendar-workspace-mcp-server.

An MCP (Model Context Protocol) server for Google Calendar integration using service account authentication with domain-wide delegation. This server enables AI assistants to interact with Google Calendar to list events, create events, manage calendars, and query availability.

## Key facts

| Fact | Value |
|---|---|
| Repository | https://github.com/pulsemcp/mcp-servers |
| GitHub stars | 81 |
| License | MIT |
| Language | TypeScript |
| Transport | stdio |
| Packages | npm: google-calendar-workspace-mcp-server |
| Remote URL | none |
| Needs API key | yes |
| Official | yes |
| Works with | Claude Desktop, Claude Code, Cursor, VS Code |
| Category | Productivity |
| Latest release | monorepo-latest-placeholder@0.0.0 (Jul 3, 2025) |
| Last commit | Aug 30, 2026 |
| MCP registry name | com.pulsemcp/google-calendar |

## Install

### Claude Desktop (claude_desktop_config.json)

```json
{
  "mcpServers": {
    "google-calendar": {
      "command": "npx",
      "args": [
        "-y",
        "google-calendar-workspace-mcp-server"
      ],
      "env": {
        "GCAL_SERVICE_ACCOUNT_CLIENT_EMAIL": "your-value",
        "GCAL_SERVICE_ACCOUNT_PRIVATE_KEY": "your-value",
        "GCAL_IMPERSONATE_EMAIL": "your-value"
      }
    }
  }
}
```

Settings > Developer > Edit Config. macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\. Restart Claude Desktop afterwards.

### Claude Code

```sh
claude mcp add --env GCAL_SERVICE_ACCOUNT_CLIENT_EMAIL=your-value --env GCAL_SERVICE_ACCOUNT_PRIVATE_KEY=your-value --env GCAL_IMPERSONATE_EMAIL=your-value --transport stdio google-calendar -- npx -y google-calendar-workspace-mcp-server
```

### Cursor (.cursor/mcp.json)

```json
{
  "mcpServers": {
    "google-calendar": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "google-calendar-workspace-mcp-server"
      ],
      "env": {
        "GCAL_SERVICE_ACCOUNT_CLIENT_EMAIL": "your-value",
        "GCAL_SERVICE_ACCOUNT_PRIVATE_KEY": "your-value",
        "GCAL_IMPERSONATE_EMAIL": "your-value"
      }
    }
  }
}
```

Project file; use ~/.cursor/mcp.json to enable it in every project.

### VS Code (.vscode/mcp.json)

```json
{
  "inputs": [
    {
      "type": "promptString",
      "id": "gcal_service_account_private_key",
      "description": "GCAL_SERVICE_ACCOUNT_PRIVATE_KEY",
      "password": true
    }
  ],
  "servers": {
    "google-calendar": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "google-calendar-workspace-mcp-server"
      ],
      "env": {
        "GCAL_SERVICE_ACCOUNT_CLIENT_EMAIL": "your-value",
        "GCAL_SERVICE_ACCOUNT_PRIVATE_KEY": "${input:gcal_service_account_private_key}",
        "GCAL_IMPERSONATE_EMAIL": "your-value"
      }
    }
  }
}
```

Config formats checked against the official docs on 2026-10-07.

## Environment variables

- `GCAL_SERVICE_ACCOUNT_CLIENT_EMAIL` (required): Service account email address from Google Cloud Console.
- `GCAL_SERVICE_ACCOUNT_PRIVATE_KEY` (secret) (required): Service account private key in PEM format from Google Cloud Console.
- `GCAL_IMPERSONATE_EMAIL` (required): Email address of the user whose calendar to access via domain-wide delegation.
- `ENABLED_TOOLGROUPS`: Comma-separated list of tool groups to enable (readonly or readwrite).

## Tools

- `list_calendar_events`: Lists events from a calendar within an optional time range.
- `calendar_id`: Calendar ID (default: "primary")
- `time_min`: Start time in RFC3339 format
- `time_max`: End time in RFC3339 format
- `max_results`: Maximum events to return (default: 10, max: 250)
- `query`: Free text search query
- `single_events`: Expand recurring events (default: true)
- `order_by`: "startTime" or "updated"
- `get_calendar_event`: Retrieves detailed information about a specific event.
- `event_id`: The event ID
- `create_calendar_event`: Creates a new calendar event.
- `summary`: Event title
- `start_datetime`: OR startdate (required): Event start time
- `end_datetime`: OR enddate (required): Event end time
- `location`: Event location
- `attendees`: Array of email addresses
- `update_calendar_event`: Updates an existing calendar event. Uses PATCH semantics - only the fields you provide will be updated; other fields…
- `send_updates`: "all", "externalOnly", or "none" - whether to send update notifications
- `delete_calendar_event`: Deletes a calendar event.
- `list_calendars`: Lists all calendars available to the authenticated user.
- `query_calendar_freebusy`: Queries availability information for calendars.
- `calendar_ids`: Array of calendar IDs to check
- `timezone`: Time zone for the query

## Similar MCP servers

- [Kaneo](https://appsgit.com/mcp-servers/kaneo): Official MCP server for Kaneo: manage tasks, projects, and labels from Claude and other MCP clients. (9,368 stars, MIT, official, needs API key)
- [PraisonAI](https://appsgit.com/mcp-servers/praisonai): AI Agents Framework with Self Reflection and MCP support. (9,192 stars, MIT)
- [Windows MCP](https://appsgit.com/mcp-servers/windows-mcp): An MCP Server for computer-use in Windows OS. (7,725 stars, MIT)
- [Excel MCP Server](https://appsgit.com/mcp-servers/excel-mcp-server): Create, read and edit Excel workbooks without Microsoft Excel. (4,212 stars, MIT)
- [Basic Memory](https://appsgit.com/mcp-servers/basic-memory): Local-first knowledge management with bi-directional LLM sync via Markdown files. (4,108 stars, AGPL-3.0)
- [RevoGrid DataGrid MCP](https://appsgit.com/mcp-servers/revogrid-datagrid-mcp): Token-free MCP server for structured RevoGrid Core, Pro, and Enterprise knowledge retrieval. (3,448 stars, MIT)

---

Canonical page: https://appsgit.com/mcp-servers/google-calendar
Source: appsgit (https://appsgit.com), the app store for github. Data from the GitHub API, refreshed nightly.
Machine access: JSON API https://appsgit.com/api/v1/apps (OpenAPI: https://appsgit.com/openapi.json), MCP server https://mcp.appsgit.com/mcp, full index https://appsgit.com/llms-full.txt.
