Google Calendar MCP Server

Manage, schedule, and sync multiple Google Calendars through AI chat assistants.

Data last scanned last week · Reviewed last month

301 dangerous tool12 tools1,162TypeScriptMIT

Overview

This TypeScript-based server bridges Google Calendar with your AI assistant, enabling complex scheduling tasks like detecting cross-account conflicts and checking availability. It provides comprehensive event management, allowing users to create, search, and modify calendar entries using natural language commands. Beyond basic scheduling, the tool supports intelligent imports that ingest dates from images, PDFs, or web links. By configuring multiple accounts and calendars, users can query and aggregate events from work and personal schedules within a unified interface.

Our verdict

With a security score of 50/100, this server carries a high risk level. The score reflects that the project is community-maintained rather than vendor-official and lacks an independent editorial review, meaning users should exercise caution regarding the handling of their OAuth credentials. It is suitable for power users who understand the risks of connecting third-party MCP servers to their Google data but should be avoided in environments requiring strict security compliance.

  • Supports multiple Google accounts and calendars simultaneously
  • Enables advanced recurring event modification
  • Contains only 6 direct dependencies
  • Provides real documentation for OAuth setup
  • Security score of 50/100 denotes high risk
  • Community-maintained software without official vendor support
  • Requires sensitive OAuth credential file paths
  • Lacks external security or editorial review

Setup

Claude Desktop
{
  "mcpServers": {
    "google-calendar-mcp": {
      "args": [
        "-y",
        "@cocal/google-calendar-mcp"
      ],
      "command": "npx"
    }
  }
}

Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows), then restart Claude Desktop. Some servers require API keys or tokens as environment variables — check the project's README and add an "env" object if needed.

  • No read-only mode — running this grants full read/write access.
  • No built-in authentication — anyone with access to this config can invoke every tool it exposes.

Tools

ToolDescriptionRisk
list-calendarsList all available calendarslow
list-eventsList events with date filteringlow
get-eventGet details of a specific event by IDlow
search-eventsSearch events by text querylow
create-eventCreate new calendar eventsmedium
update-eventUpdate existing eventsmedium
delete-eventDelete eventshigh
respond-to-eventRespond to event invitations (Accept, Decline, Maybe, No Response)medium
get-freebusyCheck availability across calendars, including external calendarslow
get-current-timeGet current date and time in calendar's timezonelow

Compatibility

ClientLocalDockerRemoteRead-only
ChatGPT
Claude Desktop
Cursor
VS Code
Windsurf

Frequently asked questions

What prerequisites are needed to set up this server?

You need a Google Cloud project with the Calendar API enabled and OAuth 2.0 credentials configured for a 'Desktop app' application type.

How do I authenticate the server for the first time?

Start your AI assistant like Claude Desktop and explicitly ask it to 'Authenticate with Google Calendar' to trigger the OAuth flow in your browser.

Why are my authentication tokens expiring every week?

When your Google Cloud app is in test mode, tokens expire after 7 days; you can avoid this by publishing your app in the Google Cloud Console.

How do I handle multiple Google accounts?

You can add, list, or remove accounts directly through your AI assistant using the manage-accounts tool, or use the CLI command 'npm run account auth' with a nickname.

What happens if I don't provide an account parameter to a tool?

Read-only tools will merge results from all configured accounts, while write tools will attempt to automatically select the account with the necessary permissions.

What should I do if I see a -32600 error?

This error typically indicates that you have not yet completed the initial authentication step; perform the 'Authenticate with Google Calendar' command in your chat interface to resolve it.

Alternatives

Changelog

Badge

Google Calendar MCP Server security score, rated on RepoAI

Maintain this server? Add the live badge to your README.