Google Calendar MCP Server
Enables natural language interaction with Google Calendar via the Model Context Protocol, allowing LLMs like Claude to read and manage calendar events through the Google Calendar v3 API.
README
šļø Google Calendar MCP Server
This project integrates the Google Calendar v3 APIs with a custom MCP (Model Context Protocol) Server, enabling natural language interaction with your calendar via tools like Claude Desktop.
It acts as a bridge between your calendar data and an LLM using MCP-compatible HTTP streaming.
š§ Overview
This project contains two core servers:
1. š Google OAuth Server
- Handles OAuth 2.0 flow
- Stores and refreshes access tokens in a local session file
2. š¤ MCP Server
- Implements the Model Context Protocol (MCP)
- Exposes an HTTP streaming interface
- Uses saved credentials to interact with Google Calendar API v3
š Getting Started
Step 1: š§ Set Up Google API Credentials
- Go to the Google Cloud Console
- Create or select a project
- Enable the Google Calendar API
- Go to Credentials ā Create OAuth 2.0 Client ID
- Choose Desktop App
- Set branding and add test user emails in audience
- Download the OAuth credentials as
client_secret.json - Place this file in the root directory of the project
Step 2: š¦ Install Dependencies
poetry install
Step 3: šŖ Start the OAuth Server
poetry run uvicorn src.main:app --host 0.0.0.0 --port 8000
- This should automatically open a browser for OAuth authentication.
- If not, visit http://0.0.0.0:8000/google_oauth/
- Upon successful authentication, you'll see a success page.
- A
session.jsonfile will be created with your access/refresh tokens.

Step 4: š§© Run the MCP Server
poetry run python src/server.py
This launches a streamable MCP-compatible HTTP server at
http://localhost:8080/mcp
Step 5: š§ Connect MCP Client (Claude Desktop)
Update the config file at:
~/Library/Application Support/Claude/claude_desktop_config.json
Add the following entry:
{
"mcpServers": {
"google-calendar-mcp": {
"command": "npx",
"args": [
"mcp-remote",
"http://localhost:8080/mcp"
]
}
}
}
Step 6: ā Verify Integration
- Open Claude Desktop settings.
- If the MCP server was added correctly, it will appear under Settings -> integrations

š§ Demo
https://github.com/user-attachments/assets/27a8e5ee-8f2f-40c7-bdfc-1caa93767efb
š§± Project Structure
project-root/
āāā client_secret.json # Google OAuth credentials
āāā session.json # Access/refresh token storage
āāā pyproject.toml # Poetry project config
āāā README.md
āāā src/
āāā main.py # FastAPI app for OAuth server
āāā server.py # MCP-compatible server
āāā settings.py # App settings and constants
āāā api/
ā āāā oauth_callback.py # OAuth endpoint logic
āāā core/
ā āāā calendar_client.py # Google Calendar API wrapper
ā āāā mcp_tools.py # Tools exposed to MCP clients
ā āāā oauth_manager.py # OAuth initiation and flow
ā āāā session_manager.py # Token handling
āāā gcalendar_types/ # Typed definitions for Calendar v3 API
š§© Dependencies
- FastAPI
- Uvicorn
- Google Auth Libraries
- Poetry for dependency management
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.