Skip to main content
Glama

Google Calendar MCP

Google Calendar MCP Server

A Model Context Protocol (MCP) server that provides Google Calendar integration for AI assistants like Claude.

Features

  • Multi-Calendar Support: List events from multiple calendars simultaneously
  • Event Management: Create, update, delete, and search calendar events
  • Recurring Events: Advanced modification capabilities for recurring events
  • Free/Busy Queries: Check availability across calendars
  • Smart Scheduling: Natural language understanding for dates and times
  • Inteligent Import: Add calendar events from images, PDFs or web links

Quick Start

Prerequisites

  1. A Google Cloud project with the Calendar API enabled
  2. OAuth 2.0 credentials (Desktop app type)

Google Cloud Setup

  1. Go to the Google Cloud Console
  2. Create a new project or select an existing one.
  3. Enable the Google Calendar API for your project. Ensure that the right project is selected from the top bar before enabling the API.
  4. Create OAuth 2.0 credentials:
    • Go to Credentials
    • Click "Create Credentials" > "OAuth client ID"
    • Choose "User data" for the type of data that the app will be accessing
    • Add your app name and contact information
    • Add the following scopes (optional):
      • https://www.googleapis.com/auth/calendar.events and https://www.googleapis.com/auth/calendar
    • Select "Desktop app" as the application type (Important!)
    • Save the auth key, you'll need to add its path to the JSON in the next step
    • Add your email address as a test user under the Audience screen
      • Note: it might take a few minutes for the test user to be added. The OAuth consent will not allow you to proceed until the test user has propagated.
      • Note about test mode: While an app is in test mode the auth tokens will expire after 1 week and need to be refreshed (see Re-authentication section below).

Installation

Option 1: Use with npx (Recommended)

Add to your Claude Desktop configuration:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\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" } } } }

⚠️ Important Note for npx Users: When using npx, you must specify the credentials file path using the GOOGLE_OAUTH_CREDENTIALS environment variable.

Option 2: Local Installation

git clone https://github.com/nspady/google-calendar-mcp.git cd google-calendar-mcp npm install npm run build

Then add to Claude Desktop config using the local path or by specifying the path with the GOOGLE_OAUTH_CREDENTIALS environment variable.

Option 3: Docker Installation

git clone https://github.com/nspady/google-calendar-mcp.git cd google-calendar-mcp cp /path/to/your/gcp-oauth.keys.json . docker compose up

See the Docker deployment guide for detailed configuration options including HTTP transport mode.

First Run

  1. Start Claude Desktop
  2. The server will prompt for authentication on first use
  3. Complete the OAuth flow in your browser
  4. You're ready to use calendar features!

Re-authentication

If you're in test mode (default), tokens expire after 7 days. If you are using a client like Claude Desktop it should open up a browser window to automatically re-auth. However, if you see authentication errors you can also resolve by following these steps:

For npx users:

export GOOGLE_OAUTH_CREDENTIALS="/path/to/your/gcp-oauth.keys.json" npx @cocal/google-calendar-mcp auth

For local installation:

npm run auth

To avoid weekly re-authentication, publish your app to production mode (without verification):

  1. Go to Google Cloud Console → "APIs & Services" → "OAuth consent screen"
  2. Click "PUBLISH APP" and confirm
  3. Your tokens will no longer expire after 7 days but Google will show a more threatning warning when connecting to the app about it being unverified.

See Authentication Guide for details.

Example Usage

Along with the normal capabilities you would expect for a calendar integration you can also do really dynamic, multi-step processes like:

  1. Cross-calendar availability:
    Please provide availability looking at both my personal and work calendar for this upcoming week. I am looking for a good time to meet with someone in London for 1 hr.
  2. Add events from screenshots, images and other data sources:
    Add this event to my calendar based on the attached screenshot.
    Supported image formats: PNG, JPEG, GIF Images can contain event details like date, time, location, and description
  3. Calendar analysis:
    What events do I have coming up this week that aren't part of my usual routine?
  4. Check attendance:
    Which events tomorrow have attendees who have not accepted the invitation?
  5. Auto coordinate events:
    Here's some available that was provided to me by someone. {available times} Take a look at the times provided and let me know which ones are open on my calendar.

Available Tools

ToolDescription
list-calendarsList all available calendars
list-eventsList events with date filtering
search-eventsSearch events by text query
create-eventCreate new calendar events
update-eventUpdate existing events
delete-eventDelete events
get-freebusyCheck availability across calendars, including external calendars
list-colorsList available event colors

Documentation

Configuration

Environment Variables:

  • GOOGLE_OAUTH_CREDENTIALS - Path to OAuth credentials file
  • GOOGLE_CALENDAR_MCP_TOKEN_PATH - Custom token storage location (optional)

Claude Desktop Config Location:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Security

  • OAuth tokens are stored securely in your system's config directory
  • Credentials never leave your local machine
  • All calendar operations require explicit user consent

Troubleshooting

  1. OAuth Credentials File Not Found:
    • For npx users: You must specify the credentials file path using GOOGLE_OAUTH_CREDENTIALS
    • Verify file paths are absolute and accessible
  2. Authentication Errors:
    • Ensure your credentials file contains credentials for a Desktop App type
    • Verify your user email is added as a Test User in the Google Cloud OAuth Consent screen
    • Try deleting saved tokens and re-authenticating
    • Check that no other process is blocking ports 3000-3004
  3. Build Errors:
    • Run npm install && npm run build again
    • Check Node.js version (use LTS)
    • Delete the build/ directory and run npm run build
  4. "Something went wrong" screen during browser authentication
    • Perform manual authentication per the below steps
    • Use a Chromium-based browser to open the authentication URL. Test app authentication may not be supported on some non-Chromium browsers.

Manual Authentication

For re-authentication or troubleshooting:

# For npx installations export GOOGLE_OAUTH_CREDENTIALS="/path/to/your/credentials.json" npx @cocal/google-calendar-mcp auth # For local installations npm run auth

License

MIT

Support

-
security - not tested
A
license - permissive license
-
quality - not tested

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Erstellen, suchen und verwalten Sie alle Ihre Google-Kalenderereignisse mit den Funktionen von MCP.

  1. Beispielverwendung
    1. Anforderungen
      1. Google Cloud-Setup
        1. Installation
          1. Verfügbare Skripte
            1. Authentifizierung
              1. Automatischer Authentifizierungsablauf (beim Serverstart)
              2. Manueller Authentifizierungsablauf
              3. Token-Verwaltung
            2. Testen
              1. Sicherheitshinweise
                1. Verwendung mit Claude Desktop
                  1. Entwicklung
                    1. Fehlerbehebung
                  2. Lizenz

                    Related MCP Servers

                    • -
                      security
                      A
                      license
                      -
                      quality
                      Enables comprehensive calendar management with capabilities to create, list, update, and delete events through a Model Context Protocol server integrated with Google Calendar.
                      Last updated -
                      4
                      2
                      TypeScript
                      MIT License
                    • -
                      security
                      A
                      license
                      -
                      quality
                      Enables interaction with Gmail and Google Calendar using the MCP protocol, supporting multiple Google accounts, email management, and calendar operations through natural language.
                      Last updated -
                      12
                      TypeScript
                      MIT License
                      • Apple
                    • -
                      security
                      F
                      license
                      -
                      quality
                      A Model Completion Prompt (MCP) plugin that allows users to create events in Google Calendar with customizable attributes like times, description, location, attendees, and timezone.
                      Last updated -
                      1
                      Python
                      • Linux
                      • Apple
                    • -
                      security
                      F
                      license
                      -
                      quality
                      Enables programmatic management of Google Calendar events through natural language interactions, supporting creation, reading, updating, and deletion of events with features for recurring events, attendees, and reminders.
                      Last updated -
                      2
                      Python
                      • Linux
                      • Apple

                    View all related MCP servers

                    MCP directory API

                    We provide all the information about MCP servers via our MCP API.

                    curl -X GET 'https://glama.ai/api/mcp/v1/servers/nspady/google-calendar-mcp'

                    If you have feedback or need assistance with the MCP directory API, please join our Discord server