Google Calendar

This project implements a Python-based MCP (Model Context Protocol) server that acts as an interface between Large Language Models (LLMs) and the Google Calendar API. It enables LLMs to perform calendar operations via natural language requests.
  • python

24

GitHub Stars

python

Language

6 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "deciduus-calendar-mcp": {
      "command": "python",
      "args": [
        "C:/path/to/your/calendar-mcp/run_server.py"
      ],
      "env": {
        "CALENDAR_SCOPES": "https://www.googleapis.com/auth/calendar",
        "TOKEN_FILE_PATH": ".gcp-saved-tokens.json",
        "GOOGLE_CLIENT_ID": "YOUR_GOOGLE_CLIENT_ID_HERE",
        "OAUTH_CALLBACK_PORT": "8080",
        "GOOGLE_CLIENT_SECRET": "YOUR_GOOGLE_CLIENT_SECRET_HERE"
      }
    }
  }
}

You set up a Python-based MCP server that acts as a bridge between language models and Google Calendar. It authenticates with Google using OAuth 2.0, exposes calendar actions via a FastAPI REST API, and enables you to control calendars and events through an MCP-compatible interface in your client.

How to use

To use this server with an MCP client, you run the local stdio-based MCP bridge that launches the server and exposes calendar actions to your client. The client will communicate with the server through the MCP SDK bridge, and you can perform actions such as listing calendars, creating events, updating events, and scheduling with attendee analysis.

How to install

Prerequisites you need before installation:

  • Python 3.8+ installed
  • Git installed
  • Access to a Google Cloud Platform project

Step-by-step setup and installation commands you will run in order:

# 1) Clone the project
git clone <repository-url> # Replace with your repo URL
dcd <repository-directory>

# 2) Install Python dependencies
pip install -r requirements.txt

Additional content

Configuration, security, and usage notes are included here to help you set up, run, and test the calendar MCP server safely and effectively. The server uses an OAuth 2.0 Desktop App flow to obtain and refresh access tokens and stores tokens locally for subsequent runs.

Environment and credentials you will configure in your project root:

# Google OAuth 2.0 Client Credentials (from Google Cloud Console - Desktop app type)
GOOGLE_CLIENT_ID='YOUR_GOOGLE_CLIENT_ID_HERE'
GOOGLE_CLIENT_SECRET='YOUR_GOOGLE_CLIENT_SECRET_HERE'

# Path to the file where the user's OAuth tokens will be stored after first auth
TOKEN_FILE_PATH='.gcp-saved-tokens.json'

# Port for the local webserver during the OAuth callback (must match Google Cloud redirect URI)
OAUTH_CALLBACK_PORT=8080

# Google Calendar API Scopes (read/write is default)
CALENDAR_SCOPES='https://www.googleapis.com/auth/calendar'

Troubleshooting and tips

If you encounter issues during authentication or token storage, verify that the redirect URI matches the one configured in Google Cloud Console and that the token file path is writable by the running process.

Notes on security and maintenance

Your Google Client ID, Client Secret, and the token file are kept on your side and are not exposed to MCP clients. You should keep the tokens secure and avoid committing them to version control.

Available tools

mcp_google_calendar_list_calendars

List all calendars accessible by the authenticated user.

mcp_google_calendar_create_calendar

Create a new Google Calendar with specified summary and settings.

mcp_google_calendar_find_events

Find events using basic and advanced filtering criteria like time range and attendees.

mcp_google_calendar_create_event

Create a detailed event with fields such as title, time, location, description, and attendees.

mcp_google_calendar_quick_add_event

Add an event from natural-language text quickly.

mcp_google_calendar_update_event

Update event fields like time, title, location, or attendees.

mcp_google_calendar_delete_event

Delete a specified event.

mcp_google_calendar_add_attendee

Add attendees to an existing event.

mcp_google_calendar_check_attendee_status

Check how attendees have responded to an event invitation.

mcp_google_calendar_query_free_busy

Query free/busy information across multiple calendars.

mcp_google_calendar_schedule_mutual

Find mutual free slots and schedule meetings automatically.

mcp_google_calendar_analyze_busyness

Analyze daily event counts and durations to understand calendar busyness.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational