Google Calendar MCP Server

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Enables interaction with Google Calendar, allowing users to create events, list upcoming events, and analyze their schedule. Provides access to calendar event data including titles, times, descriptions, and attendees.

  • Leverages Google Cloud authentication and APIs to access Google Calendar data, requiring a Google Cloud Project with Calendar API enabled and OAuth 2.0 Client credentials.

Google Calendar MCP Server

Interact with your Google Calendar through Claude Desktop using the Model Context Protocol (MCP).

This is a TypeScript-based MCP server that implements Google Calendar integration. It demonstrates core MCP concepts while providing:

  • Calendar event management through MCP URIs
  • Tools for creating and modifying events
  • Prompts for generating calendar insights

Features

Resources

  • Access calendar events via MCP URIs
  • Each event has title, time, description, and attendees
  • Structured event data with proper mime types

Tools

  • create_event - Create new calendar events
    • Takes title, time, and other event details as parameters
    • Directly interfaces with Google Calendar API
  • list_events - View upcoming calendar events
  • [Add other tools you've implemented]

Prompts

  • analyze_schedule - Generate insights about your calendar
    • Includes upcoming events as embedded resources
    • Returns structured prompt for LLM analysis
  • [Add other prompts you've implemented]

Prerequisites

  • Node.js (v14 or higher)
  • A Google Cloud Project with Calendar API enabled
  • OAuth 2.0 Client credentials

Development

Install devbox by following instructions at devbox.sh

curl -fsSL https://get.jetpack.io/devbox | bash

Initialize devbox in the project directory:

devbox init

Start the devbox shell:

devbox shell

Install dependencies:

npm install

Build the server:

npm run build

For development with auto-rebuild:

npm run watch

Installation

To use with Claude Desktop, add the server config:

On MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json On Windows: %APPDATA%/Claude/claude_desktop_config.json

{ "mcpServers": { "Google Calendar": { "command": "/path/to/Google Calendar/build/index.js" } } }

First-Time Setup

  1. Set up Google Cloud credentials:
    • Go to Google Cloud Console
    • Create a new project or select an existing one
    • Enable the Google Calendar API
    • Create OAuth 2.0 credentials (Desktop application type)
    • Download the client secret JSON file
    • Rename it to .client_secret.json and place it in the project root
  2. Initial Authentication:
    • When first running the server, it will provide an authentication URL
    • Visit the URL in your browser
    • Grant the requested permissions
    • Copy the provided authorization code
    • Paste the code back into the CLI prompt

Debugging

Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the MCP Inspector, which is available as a package script:

npm run inspector

The Inspector will provide a URL to access debugging tools in your browser.

-
security - not tested
F
license - not found
-
quality - not tested

Allows interaction with Google Calendar through Claude Desktop using the Model Context Protocol, enabling calendar event management and schedule analysis.

  1. Features
    1. Resources
    2. Tools
    3. Prompts
  2. Prerequisites
    1. Development
      1. Installation
        1. First-Time Setup
          1. Debugging