Integrate Google Calendar MCP server into your Slack workspace for instant access to your AI agent.
Tools that your AI agent can use through this MCP server to interact with Google Calendar
Update all instances of a recurring event following a specific instance. This creates a new recurring event starting from the selected instance. See the documentation
Update an event from Google Calendar. See the documentation
Update a specific instance of a recurring event. Changes apply only to the selected instance. See the documentation
Create a quick event to the Google Calendar. See the documentation
List or search the events on a Google Calendar. Use this for "what's on my calendar", "what's my schedule/agenda", "what's coming up", "am I busy/free", or any question about the events in a date range: set timeMin/timeMax for the window, q to search event text, and singleEvents to true to expand recurring events into individual occurrences. Response size matters here: by default every field of every matching event is returned, which runs 2-10 KB per event (long descriptions, full attendee lists, HTML links), so one busy week can exceed 100 KB and overflow an AI agent's context window. Request only what the question needs — fields: "compact" (equivalently fields: "summary,start,end") answers a schedule question in a fraction of the bytes, and maxAttendees: 1 drops guest lists when the question is not about who is attending. See the documentation
Delete a single event from a Google Calendar. Deletes only the one event identified by eventId — it does NOT clear a whole day or delete multiple events. When the user asks to delete several events, clear a day, or the target is ambiguous, first confirm with the user (ideally listing what will be deleted) before calling this, and call it once per event. See the documentation
Create a new event on a Google Calendar — a single or recurring appointment at a specific date/time (optionally with attendees, location, and description). Use this whenever the user wants to add something to their calendar. This creates calendar EVENTS only: it cannot configure calendar settings, working hours, availability, or default preferences, and it cannot create a new calendar. Do not represent any of those requests as an event — creating an event named after the request does not fulfill it. See the documentation
Add one or more attendees (invitees) to an event that ALREADY EXISTS on a Google Calendar, without recreating it. New attendees are merged into the event's current attendee list — existing attendees are preserved, not replaced. Use this when the user wants to invite additional people to an event they already have; identify the target event with eventId first (e.g. via list-events or get-event). When creating a brand-new event, set its attendees directly in create-event instead of calling this afterward. See the documentation
Accept, decline, or tentatively accept a Google Calendar event invitation on behalf of the authenticated user. Use this when you need to RSVP to an event. You can identify the event by its exact eventId or by eventName (searches upcoming events by title). If both are provided, eventId takes precedence. The calendarId defaults to primary (the user's main calendar). See the documentation
Retrieve free/busy calendar details from Google Calendar. See the documentation
Retrieve instances of a recurring event. See the documentation
Retrieves available options for the Color ID field.
Retrieve a list of calendars from Google Calendar. See the documentation
Retrieve event details from Google Calendar. See the documentation
Get current date and time for use in Google Calendar actions. Useful for agents that need datetime awareness and timezone context before calling other Google Calendar tools.
Retrieve information about the authenticated Google Calendar account, including the primary calendar (summary, timezone, ACL flags), a list of accessible calendars, user-level settings (timezone, locale, week start), and the color palette that controls events and calendars. Ideal for confirming which calendar account is in use, customizing downstream scheduling, or equipping LLMs with the user’s context (timezones, available calendars) prior to creating or updating events. See the documentation.
Retrieve calendar details of a Google Calendar. See the documentation