Google Calendar MCP Server logo

Google Calendar MCP Server

by KhryptorGraphics

This MCP server integrates with Google Calendar, enabling Claude to interact with calendar events. It provides a standardized interface for viewing, creating, and managing events.

View on GitHub

Last updated: N/A

Google Calendar MCP Server

This MCP server provides integration with Google Calendar, allowing Claude to view, create, and manage calendar events through a standardized interface.

Features

  • List available calendars
  • List events from a calendar
  • Create new calendar events
  • Update existing events
  • Delete events

Prerequisites

  • Node.js 16 or higher
  • A Google Cloud project with the Calendar API enabled
  • OAuth 2.0 credentials (Client ID and Client Secret)

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
  4. Create OAuth 2.0 credentials:
    • Go to Credentials
    • Click "Create Credentials" > "OAuth client ID"
    • Choose "Desktop app" as the application type
    • Give it a name (e.g., "Google Calendar MCP")
    • Download the credentials JSON file
    • Rename the downloaded file to gcp-oauth.keys.json and place it in the root directory of this project

Installation

  1. Install dependencies:

    npm install
    
  2. Build the TypeScript code:

    npm run build
    
  3. Update the Claude MCP settings file to include this server:

    • Add the following to cline_mcp_settings.json:
    "github.com/pashpashpash/google-calendar-mcp": {
      "command": "node",
      "args": ["C:/Users/ralph/Documents/Cline/MCP/google-calendar-mcp/build/index.js"],
      "env": {},
      "disabled": false,
      "autoApprove": []
    }
    

Authentication Process

The first time you use the Google Calendar MCP server, it will:

  1. Detect that you don't have authentication tokens
  2. Start an authentication server (on ports 3000-3004)
  3. Open a browser window for OAuth authentication
  4. Save the authentication tokens securely
  5. Shut down the authentication server and continue normal operation

Your authentication tokens will be stored in .gcp-saved-tokens.json and will refresh automatically.

Available Tools

| Tool | Description | |------|-------------| | list-calendars | List all available calendars | | list-events | List events from a specific calendar | | create-event | Create a new calendar event | | update-event | Update an existing calendar event | | delete-event | Delete a calendar event |

Examples

Listing Calendars

list-calendars

Listing Events

list-events
calendarId: "primary"
timeMin: "2023-01-01T00:00:00Z"
timeMax: "2023-12-31T23:59:59Z"
maxResults: 10

Creating an Event

create-event
calendarId: "primary"
summary: "Team Meeting"
location: "Conference Room B"
description: "Weekly team sync meeting"
startDateTime: "2023-06-15T10:00:00"
endDateTime: "2023-06-15T11:00:00"
timeZone: "America/New_York"
attendees: ["[email protected]", "[email protected]"]

Updating an Event

update-event
calendarId: "primary"
eventId: "event_id_from_list_events"
summary: "Updated Meeting Title"
startDateTime: "2023-06-15T11:00:00"
endDateTime: "2023-06-15T12:00:00"

Deleting an Event

delete-event
calendarId: "primary"
eventId: "event_id_from_list_events"

Troubleshooting

  • OAuth token expires after 7 days: You must re-authenticate if the app is in testing mode.
  • Authentication errors: Ensure gcp-oauth.keys.json is correctly formatted and placed in the project root.
  • Port conflicts: The authentication server tries ports 3000-3004; ensure at least one is available.