Labsco
MCP SERVER

Google Calendar Integration Project

by Avik-creator

Create, read, update and delete Google Calendar events from an assistant, including recurring events and attendees.

Calendars, Meetings & Scheduling
Summary
Your own Google credentials, your own calendar, nothing in between.

Because you create the OAuth client yourself, nobody else's project sits between the assistant and your calendar — the trade is that you do the Cloud Console setup once. The one-time browser authorization writes a token file that carries the access from then on, which is the file to protect. A hosted endpoint is documented as an alternative if the setup is not worth it to you.

What it is

A Python MCP server over the Google Calendar API, authenticated with OAuth 2.0 credentials you create in your own Google Cloud project. It can be run locally against your own credentials, or reached through a deployed Cloudflare Worker endpoint if you would rather not set up a project.

What you get
  • Calendar events created, read, updated and deleted
  • Recurring events set up rather than repeated by hand
  • Event attendees managed on an event
  • Event notifications and reminders handled
Requirements

A Google Cloud project with the Google Calendar API enabled and OAuth 2.0 credentials of the Desktop Application type; the downloaded JSON goes in the project root as `credentials.json`, and two environment variables point at it: `GOOGLE_APPLICATION_CREDENTIALS` and `CALENDAR_ID`. Python 3.8 or higher, then `pip install -r requirements.txt`. The first run is interactive — `python auth.py` opens a browser for you to authorize the app, and the resulting `token.json` is what lets the server reach your calendar afterwards, so treat it like a password and keep it out of version control. A deployed configuration is also documented, connecting through `mcp-remote` to a hosted endpoint instead. Smithery can install it for Claude Desktop in one command. MIT licensed.

Setup effort

One command plus a key — npx mcp-remote https://mcp-google-calendar.avikm744.workers.dev/sse, then supply credentials