mcp-google-calendar
Provides tools for managing Google calendars and events, including listing calendars, creating/updating/deleting events with recurrence and attendees, managing calendar ACLs, watching for changes, and listing event changes.
Enables creating events with Google Meet video conferencing links.
Click on "Deploy 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., "@mcp-google-calendarlist my events 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.
mcp-google-calendar
A minimal MCP server for Google Calendar using OAuth 2.0 and the Google Calendar API.
Tools
connect_calendar()andcalendar_health()list_calendars()list_events(...)andget_event(...)create_event(...), with recurrence, attendees, and optional Google Meetupdate_event(...)anddelete_event(...)list_calendar_acl(...)andshare_calendar(...)watch_calendar_events(...)list_event_changes(...)
create_event, update_event, delete_event, share_calendar, and
watch_calendar_events have external side effects. MCP clients should request
explicit confirmation before calling them.
Related MCP server: GoogleCalendarMCP
Setup
Enable the Google Calendar API in Google Cloud Console.
Create an OAuth client with application type Desktop app.
Download the OAuth file as
credentials.jsoninto this directory.Install dependencies and start the server:
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt
python server.pyAuthorization is a two-step tool call, so it works the same whether this server runs on your laptop or on a machine with no browser at all:
Call
google_auth_start. It returns an authorization URL.Approve access in a browser — any browser, on any device.
Call
google_auth_completewith the URL you land on.
On a desktop, steps 2 and 3 usually happen by themselves: the browser is opened
for you and the redirect is caught on http://localhost:8765 (set
GOOGLE_OAUTH_PORT to change it).
On a headless server, or when you approve on a phone, that redirect cannot be
reached and the browser shows a connection error. That is expected — the
authorization code is in the address bar. Copy the whole URL
(http://localhost:8765/?code=...) and pass it to google_auth_complete, which
also accepts the bare code value.
Both credentials.json and token.json are ignored by Git.
Optional .env configuration:
GOOGLE_CREDENTIALS=credentials.json
GOOGLE_TOKEN=token.json
GOOGLE_CALENDAR_TIMEZONE=Asia/JakartaMCP Client
{
"mcpServers": {
"google-calendar": {
"command": "python",
"args": [
"C:/Users/your-user/Documents/GitHub/mcp-google-calendar/server.py"
]
}
}
}This server cannot be deployed
Maintenance
Related MCP Connectors
A MCP server that works with Google Calendar to manage event listing, reading, and updates.
Hosted Google Calendar MCP server for AI agents. No self-hosting or Google Cloud setup.
Streamable HTTP MCP server for Google Calendar and Sheets with OAuth login.
MCP server for Cronofy — read calendars, events and free/busy, and create, update or delete events.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA Google Calendar MCP server that provides comprehensive tools for managing calendars, events, and settings using OAuth2 authentication via the Dedalus framework. It enables users to perform operations such as event scheduling, searching, and free/busy queries through natural language interfaces.MIT
- FlicenseDqualityDmaintenanceMCP server for interacting with Google Calendar, enabling reading events from public calendars and, with OAuth, creating, updating, and deleting events.1-
- AlicenseNot gradedqualityDmaintenanceA Google Calendar MCP server that enables listing, creating, updating, and deleting calendar events and calendars through natural language.7 npmISC
- AlicenseNot gradedqualityCmaintenanceA production-ready MCP server that lets AI assistants interact with your personal Google Calendar using the Google Calendar API and OAuth 2.0.65 npmMIT