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.
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.
- 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
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.
One command plus a key — npx mcp-remote https://mcp-google-calendar.avikm744.workers.dev/sse, then supply credentials
