Google Calendar (Workspace MCP) MCP server
The Google Workspace MCP, scoped to Calendar, lets an agent read your calendars, create events, and check availability over OAuth.
This is the Calendar surface of the community Google Workspace MCP server (workspace-mcp), an MIT-licensed project that exposes Gmail, Calendar, Docs, Sheets, Drive and more through one server. Scoped to Calendar with the --tools calendar flag, it gives an agent the scheduling operations that matter: listing the calendars it can access, retrieving events over a time range, creating, updating, and deleting events, querying free/busy windows to find an open slot, creating secondary calendars, and managing Out of Office and Focus Time blocks.
The server runs locally over stdio via uvx and authenticates with Google OAuth 2.0/2.1: on first use it opens the Google consent screen in your browser and caches an encrypted token, so you authorize your own account once. You register a Google Cloud OAuth client and pass its ID and secret as environment variables. Because the same binary backs Drive, Gmail, and the rest of Workspace, you can widen the --tools list later without swapping servers; here it is pinned to Calendar so the agent's tool surface stays focused on scheduling.
Quick install
Copy-paste configs are provided for all 8 supported clients. Pick your client below.
Add to ~/.claude.json
{
"mcpServers": {
"google-calendar": {
"command": "uvx",
"args": [
"workspace-mcp",
"--tools",
"calendar"
],
"env": {
"GOOGLE_OAUTH_CLIENT_ID": "<GOOGLE_OAUTH_CLIENT_ID>",
"GOOGLE_OAUTH_CLIENT_SECRET": "<GOOGLE_OAUTH_CLIENT_SECRET>"
}
}
}
}claude mcp add google-calendar -- uvx workspace-mcp --tools calendarAvailable tools
| Tool | Description |
|---|---|
| list_calendars | Lists the calendars the authenticated user can access. |
| get_events | Retrieves events from a calendar with time-range filtering. |
| manage_event | Creates, updates, or deletes a calendar event. |
| create_calendar | Creates a new secondary Google Calendar. |
| query_freebusy | Queries free/busy information across calendars to find open time. |
| manage_out_of_office | Creates, lists, updates, or deletes Out of Office events. |
| manage_focus_time | Creates, lists, updates, or deletes Focus Time events. |
Required configuration
- GOOGLE_OAUTH_CLIENT_IDRequired
OAuth client ID from your Google Cloud project.
- GOOGLE_OAUTH_CLIENT_SECRETRequired
OAuth client secret for the Google Cloud OAuth client.
What you can do with it
Schedule around your day
An agent checks free/busy windows across your calendars, finds an open slot, and creates the event with the right attendees, all without you opening Calendar.
Brief the day ahead
The agent retrieves the day's events over a time range and summarizes what's coming up, including Out of Office and Focus Time blocks.
FAQ
- Is it free?
- Yes. It is open source under the MIT license and free to run; it works within your existing Google account and its API quotas.
- Does it support remote/OAuth?
- It runs locally over stdio and authenticates with Google OAuth 2.0/2.1 — on first use it opens the Google consent screen and caches an encrypted token, so you authorize your own account.
- Is this a separate server from the Drive one?
- It is the same underlying Workspace MCP binary scoped with --tools. This record pins it to Calendar; the Google Drive record pins the same server to Drive.