It reads a calendar with a key rather than an OAuth flow, which makes setup short and means the calendar must be shared or public. For a team calendar, a room schedule or a published events feed that is exactly right. For your own private calendar it will not work, and the README says OAuth is future work rather than a flag you can turn on. Recurring events and descriptions are also listed as not yet handled.
A small MCP server that connects to the Google Calendar API and returns the events on a date you name. It is built for the editor case — asking what today looks like without leaving Cursor — and validates its input with zod so a malformed date fails cleanly rather than silently.
- The calendar events for a specific date, read live from Google Calendar
- Schema validation on the input via zod, so a bad date is rejected rather than turned into an empty result
- Credentials kept in environment variables rather than in the source, with a documented `.mcp` config block for wiring it into a client
- A deliberately small surface — one calendar, read-only, no event creation
A Google Calendar API key in `GOOGLE_API_KEY` and the calendar's ID or email in `CALENDAR_ID`, with the Google Calendar API enabled in your Google Cloud Console. Because it authenticates with an API key rather than OAuth, the calendar has to be public or shared appropriately — a private personal calendar will not be readable this way. There is no published package: clone, `npm install`, create the `.env`, and point your client at `server.js`. The README lists OAuth2 for multiple users, recurring events and event descriptions as future work, so treat those as absent today.
Build from source — clone the repository and build it, then point your client at the binary
