google-calendar-mcp  by nspady

MCP server for Google Calendar integration with LLMs

created 7 months ago
500 stars

Top 63.0% on sourcepulse

GitHubView on GitHub
Project Summary

This project provides a Model Context Protocol (MCP) server for integrating with Google Calendar, enabling Large Language Models (LLMs) to manage events. It targets developers and users who want to automate calendar interactions, offering advanced capabilities like event creation from images and complex scheduling coordination.

How It Works

The server leverages Node.js and TypeScript to implement the MCP standard, acting as an intermediary between LLMs and the Google Calendar API. It handles OAuth 2.0 authentication for secure access to user calendar data. The architecture supports dynamic, multi-step processes, allowing LLMs to interpret natural language requests for event creation, modification, and searching, including extracting details from image inputs.

Quick Start & Requirements

  • Install dependencies: npm install
  • Prerequisites: Node.js (LTS recommended), TypeScript 5.3+, Google Cloud project with Calendar API enabled, OAuth 2.0 credentials.
  • Setup: Clone repo, place gcp-oauth.keys.json in root, run npm start.
  • Authentication: Requires Google OAuth 2.0 setup and token management via npm run auth or server restart.
  • Docs: Google Cloud Console, Claude Desktop Config

Highlighted Details

  • Supports event creation from screenshots/images (PNG, JPEG, GIF).
  • Enables advanced calendar analysis and auto-event coordination.
  • Integrates with Claude Desktop via configuration.
  • Uses Vitest for unit and integration testing.

Maintenance & Community

The project is maintained by nspady. No specific community channels or roadmap links are provided in the README.

Licensing & Compatibility

  • License: MIT
  • Compatibility: Permissive for commercial use and closed-source linking.

Limitations & Caveats

Refresh tokens expire weekly in Google Cloud's testing mode, requiring re-authentication. Production deployment requires Google verification for longer-lived tokens. Authentication relies on local ports 3000-3004, which must be available.

Health Check
Last commit

1 week ago

Responsiveness

Inactive

Pull Requests (30d)
3
Issues (30d)
3
Star History
303 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.