scheduling
Google Calendar
Connect Google Calendar to Elaichi and hand every teammate a governed MCP endpoint — 36 tools ready to call from Claude, Cursor, or any MCP client, clamped by roles, restrictions, and an audit log.
AI tools
Google Calendar tools for your AI agents
36 tools are ready to mint as an MCP endpoint the moment you connect Google Calendar — governed by the same roles, restrictions, and audit log as everything else in Elaichi.
list_all_googlecalendar_userinfo
Retrieves basic profile information about the authenticated user in Google Calendar. The response includes essential details such as the user's unique identifier (sub), full name (name), first name (given_name), last name (family_name), profile picture URL (picture), and email address (email).
list_all_googlecalendar_calendar_lists
Returns the calendars on the user's calendar list. You can filter the results using optional query parameters such as minAccessRole to restrict results by access level, showDeleted to include deleted calendars, and showHidden to include hidden ones.
get_single_googlecalendar_calendar_list_by_id
Retrieves detailed information about a specific calendar from the user's calendar list. It always requires the ID to fetch.
create_a_googlecalendar_calendar_list
Insert an existing calendar into the user's calendar list in Google Calendar. Requires calendar id in the request body. Returns the inserted calendar list entry including summary and color details.
update_a_googlecalendar_calendar_list_by_id
Update an existing calendar on the user's calendar list in Google Calendar using id. Returns the updated calendar resource including etag for versioning.
delete_a_googlecalendar_calendar_list_by_id
Delete a calendar from the user's calendar list in Google Calendar. Requires calendarId as id. Returns an empty response body on success.
get_single_googlecalendar_calendar_by_id
Get metadata for a calendar by id in Google Calendar. Returns fields such as summary, description, timeZone, and location.
create_a_googlecalendar_calendar
Create a secondary calendar with summary in Google Calendar. Returns the created calendar's id and other calendar details.
update_a_googlecalendar_calendar_by_id
Update metadata for a calendar using id in Google Calendar. Returns updated calendar fields including etag for versioning.
delete_a_googlecalendar_calendar_by_id
Delete a secondary calendar by id in Google Calendar. Returns an empty response body on success. Use calendars.clear for clearing events on primary calendars.
googlecalendar_calendars_clear
Clear all events from the primary calendar in Google Calendar. WARNING: this permanently deletes every event on the calendar and cannot be undone — unlike a single event delete, cleared events are not recoverable from Trash. Per Google's API, this only works when calendar_id is the special value 'primary' (the authenticated user's own primary calendar); calling it with any other calendar ID returns an error. Only call this with explicit user confirmation.
list_all_googlecalendar_events
Returns events on the specified calendar. Use the required query parameter calendarId to specify which calendar to retrieve events from. This endpoint supports a variety of optional query parameters to filter and customize the list of returned events. You can filter by event type using eventTypes (e.g., birthday, focusTime, outOfOffice), or search for a specific event using iCalUID. Use maxAttendees to limit the number of attendees returned per event, and orderBy to sort results by startTime or updated. The privateExtendedProperty and sharedExtendedProperty parameters allow filtering events by custom key-value metadata. The q parameter performs a free text search across several fields: summary, description, location, attendee's displayName, attendee's email, organizer's displayName, organizer's email, workingLocationProperties.officeLocation.buildingId, deskId, label, and workingLocationProperties.customLocation.label. You can include deleted events using showDeleted, hidden invitations with showHiddenInvitations, or expand recurring events into single instances using singleEvents. Use timeMin and timeMax to set the date range, timeZone to define the time zone used in responses, and updatedMin to return only events updated since a specific time.
create_a_googlecalendar_event
Create an event in Google Calendar using calendar_id and event details including start and end times. Returns event id, summary, location, description, start, end, attendees, recurrence, and reminders.
update_a_googlecalendar_event_by_id
Update an event in the specified calendar. This operation always requires the ID to identify which event to update. Additionally, the calendarId is required to specify which calendar the event belongs to.
googlecalendar_events_quick_add
Create an event in Google Calendar using calendar_id and text describing the event. Returns the created event resource including id, summary, start, and end times.
googlecalendar_events_move
Move an event identified by id from calendar_id to a destination calendar in Google Calendar. Only default events can be moved. Returns the updated event resource including the updated timestamp.
delete_a_googlecalendar_event_by_id
Delete a single event on the specified calendar. The calendarId parameter is required to specify which calendar the event belongs to, and an ID is always required to perform the deletion. You can also use the optional sendUpdates parameter to control who receives a notification about the event being deleted.
googlecalendar_events_import
Import an event to a calendar in Google Calendar using calendar_id and an Events resource with required start, end, and iCalUID fields. Returns the imported event with its id and details.
googlecalendar_events_watch
Watch for changes to Events in Google Calendar for calendar_id. Returns channel id, resourceId, resourceUri, token, and expiration timestamp.
list_all_googlecalendar_event_instances
Get instances of a recurring event by calendar_id and id in Google Calendar. Returns event details including summary, start and end times, and status for each instance.
list_all_googlecalendar_free_busy
Retrieves free/busy availability information for a list of specified calendars or groups within a defined time range. You must provide timeMin and timeMax parameters to set the start and end of the interval in RFC3339 format, and items, which is a list of calendar or group IDs to query. Optionally, you can specify a timeZone to format the response (defaults to UTC), set a groupExpansionMax to limit the number of calendar identifiers returned for a group (maximum 100), and define a calendarExpansionMax to restrict how many individual calendars are included in the response (maximum 50).
list_all_googlecalendar_search_contacts
Provides a list of contacts from the authenticated user's grouped contacts that match the given search query. The required query parameter performs a prefix match on fields such as names, nickNames, emailAddresses, phoneNumbers, and organizations. The readMask parameter is also required and specifies which fields to return for each contact, using a comma-separated list in FieldMask format (e.g., names, emailAddresses, phoneNumbers, etc.). The optional sources query parameter can be used to control which source types to return.
get_single_googlecalendar_search_contact_by_id
Get information about a specific contact by id in Google Calendar. Requires personFields parameter specifying which fields to return such as names, emailAddresses, phoneNumbers, and organizations.
delete_a_googlecalendar_search_contact_by_id
Delete a contact person by id in Google Calendar. The response is empty if successful. Non-contact data will not be deleted. Mutate requests must be sent sequentially to avoid latency and failures.
list_all_googlecalendar_other_contacts
Returns a list of contacts from the authenticated user's other contacts that match the search query. The "query" parameter is required and performs a prefix match against the contact's names, emailAddresses, and phoneNumbers fields. The "readMask" parameter is also required and specifies which fields to return for each contact, such as names, emailAddresses, phoneNumbers, or metadata, using a comma-separated list in FieldMask format.
list_all_googlecalendar_acl
Get the access control list rules for the calendar with calendar_id in Google Calendar. Returns items with ACL rules including kind, etag, and tokens for pagination or synchronization.
get_single_googlecalendar_acl_by_id
Get an access control rule for a calendar in Google Calendar using calendar_id and id. Returns fields id and role representing the rule identifier and its access role.
delete_a_googlecalendar_acl_by_id
Delete an access control rule for a calendar in Google Calendar. Requires calendar_id and id. Returns an empty response body on success.
update_a_googlecalendar_acl_by_id
Update an access control rule for a calendar in Google Calendar using calendar_id and id. Returns the updated ACL resource including scope and role.
create_a_googlecalendar_acl
Create an access control rule for a calendar in Google Calendar using calendar_id. Returns the created ACL rule including role and scope details.
googlecalendar_acl_watch
Watch for changes to ACL resources for calendar identified by calendar_id in Google Calendar. Returns channel id, resourceId, resourceUri, token, and expiration timestamp.
googlecalendar_channels_stop
Stop watching resources through a channel in Google Calendar. Returns an empty response on success.
list_all_googlecalendar_colors
Get color definitions for calendars and events in Google Calendar. Returns calendar and event color IDs with their background and foreground color codes.
list_all_googlecalendar_settings
Get all user settings for the authenticated user in Google Calendar. Returns settings including id and value fields. Supports maxResults, pageToken, and syncToken for pagination and incremental sync.
get_single_googlecalendar_setting_by_id
Get a single user setting by id in Google Calendar. Returns the setting's id and value.
googlecalendar_settings_watch
Watch for changes to Settings resources in Google Calendar. Requires a request body with id, type, and address to create a notification channel. Returns channel id, resourceId, resourceUri, token, and expiration timestamp.
How it works
From Google Calendar account to governed MCP endpoint
Connect
Link a Google Calendar account through Elaichi's hosted connect flow. Credentials are vaulted — nobody, including the AI, ever sees them.
Compose
The connection becomes a toolbox instantly. Curate which Google Calendar tools are exposed, rename them, or freeze arguments.
Mint
Mint a personal MCP endpoint on that toolbox and paste it into Claude, Cursor, or any MCP client — governed by roles, restrictions, and audit logs.
Give every teammate a governed MCP server
Start a 14-day Gold trial — connect a product, curate a toolbox, and paste an endpoint into Claude or Cursor in minutes.