Mitigate AI Platform

Google Calendar

How to configure the Google Calendar MCP connector

The Google Calendar connector allows the chatbot to read and manage calendar events through Google Calendar API using the google_workspace_mcp server.

Connector Settings

FieldValue
Integration TypeMCP
NameGoogle Calendar
URLhttps://google-workspace-calendar.mcp.mitigate.dev/mcp
Transport TypeStreamable HTTP
Authentication TypeOAuth 2.1
OAuth Client ID(from Google Cloud Console)
OAuth Client Secret(from Google Cloud Console)
OAuth Scopesopenid https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/calendar

This MCP server does not support Dynamic Client Registration (RFC 7591). You must provide OAuth Client ID and Client Secret from a Google Cloud Console OAuth 2.0 Web application client.

OAuth Scopes

See all available scopes in the Google OAuth 2.0 Scopes documentation.

ScopeDescription
openidEnables OpenID Connect sign-in
https://www.googleapis.com/auth/userinfo.emailAccess to the user's email address
https://www.googleapis.com/auth/calendar.readonlySee and download calendars
https://www.googleapis.com/auth/calendar.events.readonlyView events on all calendars
https://www.googleapis.com/auth/calendar.eventsView and edit events on all calendars
https://www.googleapis.com/auth/calendar.events.ownedSee, create, change, and delete events on calendars you own
https://www.googleapis.com/auth/calendarFull access — see, edit, share, and delete all calendars

Usage Examples

Once connected, users can interact with Google Calendar through natural language:

  • "What meetings do I have today?"
  • "Show my calendar for next week"
  • "When is my next meeting with the product team?"

Tools

List Calendars

list_calendars

Retrieves a list of calendars accessible to the authenticated user.

Get Events

get_events

Retrieves events from a specified Google Calendar. Can retrieve a single event by ID or multiple events within a time range. You can also search for events by keyword by supplying the optional query param.

Parameters:

  • calendar_id - The ID of the calendar to query. Use primary for the user's primary calendar. Defaults to primary
  • event_id - The ID of a specific event to retrieve. If provided, retrieves only this event and ignores time filtering parameters
  • time_min - The start of the time range (inclusive) in RFC3339 format (e.g., 2024-05-12T10:00:00Z or 2024-05-12). If omitted, defaults to the current time
  • time_max - The end of the time range (exclusive) in RFC3339 format. If omitted, events starting from time_min onwards are considered (up to max_results)
  • max_results - The maximum number of events to return. Defaults to 25
  • query - A keyword to search for within event fields (summary, description, location)
  • detailed - Whether to return detailed event information including description, location, attendees, and attendee details. Defaults to false
  • include_attachments - Whether to include attachment information in detailed event output. Only applies when detailed is true. Defaults to false

Create Event

create_event

Creates a new event.

Parameters:

  • summary - Event title
  • start_time - Start time in RFC3339 format (e.g., 2023-10-27T10:00:00-07:00 or 2023-10-27 for all-day)
  • end_time - End time in RFC3339 format (e.g., 2023-10-27T11:00:00-07:00 or 2023-10-28 for all-day)
  • calendar_id - Calendar ID. Defaults to primary
  • description - Event description
  • location - Event location
  • attendees - Attendee email addresses
  • timezone - Timezone (e.g., America/New_York)
  • attachments - List of Google Drive file URLs or IDs to attach to the event
  • add_google_meet - Whether to add a Google Meet video conference. Defaults to false
  • reminders - List of reminder objects with method (popup or email) and minutes (0–40320). Max 5 reminders
  • use_default_reminders - Whether to use calendar's default reminders. Defaults to true
  • transparency - Event transparency for busy/free status. opaque shows as Busy (default), transparent shows as Available/Free
  • visibility - Event visibility: default, public, private, or confidential
  • guests_can_modify - Whether attendees other than the organizer can modify the event
  • guests_can_invite_others - Whether attendees can invite others
  • guests_can_see_other_guests - Whether attendees can see who the event's attendees are

Modify Event

modify_event

Modifies an existing event.

Parameters:

  • event_id - The ID of the event to modify
  • calendar_id - Calendar ID. Defaults to primary
  • summary - New event title
  • start_time - New start time in RFC3339 format
  • end_time - New end time in RFC3339 format
  • description - New event description
  • location - New event location
  • attendees - Attendees as email strings or objects with metadata
  • timezone - New timezone (e.g., America/New_York)
  • add_google_meet - Whether to add or remove Google Meet. True adds, false removes, null leaves unchanged
  • reminders - List of reminder objects to replace existing reminders
  • use_default_reminders - Whether to use calendar's default reminders
  • transparency - Event transparency: opaque (Busy) or transparent (Available/Free)
  • visibility - Event visibility: default, public, private, or confidential
  • color_id - Event color ID (1–11)
  • guests_can_modify - Whether attendees other than the organizer can modify the event
  • guests_can_invite_others - Whether attendees can invite others
  • guests_can_see_other_guests - Whether attendees can see who the event's attendees are

Delete Event

delete_event

Deletes an existing event.

Parameters:

  • event_id - The ID of the event to delete
  • calendar_id - Calendar ID. Defaults to primary

Query Freebusy

query_freebusy

Returns free/busy information for a set of calendars.

Parameters:

  • time_min - The start of the interval in RFC3339 format (e.g., 2024-05-12T10:00:00Z or 2024-05-12)
  • time_max - The end of the interval in RFC3339 format
  • calendar_ids - List of calendar identifiers to query. If not provided, queries the primary calendar
  • group_expansion_max - Maximum number of calendar identifiers for a single group. Maximum value is 100
  • calendar_expansion_max - Maximum number of calendars for which FreeBusy information is to be provided. Maximum value is 50

Manage Event

manage_event

Unified tool to create, update, delete, or RSVP to a calendar event.

Parameters:

  • action - Action to perform: create, update, delete, or rsvp
  • calendar_id - Calendar ID. Defaults to primary
  • event_id - Event ID. Required for update and delete
  • summary - Event title (required for create)
  • start_time - Start time in RFC3339 format (required for create)
  • end_time - End time in RFC3339 format (required for create)
  • description - Event description
  • location - Event location
  • timezone - Timezone (e.g., America/New_York)
  • attendees - Attendee email addresses or objects
  • attachments - List of Google Drive file URLs or IDs to attach
  • recurrence - RFC5545 recurrence rules (e.g., ["RRULE:FREQ=WEEKLY;COUNT=10"])
  • reminders - Custom reminder objects
  • use_default_reminders - Whether to use calendar's default reminders
  • add_google_meet - Whether to add or remove a Google Meet conference
  • transparency - opaque (busy) or transparent (free)
  • visibility - default, public, private, or confidential
  • color_id - Event color ID (1–11, update only)
  • guests_can_modify - Whether attendees can modify the event
  • guests_can_invite_others - Whether attendees can invite others
  • guests_can_see_other_guests - Whether attendees can see other guests
  • response - RSVP response: accepted, declined, tentative, or needsAction (rsvp only)
  • rsvp_comment - Optional message to include with the RSVP response
  • send_updates - Notification behavior: all (default), externalOnly, or none

Manage Out Of Office

manage_out_of_office

Manages Out of Office events on Google Calendar. These events auto-decline meeting invitations and set the user's status to "Out of office" across Google Workspace.

Parameters:

  • action - Action to perform: create, list, update, or delete
  • calendar_id - Calendar ID. Defaults to primary. Out of Office events live on primary calendars
  • event_id - Event ID (required for update and delete)
  • summary - Display text on the calendar. Defaults to Out of Office
  • start_time - Start date/time. Use YYYY-MM-DD for full-day or RFC3339 for partial-day (required for create)
  • end_time - End date/time (exclusive). Same format as start_time (required for create)
  • timezone - Timezone (e.g., America/New_York). Required for date-only values or dateTime values without an explicit UTC offset
  • recurrence - RFC5545 recurrence rules for a recurring series
  • decline_message - Message included when auto-declining invitations
  • auto_decline_mode - How to handle conflicting invitations: declineAllConflictingInvitations (default), declineOnlyNewConflictingInvitations, or declineNone
  • time_min - For list: start of time range. Defaults to current time
  • time_max - For list: end of time range
  • max_results - For list: maximum events to return. Defaults to 10

Manage Focus Time

manage_focus_time

Manages Focus Time events on Google Calendar. These events auto-decline meeting invitations and, by default, set the user's chat status to Do Not Disturb.

Parameters:

  • action - Action to perform: create, list, update, or delete
  • calendar_id - Calendar ID. Defaults to primary. Focus Time events live on primary calendars
  • event_id - Event ID (required for update and delete)
  • summary - Display text on the calendar. Defaults to Focus Time
  • description - Event description. Useful for adding context about what the focus time is for
  • start_time - Start date/time. Use YYYY-MM-DD for full-day or RFC3339 for partial-day (required for create)
  • end_time - End date/time (exclusive). Same format as start_time (required for create)
  • timezone - Timezone (e.g., America/New_York). Required for date-only values or dateTime values without an explicit UTC offset
  • recurrence - RFC5545 recurrence rules for a recurring series
  • chat_status - Google Chat status during focus time: doNotDisturb (default) or available
  • decline_message - Message included when auto-declining invitations
  • auto_decline_mode - How to handle conflicting invitations: declineAllConflictingInvitations (default), declineOnlyNewConflictingInvitations, or declineNone
  • time_min - For list: start of time range. Defaults to current time
  • time_max - For list: end of time range
  • max_results - For list: maximum events to return. Defaults to 10

Create Calendar

create_calendar

Creates a new secondary Google Calendar.

Parameters:

  • summary - The title/name of the new calendar
  • timezone - IANA timezone for the calendar (e.g., America/New_York)
  • description - An optional description for the calendar

On this page