MCP server enabling AI agents to manage Google Calendar events via OAuth2 authentication and natural language commands.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent โ or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag โ we're steadily working through the catalog.
๐ก Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Google Calendar MCP.
eventEvent details object containing:
startStart time object with:
endEnd time object (same format as start)
๐ VERSION UPDATE NOTICE ๐
Version 2.0.0 moves to MCP protocol revision2026-07-28and implements PKCE on the OAuth flow. It requires Node.js 20 or newer. See the version history below for the full list of changes.
Google Calendar MCP Server is an MCP (Model Context Protocol) server implementation that enables integration between Google Calendar and Claude Desktop. This project enables Claude to interact with the user's Google Calendar, providing the ability to display, create, update, and delete calendar events through natural language interaction.
This project uses:
@modelcontextprotocol/server v2 (protocol revision 2026-07-28, with the 2025 revisions still served for older clients)googleapis for Google Calendar API accessThis MCP server provides the following tools for interacting with Google Calendar:
Retrieves calendar events with various filtering options.
Parameters:
calendarId (optional): Calendar ID (uses primary calendar if omitted, empty string, null, or undefined)timeMin (optional): Start time for event retrieval (ISO 8601 format, e.g., "2025-03-01T00:00:00Z"). Empty strings, null, or undefined values are ignoredtimeMax (optional): End time for event retrieval (ISO 8601 format). Empty strings, null, or undefined values are ignoredmaxResults (optional): Maximum number of events to retrieve (default: 10)orderBy (optional): Sort order ("startTime" or "updated"). Defaults to "startTime" if empty string, null, or undefinedCreates a new calendar event.
Parameters:
calendarId (optional): Calendar ID (uses primary calendar if omitted)event: Event details object containing:
summary (required): Event titledescription (optional): Event descriptionlocation (optional): Event locationstart: Start time object with:
dateTime (optional): ISO 8601 format (e.g., "2025-03-15T09:00:00+09:00")date (optional): YYYY-MM-DD format for all-day eventstimeZone (optional): Time zone (e.g., "Asia/Tokyo")end: End time object (same format as start)attendees (optional): Array of attendees with email and optional displayNamecolorId (optional): Event color ID (1-11)recurrence (optional): Array of recurrence rules in RFC5545 format (e.g., ["RRULE:FREQ=WEEKLY;BYDAY=MO,WE,FR"])Updates an existing calendar event. The function fetches the existing event data first and merges it with the update data, preserving fields that are not included in the update request.
Parameters:
calendarId (optional): Calendar ID (uses primary calendar if omitted)eventId (required): ID of the event to updateevent: Event details object containing fields to update (same structure as createEvent, all fields optional)
recurrence parameter can be updated to modify recurring event patternsDeletes a calendar event.
Parameters:
calendarId (optional): Calendar ID (uses primary calendar if omitted)eventId (required): ID of the event to deleteRe-authenticates with Google Calendar. This is useful when you want to switch between different Google accounts without having to restart Claude.
Parameters:
When adding new functions, modifying code, or fixing bugs, please semantically increase the version for each change using npm version command.
Also, please make sure that your coding is clear and follows all the necessary coding rules, such as OOP.
The version script will automatically run npm install when the version is updated, but you should still build, run lint, and test your code before submitting it.
This package is published on npm as @takumi0706/google-calendar-mcp:
Add the server to your claude_desktop_config.json. If you're running in an environment where localhost is not accessible, add the USE_MANUAL_AUTH environment variable set to "true".
code_verifier generated per request
and never sent to the authorization endpointHost headerFor more details, see SECURITY.md.
If you encounter any issues:
Factual signals from GitHub, npm, and our automated checks โ not a rating.
No reviews yet โ be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/takumi0706-google-calendar-mcp)<a href="https://allmcps.com/mcp/takumi0706-google-calendar-mcp"><img src="https://allmcps.com/api/badge/takumi0706-google-calendar-mcp?style=directory" alt="Google Calendar MCP on AllMCPs" /></a>