# Google Calendar — MCP server on mcp.ai > Google Calendar em linguagem natural: liste, crie, atualize e remova eventos, cheque disponibilidade e convide participantes. A plataforma fornece a aplicação OAuth, você só clica em Conectar e escolhe sua conta Google. Várias contas podem ser conectadas no mesmo MCP. By: mcp.ai · official Page: https://mcp.ai/googlecalendar ## Connect (MCP protocol) Remote MCP endpoint (HTTP, streamable): https://api.mcp.ai/p_googlecalendar?ms=1781045700000 Add it as a custom/remote MCP connector, then authenticate when prompted. ## REST API (no MCP client required) Every tool is also a REST endpoint, authed with a workspace API key. Discover: GET https://api.mcp.ai/api/googlecalendar/_endpoints # public; lists every endpoint Call: POST https://api.mcp.ai/api/googlecalendar/ Authorization: Bearer sk_live_… # create one at https://mcp.ai/settings/api-keys Content-Type: application/json Body: { …args } → { "ok": true, "tool": "", "result": { … } } ## Developer docs How to use (MCP or REST), markdown: https://mcp.ai/googlecalendar/skill.md Postman collection (v2.1): https://mcp.ai/googlecalendar/postman.json ## Tools - googlecalendar_calendar_list_insert(id: string, hidden?: boolean, color_id?: string, selected?: boolean, background_color?: string, color_rgb_format?: boolean, foreground_color?: string, summary_override?: string, default_reminders?: object[], notification_settings?: object) — Inserts an existing calendar into the user's calendar list. - googlecalendar_calendar_list_update(hidden?: boolean, colorId?: string, selected?: boolean, calendar_id: string, colorRgbFormat?: boolean, backgroundColor?: string, foregroundColor?: string, summaryOverride?: string, defaultReminders?: object[], notificationSettings?: object) — Updates an existing entry on the user\'s calendar list. - googlecalendar_calendars_delete(calendar_id: string) — Deletes a secondary calendar. use calendars.clear for clearing all events on primary calendars. - googlecalendar_calendars_update(summary: string, location?: string, timeZone?: string, calendarId: string, description?: string) — Updates metadata for a calendar. - googlecalendar_clear_calendar(calendar_id: string) — Clears a primary calendar. this operation deletes all events associated with the primary calendar of an account. - googlecalendar_create_event(summary?: string, location?: string, timezone?: string, attendees?: string[], eventType?: string, recurrence?: string[], visibility?: string, calendar_id?: string, description?: string, send_updates?: boolean, transparency?: string, start_datetime: string, exclude_organizer?: boolean, guests_can_modify?: boolean, create_meeting_room?: boolean, event_duration_hour?: integer, guestsCanInviteOthers?: boolean, event_duration_minutes?: integer, guestsCanSeeOtherGuests?: boolean) — Creates an event on a google calendar, needing rfc3339 utc start/end times (end after start) and write access to the calendar. by default, adds the organizer as an attendee unless exclude organizer is - googlecalendar_delete_event(event_id: string, calendar_id?: string) — Deletes a specified event by `event id` from a google calendar (`calendar id`); this action is idempotent and raises a 404 error if the event is not found. - googlecalendar_duplicate_calendar(summary?: string) — Creates a new, empty google calendar with the specified title (summary). - googlecalendar_events_instances(eventId: string, timeMax?: string, timeMin?: string, timeZone?: string, pageToken?: string, calendarId: string, maxResults?: integer, showDeleted?: boolean, maxAttendees?: integer, originalStart?: string) — Returns instances of the specified recurring event. - googlecalendar_events_list(q?: string, iCalUID?: string, orderBy?: string, timeMax?: string, timeMin?: string, timeZone?: string, pageToken?: string, syncToken?: string, calendarId: string, eventTypes?: string, maxResults?: integer, updatedMin?: string, showDeleted?: boolean, maxAttendees?: integer, singleEvents?: boolean, alwaysIncludeEmail?: boolean, showHiddenInvitations?: boolean, sharedExtendedProperty?: string, privateExtendedProperty?: string) — Returns events on the specified calendar. - googlecalendar_events_move(event_id: string, calendar_id: string, destination: string, send_updates?: string) — Moves an event to another calendar, i.e., changes an event's organizer. - googlecalendar_events_watch(id: string, type?: string, token?: string, params?: object, address: string, payload?: boolean, calendarId: string) — Watch for changes to events resources. - googlecalendar_find_event(query?: string, timeMax?: string, timeMin?: string, order_by?: string, page_token?: string, calendar_id?: string, event_types?: string[], max_results?: integer, updated_min?: string, show_deleted?: boolean, single_events?: boolean) — Finds events in a specified google calendar using text query, time ranges (event start/end, last modification), and event types; ensure `timemin` is not chronologically after `timemax` if both are pro - googlecalendar_find_free_slots(items?: string[], time_max?: string, time_min?: string, timezone?: string, group_expansion_max?: integer, calendar_expansion_max?: integer) — Finds free/busy time slots in google calendars for specified calendars within a defined time range (defaults to the current day utc if `time min`/`time max` are omitted), enhancing busy intervals with - googlecalendar_free_busy_query(items: object[], timeMax: string, timeMin: string, timeZone?: string, groupExpansionMax?: integer, calendarExpansionMax?: integer) — Returns free/busy information for a set of calendars. - googlecalendar_get_calendar(calendar_id?: string) — Retrieves a specific google calendar, identified by `calendar id`, to which the authenticated user has access. - googlecalendar_get_current_date_time(timezone?: number) — Gets the current date and time, allowing for a specific timezone offset. - googlecalendar_list_acl_rules(page_token?: string, sync_token?: string, calendar_id: string, max_results?: integer, show_deleted?: boolean) — Retrieves the list of access control rules (acls) for a specified calendar, providing the necessary 'rule id' values required for updating specific acl rules. - googlecalendar_list_calendars(page_token?: string, sync_token?: string, max_results?: integer, show_hidden?: boolean, show_deleted?: boolean, min_access_role?: string) — Retrieves calendars from the user's google calendar list, with options for pagination and filtering. - googlecalendar_patch_calendar(summary: string, location?: string, timezone?: string, calendar_id: string, description?: string) — Partially updates (patches) an existing google calendar, modifying only the fields provided; `summary` is mandatory and cannot be an empty string, and an empty string for `description` or `location` c - googlecalendar_patch_event(summary?: string, end_time?: string, event_id: string, location?: string, timezone?: string, attendees?: string[], start_time?: string, calendar_id: string, description?: string, send_updates?: string, max_attendees?: integer, rsvp_response?: string, supports_attachments?: boolean, conference_data_version?: integer) — Updates specified fields of an existing event in a google calendar using patch semantics (array fields like `attendees` are fully replaced if provided); ensure the `calendar id` and `event id` are val - googlecalendar_quick_add(text?: string, calendar_id?: string, send_updates?: string) — Parses natural language text to quickly create a basic google calendar event with its title, date, and time, suitable for simple scheduling; does not support direct attendee addition or recurring even - googlecalendar_remove_attendee(event_id: string, calendar_id?: string, attendee_email: string) — Removes an attendee from a specified event in a google calendar; the calendar and event must exist. - googlecalendar_settings_list(pageToken?: string, syncToken?: string, maxResults?: integer) — Returns all user settings for the authenticated user. - googlecalendar_settings_watch(id: string, type: string, token?: string, params?: object, address: string) — Watch for changes to settings resources. - googlecalendar_sync_events(pageToken?: string, sync_token?: string, calendar_id?: string, event_types?: string[], max_results?: integer, single_events?: boolean) — Synchronizes google calendar events, performing a full sync if no `sync token` is provided or if a 410 gone error (due to an expired token) necessitates it, otherwise performs an incremental sync for - googlecalendar_update_acl_rule(role: string, rule_id: string, calendar_id: string, send_notifications?: boolean) — Updates an access control rule for the specified calendar. - googlecalendar_update_event(summary?: string, event_id: string, location?: string, timezone?: string, attendees?: string[], eventType?: string, recurrence?: string[], visibility?: string, calendar_id?: string, description?: string, send_updates?: boolean, transparency?: string, start_datetime: string, guests_can_modify?: boolean, create_meeting_room?: boolean, event_duration_hour?: integer, guestsCanInviteOthers?: boolean, event_duration_minutes?: integer, guestsCanSeeOtherGuests?: boolean) — Updates an existing event by `event id` in a google calendar; this is a full put replacement, so provide all desired fields as unspecified ones may be cleared or reset. ## Example prompts - "O que tenho na agenda amanhã?" - "Crie uma reunião 'Review' quinta às 15h por 1h e convide joao@ex.com" - "Acho um horário livre de 30min na próxima semana à tarde" ## Links Docs: https://mcp.ai/docs/mcps/googlecalendar Website: https://mcp.ai/mcps/googlecalendar