It covers the operations that matter — read a range, create, update, delete, and the genuinely useful `find_free_time` for scheduling around what is already booked. The cost is the Google OAuth setup: a Cloud project, Desktop-app credentials, consented scopes, and a refresh token you generate with the bundled script. That is a one-time chore, but it is the real work before anything runs.
An MCP server that lets an AI assistant work with your Google Calendar: reading events over a time range, creating and changing meetings, deleting them, and finding open slots. It talks to the Google Calendar API using OAuth 2.0 credentials and a refresh token.
- Events listed within a time range — `list_events`
- A new event created — `create_event`
- An existing event updated — `update_event`
- An event deleted — `delete_event`
- Open slots found in the calendar — `find_free_time`
A Google Cloud project with the Calendar API enabled and OAuth 2.0 Desktop-app credentials, plus a refresh token — the README ships a `getToken.js` script that runs the consent flow once to produce it. `GOOGLE_CLIENT_ID`, `GOOGLE_CLIENT_SECRET`, `GOOGLE_REDIRECT_URI` and `GOOGLE_REFRESH_TOKEN` go in the client's env block. Node.js v16 or higher; install is a clone plus `npm install` and `npm run build`, launched as `build/index.js` with node. The package.json names it `googlecalendar` at 1.0.0. The consent screen needs the `calendar` and `calendar.events` scopes and your email added as a test user.
