calendar-mcp — Claude Code MCP server
Connects an AI client to Google Calendar for event management, availability checks, focus blocks, and shared meeting slots.
claude mcp add --env GOOGLE_CLIENT_ID=<GOOGLE_CLIENT_ID> --env GOOGLE_CLIENT_SECRET=<GOOGLE_CLIENT_SECRET> --env TOKEN_FILE_PATH=<TOKEN_FILE_PATH> --transport stdio calendar-mcp -- uvx calendar-mcp-serverWhat calendar-mcp does
calendar-mcp gives an MCP client read and write access to Google Calendar. It can search calendars and events, create or edit meetings, move them, send RSVP responses, check busy periods, and book a time when several calendars are free.
The server also handles focus-time searches, workload analysis, double-booking checks across accounts, and meeting-time suggestions. Sign-in uses Google OAuth 2.0 with a Desktop app client; tokens stay in local storage and refresh automatically. You need a Google OAuth Client ID and Secret. HTTP transport has no authentication layer, so exposing its endpoint publicly grants calendar access to anyone who can reach it.
What it helps with
- search Google Calendar events
- create and reschedule meetings
- check availability across calendars
- book a shared free time
- find blocks for focused work
Example prompts for the agent
- Find my open time in Google Calendar tomorrow.
- Find a time when everyone is free and book the meeting.
- Find six hours for focused work and show the proposed blocks before creating events.
How to install calendar-mcp
Platform CLI
claude mcp add --env GOOGLE_CLIENT_ID=<GOOGLE_CLIENT_ID> --env GOOGLE_CLIENT_SECRET=<GOOGLE_CLIENT_SECRET> --env TOKEN_FILE_PATH=<TOKEN_FILE_PATH> --transport stdio calendar-mcp -- uvx calendar-mcp-serverReplace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from calendar-mcp-server <command>
Platform CLI
codex mcp add calendar-mcp --env GOOGLE_CLIENT_ID=<GOOGLE_CLIENT_ID> --env GOOGLE_CLIENT_SECRET=<GOOGLE_CLIENT_SECRET> --env TOKEN_FILE_PATH=<TOKEN_FILE_PATH> -- uvx calendar-mcp-serverReplace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from calendar-mcp-server <command>
Config file
{
"mcpServers": {
"calendar-mcp": {
"command": "uvx",
"args": [
"calendar-mcp-server"
],
"env": {
"GOOGLE_CLIENT_ID": "<GOOGLE_CLIENT_ID>",
"GOOGLE_CLIENT_SECRET": "<GOOGLE_CLIENT_SECRET>",
"TOKEN_FILE_PATH": "<TOKEN_FILE_PATH>"
}
}
}
}Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from calendar-mcp-server <command>
Config file
{
"servers": {
"calendar-mcp": {
"type": "stdio",
"command": "uvx",
"args": [
"calendar-mcp-server"
],
"env": {
"GOOGLE_CLIENT_ID": "<GOOGLE_CLIENT_ID>",
"GOOGLE_CLIENT_SECRET": "<GOOGLE_CLIENT_SECRET>",
"TOKEN_FILE_PATH": "<TOKEN_FILE_PATH>"
}
}
}
}Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from calendar-mcp-server <command>
Platform CLI
gemini mcp add -e GOOGLE_CLIENT_ID=<GOOGLE_CLIENT_ID> -e GOOGLE_CLIENT_SECRET=<GOOGLE_CLIENT_SECRET> -e TOKEN_FILE_PATH=<TOKEN_FILE_PATH> calendar-mcp uvx calendar-mcp-serverReplace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from calendar-mcp-server <command>
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about calendar-mcp
How do I install calendar-mcp in Claude Code?
Set your Google OAuth Client ID and Secret, then run claude mcp add calendar-mcp -e GOOGLE_CLIENT_ID=<GOOGLE_CLIENT_ID> -e GOOGLE_CLIENT_SECRET=<GOOGLE_CLIENT_SECRET> -- uvx calendar-mcp-server. To choose the token file and stdio transport explicitly, run `claude mcp add --env GOOGLE_CLIENT_ID=<GOOGLE_CLIENT_ID> --env GOOGLE_CLIENT_SECRET=<GOOGLE_CLIENT_SECRET> --env TOKEN_FILE_PATH=<TOKEN_FILE_PATH> --transport stdio calendar-mcp -- uvx calendar-mcp-server`.
What does calendar-mcp do?
It lets an AI client read and change Google Calendar data, including event search, creation, updates, moves, deletion, availability checks, and shared scheduling.
What is required for calendar-mcp to work?
You need a Google OAuth Client ID for a Desktop app and its Secret, with the Google Calendar API enabled. HTTP mode has no built-in authentication, so its endpoint should not be exposed publicly.