MCP Tools Reference: calendarmcp.googleapis.com

Ferramenta: update_event

Atualiza um evento na agenda especificada.

O exemplo a seguir demonstra como usar curl para invocar a ferramenta update_event MCP.

Solicitação curl
curl --location 'https://calendarmcp.googleapis.com/mcp/v1' \
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
  "method": "tools/call",
  "params": {
    "name": "update_event",
    "arguments": {
      // provide these details according to the tool MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

Esquema de entrada

Mensagem de solicitação para UpdateEvent. Os campos não definidos não serão atualizados.

UpdateEventRequest

Representação JSON
{
  "eventId": string,
  "addedAttendeeEmails": [
    string
  ],
  "addedAttendees": [
    {
      object (Attendee)
    }
  ],
  "removedAttendeeEmails": [
    string
  ],
  "overrideReminders": [
    {
      object (Reminder)
    }
  ],
  "addedAttachments": [
    {
      object (Attachment)
    }
  ],
  "removedAttachmentFileUrls": [
    string
  ],

  "calendarId": string

  "summary": string

  "description": string

  "location": string

  "startTime": string

  "endTime": string

  "allDay": boolean

  "timeZone": string

  "notificationLevel": enum (NotificationLevel)

  "addGoogleMeetUrl": boolean

  "visibility": string

  "colorId": string

  "googleMeetUrl": string

  "guestPermissions": {
    object (GuestPermissions)
  }

  "availability": enum (Availability)
}
Campos
eventId

string

Obrigatório. ID do evento.

addedAttendeeEmails[]
(deprecated)

string

Opcional. Descontinuado: use added_attendees.

addedAttendees[]

object (Attendee)

Opcional. Participantes a serem adicionados ao evento.

removedAttendeeEmails[]

string

Opcional. Os participantes do evento a serem removidos, como endereços de e-mail.

overrideReminders[]

object (Reminder)

Opcional. Se definido, substitui todos os lembretes atuais do evento.

addedAttachments[]

object (Attachment)

Opcional. Anexos de arquivo a serem adicionados ao evento.

removedAttachmentFileUrls[]

string

Opcional. Anexos de arquivo a serem removidos do evento.

Campo de união _calendar_id.

_calendar_id pode ser apenas de um dos tipos a seguir:

calendarId

string

Opcional. ID da agenda que contém o evento. Endereço de e-mail: pode ser resolvido usando list_calendars. Padrão: agenda principal.

Campo de união _summary.

_summary pode ser apenas de um dos tipos a seguir:

summary

string

Opcional. Novo título.

Campo de união _description.

_description pode ser apenas de um dos tipos a seguir:

description

string

Opcional. Nova descrição. Pode conter HTML.

Campo de união _location.

_location pode ser apenas de um dos tipos a seguir:

location

string

Opcional. Novo local.

Campo de união _start_time.

_start_time pode ser apenas de um dos tipos a seguir:

startTime

string

Opcional. Novo horário de início (ISO 8601). Preserva a duração se apenas o início for atualizado.

Campo de união _end_time.

_end_time pode ser apenas de um dos tipos a seguir:

endTime

string

Opcional. Novo horário de término (ISO 8601).

Campo de união _all_day.

_all_day pode ser apenas de um dos tipos a seguir:

allDay

boolean

Opcional. Muda o evento para o dia inteiro. Se definido, start_time/end_time também precisa ser fornecido.

Campo de união _time_zone.

_time_zone pode ser apenas de um dos tipos a seguir:

timeZone

string

Opcional. Nome do banco de dados de fuso horário da IANA (por exemplo, America/Los_Angeles). Padrão: o fuso horário principal do usuário. Substitui os deslocamentos em start_time e end_time.

Campo de união _notification_level.

_notification_level pode ser apenas de um dos tipos a seguir:

notificationLevel

enum (NotificationLevel)

Opcional. Notificação por e-mail a ser enviada para esta atualização de evento. Padrão: ALL.

Campo de união _add_google_meet_url.

_add_google_meet_url pode ser apenas de um dos tipos a seguir:

addGoogleMeetUrl

boolean

Opcional. Se for "true", cria ou atualiza um URL do Google Meet para o evento. Será ignorado se o Meet estiver desativado.

Campo de união _visibility.

_visibility pode ser apenas de um dos tipos a seguir:

visibility

string

Opcional. Nova visibilidade do evento. Os valores possíveis são:

  • default: usa a visibilidade padrão para eventos na agenda. Valor padrão.
  • public: os detalhes do evento ficam visíveis para todos os leitores da agenda.
  • private: o evento é particular, e apenas os participantes podem ver os detalhes dele.

Campo de união _color_id.

_color_id pode ser apenas de um dos tipos a seguir:

colorId

string

Opcional. Nova cor do evento. Para conferir uma lista de IDs de cores, consulte a documentação do recurso "Event".

Campo de união _google_meet_url.

_google_meet_url pode ser apenas de um dos tipos a seguir:

googleMeetUrl

string

Opcional. Permite anexar um URL ou ID de reunião do Google Meet ao evento. Substitui o valor de addGoogleMeetUrl.

Campo de união _guest_permissions.

_guest_permissions pode ser apenas de um dos tipos a seguir:

guestPermissions

object (GuestPermissions)

Opcional. Configurações de permissão de convidado para este evento.

Campo de união _availability.

_availability pode ser apenas de um dos tipos a seguir:

availability

enum (Availability)

Opcional. Se o evento bloqueia um horário na agenda.

Participante

Representação JSON
{

  "id": string

  "email": string

  "displayName": string

  "organizer": boolean

  "self": boolean

  "resource": boolean

  "optionalAttendee": boolean

  "responseStatus": string

  "comment": string

  "additionalGuests": integer
}
Campos

Campo de união _id.

_id pode ser apenas de um dos tipos a seguir:

id

string

Apenas saída. ID do perfil.

Campo de união _email.

_email pode ser apenas de um dos tipos a seguir:

email

string

Obrigatório. Endereço de e-mail do participante.

Campo de união _display_name.

_display_name pode ser apenas de um dos tipos a seguir:

displayName

string

Opcional. Nome

Campo de união _organizer.

_organizer pode ser apenas de um dos tipos a seguir:

organizer

boolean

Apenas saída. Se o participante é o organizador. Padrão: false.

Campo de união _self.

_self pode ser apenas de um dos tipos a seguir:

self

boolean

Apenas saída. Se esta entrada representa a agenda em que esta cópia do evento aparece. Padrão: false.

Campo de união _resource.

_resource pode ser apenas de um dos tipos a seguir:

resource

boolean

Opcional. Indica se o participante é um recurso (por exemplo, uma sala). Imutável, só pode ser definido quando o participante é adicionado inicialmente. Padrão: false.

Campo de união _optional_attendee.

_optional_attendee pode ser apenas de um dos tipos a seguir:

optionalAttendee

boolean

Opcional. Se o participante é opcional. Padrão: false.

Campo de união _response_status.

_response_status pode ser apenas de um dos tipos a seguir:

responseStatus

string

Opcional. Status da resposta. Os valores possíveis são:

  • needsAction - O participante não respondeu ao convite (recomendado para novos eventos).
  • declined: o convidado recusou o convite.
  • tentative: o participante aceitou o convite provisoriamente.
  • accepted: o participante aceitou o convite.

Campo de união _comment.

_comment pode ser apenas de um dos tipos a seguir:

comment

string

Apenas saída. Comentário da resposta.

Campo de união _additional_guests.

_additional_guests pode ser apenas de um dos tipos a seguir:

additionalGuests

integer

Opcional. Número de hóspedes extras. Padrão: 0.

Lembrete

Representação JSON
{

  "method": string

  "minutes": integer
}
Campos

Campo de união _method.

_method pode ser apenas de um dos tipos a seguir:

method

string

Obrigatório. Método de exibição. Os valores possíveis são:

  • email: os lembretes são enviados por e-mail.
  • popup: os lembretes são enviados por um pop-up da interface.

Campo de união _minutes.

_minutes pode ser apenas de um dos tipos a seguir:

minutes

integer

Obrigatório. Minutos antes do acionamento do lembrete.

Anexo

Representação JSON
{

  "fileUrl": string

  "title": string
}
Campos

Campo de união _file_url.

_file_url pode ser apenas de um dos tipos a seguir:

fileUrl

string

Obrigatório. Link do URL para o anexo.

Campo de união _title.

_title pode ser apenas de um dos tipos a seguir:

title

string

Opcional. Título do anexo.

GuestPermissions

Representação JSON
{

  "guestsCanInviteOthers": boolean

  "guestsCanModify": boolean

  "guestsCanSeeGuests": boolean
}
Campos

Campo de união _guests_can_invite_others.

_guests_can_invite_others pode ser apenas de um dos tipos a seguir:

guestsCanInviteOthers

boolean

Opcional. Se os convidados podem convidar outras pessoas.

Campo de união _guests_can_modify.

_guests_can_modify pode ser apenas de um dos tipos a seguir:

guestsCanModify

boolean

Opcional. Se os convidados podem modificar o evento.

Campo de união _guests_can_see_guests.

_guests_can_see_guests pode ser apenas de um dos tipos a seguir:

guestsCanSeeGuests

boolean

Opcional. Se os convidados podem ver outras pessoas.

NotificationLevel

Nível de notificação por e-mail para atualizações.

Tipos enumerados
NOTIFICATION_LEVEL_UNSPECIFIED Padrão. Tratado como ALL.
NONE Nenhuma notificação.
EXTERNAL_ONLY Somente participantes externos.
ALL Todos os participantes.

Disponibilidade

Configuração de disponibilidade para um evento.

Tipos enumerados
AVAILABILITY_UNSPECIFIED Padrão. Tratado como BUSY.
AVAILABILITY_BUSY Bloqueia horários na agenda.
AVAILABILITY_FREE Não bloqueia o tempo.

Esquema de saída

Evento

Representação JSON
{
  "id": string,
  "status": string,
  "htmlLink": string,
  "created": string,
  "updated": string,
  "summary": string,
  "description": string,
  "location": string,
  "creator": {
    object (Principal)
  },
  "organizer": {
    object (Principal)
  },
  "start": {
    object (DateOrDateTime)
  },
  "end": {
    object (DateOrDateTime)
  },
  "recurrence": [
    string
  ],
  "recurringEventId": string,
  "originalStartTime": {
    object (DateOrDateTime)
  },
  "transparency": string,
  "visibility": string,
  "attendees": [
    {
      object (Attendee)
    }
  ],
  "conferenceUrl": string,
  "colorId": string,
  "overrideReminders": [
    {
      object (Reminder)
    }
  ],
  "attachments": [
    {
      object (Attachment)
    }
  ],
  "guestPermissions": {
    object (GuestPermissions)
  },
  "eventType": enum (EventType),
  "workingLocationProperties": {
    object (WorkingLocationProperties)
  },
  "availability": enum (Availability)
}
Campos
id

string

Identificador exclusivo.

status

string

Opcional. Status. Os valores possíveis são:

  • confirmed: o evento está confirmado (padrão).
  • tentative: o evento está provisoriamente confirmado.
  • cancelled: o evento foi cancelado ou excluído.

htmlLink

string

Apenas saída. Um link absoluto para esse evento na interface da Web do Google Agenda.

created

string

Apenas saída. Horário da criação (ISO 8601).

updated

string

Apenas saída. Horário da última modificação (ISO 8601).

summary

string

Título.

description

string

Opcional. Descrição. Pode conter HTML.

location

string

Opcional. Local.

creator

object (Principal)

Apenas saída. Criador de conteúdo.

organizer

object (Principal)

Apenas saída. Organizador. Também listado em "Participantes" se estiver participando.

start

object (DateOrDateTime)

Horário de início (incluído). Para eventos recorrentes, a primeira instância é usada.

end

object (DateOrDateTime)

Horário de término (exclusivo). Para eventos recorrentes, a primeira instância é usada.

recurrence[]

string

Regras de recorrência como strings RRULE, EXRULE, RDATE ou EXDATE (de acordo com a RFC 5545). Omitido para eventos únicos. Os horários de início/término precisam ser definidos nos campos start/end.

recurringEventId

string

ID do evento recorrente principal para instâncias de eventos recorrentes.

originalStartTime

object (DateOrDateTime)

Horário de início original das instâncias recorrentes. É o horário em que essa instância começaria de acordo com os dados de recorrência.

transparency
(deprecated)

string

Opcional. Descontinuado: use availability.

visibility

string

Opcional. Visibilidade do evento. Os valores possíveis são:

  • default: usa a visibilidade padrão para eventos na agenda. Esse é o valor padrão.
  • public: os detalhes do evento ficam visíveis para todos os leitores da agenda.
  • private: somente os participantes do evento podem ver os detalhes dele.

attendees[]

object (Attendee)

Participantes.

conferenceUrl

string

Link da videoconferência.

colorId

string

A cor do evento. Afeta apenas a visualização da sua agenda. É um ID que se refere a uma entrada na paleta de cores da agenda (string '1'-'11'):

  • 1: lavanda
  • 2: Sage
  • 3: uva
  • 4: Flamingo
  • 5: Banana
  • 6: Tangerina
  • 7: Peacock
  • 8: Graphite
  • 9: Blueberry
  • 10: manjericão
  • 11: tomate.

overrideReminders[]

object (Reminder)

Lembretes. Se não for definido, volta para os padrões da agenda.

attachments[]

object (Attachment)

Anexos de arquivos.

guestPermissions

object (GuestPermissions)

Permissões de convidados.

eventType

enum (EventType)

Tipo de evento.

workingLocationProperties

object (WorkingLocationProperties)

Propriedades do local de trabalho. Preenchido apenas quando event_type é WORKING_LOCATION.

availability

enum (Availability)

Opcional. Configuração de disponibilidade.

Principal

Representação JSON
{
  "email": string,
  "displayName": string,
  "self": boolean
}
Campos
email

string

E-mail.

displayName

string

Nome

self

boolean

Apenas saída. Se esse principal corresponde à agenda em que essa cópia do evento aparece. Padrão: false.

DateOrDateTime

Representação JSON
{
  "date": string,
  "dateTime": string,
  "timeZone": string
}
Campos
date

string

Data ISO 8601 à meia-noite UTC (por exemplo, '2019-11-20T00:00:00Z').

dateTime

string

Timestamp ISO 8601 (por exemplo, '2019-11-20T08:19:06-07:00').

timeZone

string

Nome do fuso horário TZDB.

Participante

Representação JSON
{

  "id": string

  "email": string

  "displayName": string

  "organizer": boolean

  "self": boolean

  "resource": boolean

  "optionalAttendee": boolean

  "responseStatus": string

  "comment": string

  "additionalGuests": integer
}
Campos

Campo de união _id.

_id pode ser apenas de um dos tipos a seguir:

id

string

Apenas saída. ID do perfil.

Campo de união _email.

_email pode ser apenas de um dos tipos a seguir:

email

string

Obrigatório. Endereço de e-mail do participante.

Campo de união _display_name.

_display_name pode ser apenas de um dos tipos a seguir:

displayName

string

Opcional. Nome

Campo de união _organizer.

_organizer pode ser apenas de um dos tipos a seguir:

organizer

boolean

Apenas saída. Se o participante é o organizador. Padrão: false.

Campo de união _self.

_self pode ser apenas de um dos tipos a seguir:

self

boolean

Apenas saída. Se esta entrada representa a agenda em que esta cópia do evento aparece. Padrão: false.

Campo de união _resource.

_resource pode ser apenas de um dos tipos a seguir:

resource

boolean

Opcional. Indica se o participante é um recurso (por exemplo, uma sala). Imutável, só pode ser definido quando o participante é adicionado inicialmente. Padrão: false.

Campo de união _optional_attendee.

_optional_attendee pode ser apenas de um dos tipos a seguir:

optionalAttendee

boolean

Opcional. Se o participante é opcional. Padrão: false.

Campo de união _response_status.

_response_status pode ser apenas de um dos tipos a seguir:

responseStatus

string

Opcional. Status da resposta. Os valores possíveis são:

  • needsAction - O participante não respondeu ao convite (recomendado para novos eventos).
  • declined: o convidado recusou o convite.
  • tentative: o participante aceitou o convite provisoriamente.
  • accepted: o participante aceitou o convite.

Campo de união _comment.

_comment pode ser apenas de um dos tipos a seguir:

comment

string

Apenas saída. Comentário da resposta.

Campo de união _additional_guests.

_additional_guests pode ser apenas de um dos tipos a seguir:

additionalGuests

integer

Opcional. Número de hóspedes extras. Padrão: 0.

Lembrete

Representação JSON
{

  "method": string

  "minutes": integer
}
Campos

Campo de união _method.

_method pode ser apenas de um dos tipos a seguir:

method

string

Obrigatório. Método de exibição. Os valores possíveis são:

  • email: os lembretes são enviados por e-mail.
  • popup: os lembretes são enviados por um pop-up da interface.

Campo de união _minutes.

_minutes pode ser apenas de um dos tipos a seguir:

minutes

integer

Obrigatório. Minutos antes do acionamento do lembrete.

Anexo

Representação JSON
{

  "fileUrl": string

  "title": string
}
Campos

Campo de união _file_url.

_file_url pode ser apenas de um dos tipos a seguir:

fileUrl

string

Obrigatório. Link do URL para o anexo.

Campo de união _title.

_title pode ser apenas de um dos tipos a seguir:

title

string

Opcional. Título do anexo.

GuestPermissions

Representação JSON
{

  "guestsCanInviteOthers": boolean

  "guestsCanModify": boolean

  "guestsCanSeeGuests": boolean
}
Campos

Campo de união _guests_can_invite_others.

_guests_can_invite_others pode ser apenas de um dos tipos a seguir:

guestsCanInviteOthers

boolean

Opcional. Se os convidados podem convidar outras pessoas.

Campo de união _guests_can_modify.

_guests_can_modify pode ser apenas de um dos tipos a seguir:

guestsCanModify

boolean

Opcional. Se os convidados podem modificar o evento.

Campo de união _guests_can_see_guests.

_guests_can_see_guests pode ser apenas de um dos tipos a seguir:

guestsCanSeeGuests

boolean

Opcional. Se os convidados podem ver outras pessoas.

WorkingLocationProperties

Representação JSON
{

  "type": enum (WorkingLocationType)

  "customLocationLabel": string
}
Campos

Campo de união _type.

_type pode ser apenas de um dos tipos a seguir:

type

enum (WorkingLocationType)

Opcional. Tipo de local de trabalho.

Campo de união _custom_location_label.

_custom_location_label pode ser apenas de um dos tipos a seguir:

customLocationLabel

string

Opcional. O rótulo de um local personalizado. Obrigatório se o tipo for CUSTOM_LOCATION.

EventType

Tipo de evento. Imutável após a criação.

Tipos enumerados
EVENT_TYPE_UNSPECIFIED Tratado como DEFAULT.
DEFAULT Evento regular. Valor padrão.
OUT_OF_OFFICE Evento fora do escritório.
FOCUS_TIME Evento "Horário de concentração".
WORKING_LOCATION Evento de local de trabalho.
BIRTHDAY Evento especial de dia inteiro com recorrência anual.
FROM_GMAIL Evento do Gmail. Não é possível criar esse tipo de evento.

WorkingLocationType

Tipo de local de trabalho.

Tipos enumerados
WORKING_LOCATION_TYPE_UNSPECIFIED Tipo de local de trabalho não especificado. Será tratado como HOME_OFFICE.
HOME_OFFICE Home office.
CUSTOM_LOCATION Localização personalizada.

Disponibilidade

Configuração de disponibilidade para um evento.

Tipos enumerados
AVAILABILITY_UNSPECIFIED Padrão. Tratado como BUSY.
AVAILABILITY_BUSY Bloqueia horários na agenda.
AVAILABILITY_FREE Não bloqueia o tempo.

Anotações de ferramentas

Dica destrutiva: ❌ | Dica idempotente: ✅ | Dica somente leitura: ❌ | Dica de mundo aberto: ❌

Escopos de autorização

Requer um dos seguintes escopos do OAuth:

  • https://www.googleapis.com/auth/calendar
  • https://www.googleapis.com/auth/calendar.events