Google Calendar
Integrates with Google Calendar to manage events and generate calendar insights.
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
-
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.jsonand place it in the project root
-
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.
Related Servers
Kone.vc
sponsorMonetize your AI agent with contextual product recommendations
DeepSRT
Summarize YouTube videos using the DeepSRT API.
ffl-mcp
Give AI a "send file" capability via P2P (Local-first)
Actual Budget
Integrate Actual Budget with LLM assistants to manage your personal finances.
Breezing
Breezing MCP server providing access to the Breezing API: read and update transactions, wallets, assets, and balances across 40+ blockchains and 15+ exchanges. Categorize transactions by mapping contra accounts from the chart of accounts, manage balance sheet mappings, and prepare data for syncing to Xero or QuickBooks.
Obsidian
Interact with your Obsidian vault from your IDE or Claude Desktop.
Omi Memories
Provides access to a specific user's memories from the Omi app.
MCP Sound Tool
A sound tool for MCP-compatible IDEs like Cursor. Plays sounds for events like completion, error, and notification.
Markdown to PDF
Convert Markdown files to high-quality, print-ready PDFs using LaTeX.
Trello MCP Server
Uses a Trello board as a knowledge base to store and retrieve code snippets, notes, and other information.
VisiData MCP Server
Interact with VisiData, a terminal spreadsheet multitool for discovering and arranging tabular data in various formats like CSV, JSON, and Excel.