mcp-calendar
Provides read-only access to the calendars of a Google account via the Google Calendar API. Exposes tools to list the account's calendars (id, name, time zone), fetch an agenda of upcoming events merged across all calendars, retrieve events within a date range, and search events by free text, returning titles, start/end times, all-day flags, calendar, and location.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-calendarwhat's on my calendar tomorrow?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-calendar
An MCP server with read-only access to the calendars of a Google account, using the Google Calendar API.
Setup
Create a Google Cloud project and OAuth client once. The pages below are under Google Auth Platform in the Google Cloud console.
Create a project and enable the Google Calendar API.
Branding: fill in the fields below. Do not upload a logo; a logo forces Google's verification review.
Field
Value
App name
anything, e.g.
mcp-calendarUser support email, developer contact
your email
Homepage
https://github.com/jermatic1/mcp-calendarPrivacy policy
https://github.com/jermatic1/mcp-calendar/blob/main/PRIVACY.mdAuthorized domain
github.comAudience: choose External, the only option outside a Google Workspace. Click Publish app and confirm so the status reads In production. In Testing, Google expires the sign-in after 7 days. The dialog mentions verification; skip it. Verification is not required for your own use and only removes the warning in step 6.
Data Access: add the scope
https://www.googleapis.com/auth/calendar.readonly.Clients: create an OAuth client with application type Desktop app. Copy
.env.exampleto.envand fill inCALENDAR_CLIENT_IDandCALENDAR_CLIENT_SECRETfrom it.Sign in once:
task authorizeOpen the printed URL in any browser and choose the Google account. On the "Google hasn't verified this app" page click Advanced, then Go to (unsafe), then allow read-only calendar access. The browser then fails to load a
localhostpage; copy that page's full URL and paste it into the terminal. Add the printedCALENDAR_REFRESH_TOKENline to.env.
Every calendar the account can see is available, including ones shared with it later.
Related MCP server: Google Calendar MCP Server
Run
task setup
task serveThe server listens at http://localhost:8000/mcp.
Docker
docker compose up -dTo sign in from the container instead of a local checkout, run docker compose run --rm calendar task authorize with the client ID and secret already in .env.
Tools
Times are in the configured TZ. Events are merged across all calendars, soonest first, each with title, start, end, all_day, calendar, and location when set. All-day events give start and end as inclusive dates.
calendars(): the account's calendars with id, name, and time zone.agenda(days=1): events from the start of today through the next 1 to 31 days.events(start, end): events between two ISO 8601 dates or datetimes, up to 92 days. A date-only end includes that whole day.search(query, days_back=30, days_ahead=90): events matching free text, each window up to 366 days.
Development
task check # tests, lint, formattingLicense
This server cannot be deployed
Maintenance
Related MCP Connectors
Calendar API for AI agents: events, availability, Google/Microsoft setup, scheduling, and iCal.
GDPR-compliant calendar access for AI assistants: read, create, edit, RSVP. Google, MS 365, Apple.
Permissioned access to Gmail, Drive and Calendar via the user's own Google account
Schedule and manage Google Calendar events directly from your workspace. Check availability, view…
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables interaction with Google Calendar through the Google Calendar API. Supports listing calendars, creating/deleting events, and retrieving calendar events with OAuth2 authentication.-
- FlicenseNot gradedqualityDmaintenanceEnables interaction with Google Calendar through OAuth2 authentication, supporting calendar and event management including creating, updating, deleting events with attendees, reminders, and search functionality.1-
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage Google Calendar events, including reading, searching, creating, updating, and deleting events, as well as checking availability and listing calendars.25 npmMIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to interact with Google Calendar through natural language, supporting listing, creating, and searching events across accessible calendars.185 npmMIT