Google Calendar
Interact with Google Calendar APIs to manage events and calendars.
ποΈ 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
Server Terkait
esa.io
An MCP server for the esa.io API, allowing you to search, read, create, update, and delete posts.
salary-Web
An AI-powered payroll management tool for enterprises, integrated with DingTalk.
Jira
Interact with Jira to manage issues, projects, and workflows using the Jira Cloud Platform REST API.
mcp-server-toggl
Team-wide Toggl Track time tracking, reporting, and workspace management via Reports API v3
ClickUp
Integrate ClickUp with AI applications to manage tasks, spaces, lists, and folders.
Little Irons
Manage your job search directly. List jobs, create applications, add events, run company research, generate templates, and more.
Pomera AI Commander
Turn messy text into clean output fastβGUI for humans, MCP tools for AI IDEs (Cursor/Claude). 33 deterministic text utilities.
Agentify
A multi-client AI agent monitoring and control system with automatic task completion detection.
AtlaCP
An MCP interface for Atlassian products, including Jira and Bitbucket.
TimeMCP
A server for time and timezone conversion tools.