Persistent token storage is the part that matters day to day, because you complete the Google consent flow once instead of on every session. The setup runs through the Google Cloud console first, enabling the API, configuring the consent screen and creating desktop credentials, before the first call works.
A TypeScript server for Google Calendar with OAuth and persistent token storage, covering calendars and the full event lifecycle.
- Every calendar the account can see (list_calendars)
- Events between two dates you name (list_calendar_events)
- One event in full (get_calendar_event)
- New events created, existing ones edited, and events deleted (create_calendar_event, edit_calendar_event, delete_calendar_event)
- Tokens stored after the first authorisation, so later sessions start already authenticated
- A Server-Sent Events transport as an alternative, selected with a launch flag
Node.js v16 or higher and a Google Cloud project with the Google Calendar API enabled, an OAuth consent screen carrying the calendar.events scope, and desktop-app OAuth credentials. The downloaded credentials.json is pointed at with CREDENTIALS_PATH.
One command plus a key — npx -y mcp-google-calendar, then supply credentials
