Google Calendar MCP Server
Provides tools for searching, listing, creating, updating, and deleting events, as well as generating daily agendas, weekly summaries, and checking free/busy availability.
Integrates with Home Assistant through REST API and SSE endpoints, allowing for the creation of calendar sensors and the display of event information within a smart home dashboard.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Google Calendar MCP ServerWhat's on my schedule for today?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Google Calendar MCP Server
A Model Context Protocol (MCP) server for Google Calendar integration, designed for personal calendar management with Home Assistant support.
Features
MCP Tools: Search events, list upcoming events, create/update/delete events
Daily Agenda: Get formatted daily agenda summaries
Calendar Categories: Organize calendars by type (work, personal, family, etc.)
REST API: Endpoints for Home Assistant integration
SSE Transport: Connect from Claude Desktop via mcp-remote
Docker Support: Easy deployment with Docker Compose
Related MCP server: Google Calendar MCP Server
Quick Start
1. Google Cloud Setup
Go to Google Cloud Console
Create a new project or select existing
Enable the Google Calendar API
Create OAuth 2.0 credentials (Desktop App type)
Download the credentials
2. Configuration
# Copy example environment file
cp .env.example .env
# Edit with your credentials
# GOOGLE_CLIENT_ID=your-client-id
# GOOGLE_CLIENT_SECRET=your-client-secret3. Initial OAuth Setup
# Run OAuth setup (opens browser for consent)
docker compose --profile setup run --rm calendar-auth4. Start the Server
docker compose up -d5. Claude Desktop Configuration
Add to your claude_desktop_config.json:
{
"mcpServers": {
"calendar": {
"command": "npx",
"args": ["-y", "mcp-remote", "http://YOUR_SERVER_IP:8002/mcp/sse", "--allow-http"]
}
}
}Home Assistant MCP Integration
The server exposes SSE endpoints for MCP connections:
/mcp/sse- Primary MCP SSE endpoint/sse- Alias endpoint for Home Assistant compatibility
Each connection gets a fresh server instance for proper session isolation.
MCP Tools
Tool | Description |
| Get current date/time with reference dates for queries |
| List upcoming events with optional filters |
| Search events by text query |
| Get details of a specific event |
| Create a new calendar event |
| Update an existing event |
| Delete an event |
| Get agenda for a specific day |
| Get 7-day overview |
| List all available calendars |
| Check availability for a time range |
Tool Schema Notes
All tools use Gemini-compatible schemas with explicit types:
Array parameters use comma-separated strings (e.g.,
attendees: "user1@example.com,user2@example.com")Calendar IDs use comma-separated strings (e.g.,
calendar_ids: "primary,work@group.calendar.google.com")Dates use ISO 8601 format (
YYYY-MM-DDorYYYY-MM-DDTHH:MM:SS)
REST API Endpoints
Endpoint | Description |
| Health check with auth status |
| List all calendars |
| Today's events |
| Upcoming events |
| Search events |
| Daily summary |
| Weekly summary |
| Find free time slots |
Home Assistant Integration
REST Sensor Example
sensor:
- platform: rest
name: "Next Calendar Event"
resource: http://YOUR_SERVER_IP:8002/events/upcoming?days=1
value_template: "{{ value_json[0].summary if value_json else 'No events' }}"
scan_interval: 300
- platform: rest
name: "Today's Events Count"
resource: http://YOUR_SERVER_IP:8002/events/today
value_template: "{{ value_json | length }}"
scan_interval: 300MCP Integration
Home Assistant can connect via the MCP SSE endpoints:
http://YOUR_SERVER_IP:8002/mcp/ssehttp://YOUR_SERVER_IP:8002/sse(alias)
Project Structure
mcp_google_calendar/
├── src/mcp_google_calendar/
│ ├── __init__.py
│ ├── auth.py # OAuth2 authentication
│ ├── calendar_client.py # Google Calendar API wrapper
│ ├── config.py # Settings and configuration
│ ├── models.py # Pydantic models
│ ├── server.py # MCP stdio server
│ ├── sse_server.py # MCP SSE server
│ ├── combined_server.py # REST + SSE combined server
│ └── api.py # REST API for Home Assistant
├── config/
│ └── calendars.yaml # Calendar categorization
├── credentials/
│ ├── client_secrets.json # OAuth credentials
│ └── token.json # Stored tokens
├── docker-compose.yml
├── Dockerfile
└── README.mdLicense
MIT
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Flicense-qualityDmaintenanceAllows interaction with Google Calendar through Claude Desktop using the Model Context Protocol, enabling calendar event management and schedule analysis.Last updated2
- Alicense-qualityDmaintenanceA Model Context Protocol server that integrates Google Calendar with Claude Desktop, enabling users to manage calendar events (view, create, update, delete) through natural language.Last updated13459MIT
- Alicense-qualityFmaintenanceIntegrates Google Calendar with AI assistants through the Model Context Protocol, allowing users to view and manage calendar events through natural language interaction.Last updated15512MIT
- Flicense-qualityDmaintenanceEnables 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.Last updated2
Related MCP Connectors
Calendar API for AI agents: events, availability, Google/Microsoft setup, scheduling, and iCal.
Hosted Google Calendar MCP server for AI agents. No self-hosting or Google Cloud setup.
Connects ChatGPT to your Apple Calendar via a local Mac agent + Vercel relay
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/murphy360/mcp_google_calendar'
If you have feedback or need assistance with the MCP directory API, please join our Discord server