← Back to directory
G

Google Calendar MCP Server

Community
Google Calendar integration for AI assistants
Category
Collaboration #35 of 55
Stars
★ 1.2k Very popular
Transport
stdio (local process)
Runtime
Node.js · Docker
Credentials
API key / credential required
License
MIT
Last commit
Tools
12
50FMRS · D

This server offers a comprehensive MCP integration for Google Calendar, with rich features like multi-account support and smart scheduling. It requires proper OAuth setup and may have a learning curve. Overall, it's a solid option for users who want to manage their calendars directly through an AI assistant.

Strongest · Documentation 16/20 Weakest · Reliability 5/20

Reliability
5/20
Security and permissions
8/20
Maintenance
7/20
Documentation
16/20
Setup experience
14/20
Why each score
Reliability 5/20
Evidence: README claims multi-account support, 12 tools, authentication flow, and error behavior (-32600). Deduction: No source code, tests, or CI provided; cannot verify server startup, MCP handshake, or that tools align with actual behavior. Missing execution evidence limits score.
Security and permissions 8/20
Evidence: README discloses OAuth token storage in system config directory, optional scopes, tool filtering for least privilege, and claims credentials never leave local machine. Deduction: No source verification of token handling or data flow; destructive delete-event lacks explicit confirmation; per-operation consent not detailed.
Maintenance 7/20
Evidence: Repository not archived, MIT license, 4 open issues. Deduction: No commit/release history, dependency update evidence, or security response channel supplied. Activity cannot be confirmed; stars are not counted.
Documentation 16/20
Evidence: README provides detailed install (npx/local/Docker), Claude config examples, env vars, tool filtering, auth/re-auth steps, troubleshooting, and links to architecture/testing docs. Deduction: Little disclosure of limitations (rate limits, error codes) and no cost/usage notes, but overall strong.
Setup experience 14/20
Evidence: Clear multi-path setup (npx, local, Docker) with prerequisites, config snippets, and auth instructions. Deduction: No CI or committed tests verify that these steps yield a working connection; manual caveats (test user propagation, browser issues) remain; capped by lack of execution evidence.

Static review · not runListed 2026-08-07

Read the FMRS scoring method →

Fit and risk

What it can accessUses the networkChanges third-party account data

Best for

  • Users who want AI assistant integration with Google Calendar
  • Users with multiple Google accounts
  • Users needing advanced event management, such as recurring events and free/busy queries

Not for

  • Users without a Google Cloud project
  • Users who want a quick setup without OAuth configuration
  • Users who need integration with calendar systems other than Google Calendar

Required permissions

  • Read and modify Google Calendar events
  • Access calendars across accounts
  • Create, update, delete, and search events
  • Respond to invitations
  • Check free/busy information

Risks and side effects

  • OAuth tokens can be exposed or expired
  • In test mode, tokens expire after 7 days and need re-authentication
  • Users should be aware of Google Cloud quotas and limits
  • Credentials may be exposed in logs if misconfigured

Setup

Before you start

Runtime:Node.js · Docker

GOOGLE_OAUTH_CREDENTIALS requiredsecret Absolute path to the OAuth credentials file (gcp-oauth.keys., Desktop app type) downloaded from Google Cloud Console.
Other optional settings (2)
GOOGLE_CALENDAR_MCP_TOKEN_PATH optional Optional custom location for storing OAuth tokens; defaults to your system's config directory.
ENABLED_TOOLS optional Optional comma-separated list of tool names to restrict which tools are exposed to the AI assistant.
  1. Create a project in Google Cloud Console and enable the Google Calendar API.
  2. Create OAuth 2.0 credentials, select 'Desktop app' type, and download the JSON key file.
  3. Add the server to Claude Desktop configuration using npx and provide the credentials path.
  4. Start Claude Desktop and ask the AI to authenticate with the Google Calendar MCP server.
  5. Complete the OAuth flow in your browser.
claude_desktop_config.json
{
  "mcpServers": {
    "google-calendar": {
      "command": "npx",
      "args": ["@cocal/google-calendar-mcp"],
      "env": {
        "GOOGLE_OAUTH_CREDENTIALS": "/path/to/your/gcp-oauth.keys.json"
      }
    }
  }
}

Shown for Claude Desktop. Other clients may use a different file or key (VS Code uses "servers") — the configurator below converts it.

.vscode/mcp.json
{
  "servers": {
    "google-calendar": {
      "command": "npx",
      "args": [
        "@cocal/google-calendar-mcp"
      ],
      "env": {
        "GOOGLE_OAUTH_CREDENTIALS": "/path/to/your/gcp-oauth.keys.json"
      }
    }
  }
}

Goes in your project's .vscode/mcp.json (VS Code uses a "servers" key).

Terminal
claude mcp add google-calendar -e GOOGLE_OAUTH_CREDENTIALS=/path/to/your/gcp-oauth.keys.json -- npx @cocal/google-calendar-mcp

Run it in a terminal; replace any <…> placeholders with your own values first.

Check that it works

After starting the client, ask it to "Authenticate with Google Calendar" to complete the OAuth flow, then check that tools like list-calendars, list-events, and create-event appear; asking the AI to run list-calendars and return your calendars proves the connection works.

Troubleshooting

  1. Ensure GOOGLE_OAUTH_CREDENTIALS points to a valid credentials file
  2. Verify credentials are for 'Desktop app' and test user is added
  3. Re-authenticate by running npm run auth or npx @cocal/google-calendar-mcp auth
  4. Check that ports 3500-3505 are not blocked, as they are used for authentication
  5. Ensure credentials file includes project_id to avoid rate limit errors

Things to try

Once connected, you can ask your AI assistant things like:

  • What events do I have coming up this week that aren't part of my usual routine?
  • Create a meeting on my calendar for tomorrow at 2pm.
  • Which events tomorrow have attendees who have not accepted the invitation?
  • Accept the team meeting invitation on my calendar for tomorrow at 2pm.

Tools 12

list-calendars read-only
List all available calendars
list-events read-only
List events with date filtering
get-event read-only
Get details of a specific event by ID
search-events read-only
Search events by text query
create-event writes
Create new calendar events
update-event writes
Update existing events
delete-event destructive
Delete events
respond-to-event writes
Respond to event invitations (Accept, Decline, Maybe, No Response)
Show 4 more tools
get-freebusy read-only
Check availability across calendars, including external calendars
get-current-time read-only
Get current date and time in calendar's timezone
list-colors read-only
List available event colors
manage-accounts writes
Add, list, or remove connected Google accounts

Use cases

Finding availability across personal and work calendars
Adding events from screenshots or images
Analyzing calendar for unusual events
Checking attendance and responding to invitations
Automatically coordinating events based on provided availability

Supported clients

Claude Desktop

Listed from the project's documentation, not tested by this site.

Overview

This server implements the Model Context Protocol (MCP) for Google Calendar, offering multi-account, multi-calendar support and advanced event management. It allows AI assistants to perform operations like create, update, delete, and search events, handle recurring events, check free/busy status, and understand natural language dates and times. The server supports intelligent import of events from images, PDFs, and web links, and can detect conflicts across calendars. It requires a Google Cloud project and OAuth setup.

Similar servers

Source revision f7f379a5971f Data synced 2026-10-19 Read the FMRS scoring method