MCP Tools Reference: calendarmcp.googleapis.com

도구: update_event

지정된 캘린더의 일정을 업데이트합니다.

다음 샘플은 curl를 사용하여 update_event MCP 도구를 호출하는 방법을 보여줍니다.

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
}'
                

입력 스키마

UpdateEvent 요청 메시지입니다. 설정되지 않은 필드는 업데이트되지 않습니다.

UpdateEventRequest

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)
}
필드
eventId

string

필수 항목입니다. 이벤트 ID입니다.

addedAttendeeEmails[]
(deprecated)

string

선택사항입니다. 지원 중단됨: 대신 added_attendees를 사용하세요.

addedAttendees[]

object (Attendee)

선택사항입니다. 일정에 추가할 참석자입니다.

removedAttendeeEmails[]

string

선택사항입니다. 삭제할 일정 참석자(이메일 주소)입니다.

overrideReminders[]

object (Reminder)

선택사항입니다. 설정된 경우 이벤트의 기존 리마인더를 모두 대체합니다.

addedAttachments[]

object (Attachment)

선택사항입니다. 일정에 추가할 첨부파일입니다.

removedAttachmentFileUrls[]

string

선택사항입니다. 일정에서 삭제할 첨부파일입니다.

통합 필드 _calendar_id.

_calendar_id는 다음 중 하나여야 합니다.

calendarId

string

선택사항입니다. 이벤트를 포함하는 캘린더의 ID입니다. 이메일 주소 - list_calendars을 사용하여 확인할 수 있습니다. 기본값: 기본 캘린더

통합 필드 _summary.

_summary는 다음 중 하나여야 합니다.

summary

string

선택사항입니다. 새 제목

통합 필드 _description.

_description는 다음 중 하나여야 합니다.

description

string

선택사항입니다. 새 설명 HTML을 포함할 수 있습니다.

통합 필드 _location.

_location는 다음 중 하나여야 합니다.

location

string

선택사항입니다. 새 위치

통합 필드 _start_time.

_start_time는 다음 중 하나여야 합니다.

startTime

string

선택사항입니다. 새 시작 시간 (ISO 8601)입니다. 시작만 업데이트하는 경우 기간을 유지합니다.

통합 필드 _end_time.

_end_time는 다음 중 하나여야 합니다.

endTime

string

선택사항입니다. 새 종료 시간 (ISO 8601)입니다.

통합 필드 _all_day.

_all_day는 다음 중 하나여야 합니다.

allDay

boolean

선택사항입니다. 일정을 종일로 변경합니다. 설정된 경우 start_time/end_time도 제공해야 합니다.

통합 필드 _time_zone.

_time_zone는 다음 중 하나여야 합니다.

timeZone

string

선택사항입니다. IANA 시간대 데이터베이스 이름입니다 (예: America/Los_Angeles). 기본값은 사용자의 기본 시간대입니다. start_timeend_time의 오프셋을 재정의합니다.

통합 필드 _notification_level.

_notification_level는 다음 중 하나여야 합니다.

notificationLevel

enum (NotificationLevel)

선택사항입니다. 이 이벤트 업데이트에 대해 전송할 이메일 알림입니다. 기본값: ALL

통합 필드 _add_google_meet_url.

_add_google_meet_url는 다음 중 하나여야 합니다.

addGoogleMeetUrl

boolean

선택사항입니다. true인 경우 이벤트의 Google Meet URL을 만들거나 업데이트합니다. Meet이 사용 중지된 경우 무시됩니다.

통합 필드 _visibility.

_visibility는 다음 중 하나여야 합니다.

visibility

string

선택사항입니다. 일정의 새로운 공개 상태입니다. 가능한 값은 다음과 같습니다.

  • default - 캘린더의 일정에 기본 공개 상태를 사용합니다. 기본값
  • public - 일정 세부정보가 캘린더의 모든 독자에게 표시됩니다.
  • private - 이벤트가 비공개이며 이벤트 참석자만 이벤트 세부정보를 볼 수 있습니다.

통합 필드 _color_id.

_color_id는 다음 중 하나여야 합니다.

colorId

string

선택사항입니다. 일정의 새 색상입니다. 색상 ID 목록은 Event 리소스 문서를 참고하세요.

통합 필드 _google_meet_url.

_google_meet_url는 다음 중 하나여야 합니다.

googleMeetUrl

string

선택사항입니다. 기존 Google Meet URL 또는 회의 ID를 일정에 첨부할 수 있습니다. addGoogleMeetUrl의 값을 재정의합니다.

통합 필드 _guest_permissions.

_guest_permissions는 다음 중 하나여야 합니다.

guestPermissions

object (GuestPermissions)

선택사항입니다. 이 일정의 게스트 권한 설정입니다.

통합 필드 _availability.

_availability는 다음 중 하나여야 합니다.

availability

enum (Availability)

선택사항입니다. 일정이 캘린더에서 시간을 차단하는지 여부입니다.

참석자

JSON 표현
{

  "id": string

  "email": string

  "displayName": string

  "organizer": boolean

  "self": boolean

  "resource": boolean

  "optionalAttendee": boolean

  "responseStatus": string

  "comment": string

  "additionalGuests": integer
}
필드

통합 필드 _id.

_id는 다음 중 하나여야 합니다.

id

string

출력 전용입니다. 프로필 ID입니다.

통합 필드 _email.

_email는 다음 중 하나여야 합니다.

email

string

필수 항목입니다. 참석자의 이메일 주소입니다.

통합 필드 _display_name.

_display_name는 다음 중 하나여야 합니다.

displayName

string

선택사항입니다. 이름

통합 필드 _organizer.

_organizer는 다음 중 하나여야 합니다.

organizer

boolean

출력 전용입니다. 참석자가 주최자인지 여부입니다. 기본값: false

통합 필드 _self.

_self는 다음 중 하나여야 합니다.

self

boolean

출력 전용입니다. 이 항목이 이 이벤트 사본이 표시되는 캘린더를 나타내는지 여부입니다. 기본값: false

통합 필드 _resource.

_resource는 다음 중 하나여야 합니다.

resource

boolean

선택사항입니다. 참석자가 리소스 (예: 회의실)인지 여부입니다. 변경할 수 없으며 참석자가 처음 추가될 때만 설정할 수 있습니다. 기본값: false

통합 필드 _optional_attendee.

_optional_attendee는 다음 중 하나여야 합니다.

optionalAttendee

boolean

선택사항입니다. 참석자가 선택사항인지 여부입니다. 기본값: false

통합 필드 _response_status.

_response_status는 다음 중 하나여야 합니다.

responseStatus

string

선택사항입니다. 응답 상태입니다. 가능한 값은 다음과 같습니다.

  • needsAction - 참석자가 초대에 응답하지 않았습니다 (새 이벤트에 권장).
  • declined - 참석자가 초대를 거부했습니다.
  • tentative - 참석자가 초대를 미정 상태로 수락했습니다.
  • accepted - 참석자가 초대를 수락했습니다.

통합 필드 _comment.

_comment는 다음 중 하나여야 합니다.

comment

string

출력 전용입니다. 대답 댓글입니다.

통합 필드 _additional_guests.

_additional_guests는 다음 중 하나여야 합니다.

additionalGuests

integer

선택사항입니다. 추가 게스트 수입니다. 기본값: 0

알림

JSON 표현
{

  "method": string

  "minutes": integer
}
필드

통합 필드 _method.

_method는 다음 중 하나여야 합니다.

method

string

필수 항목입니다. 전송 방법 가능한 값은 다음과 같습니다.

  • email - 알림은 이메일을 통해 전송됩니다.
  • popup - 알림은 UI 팝업을 통해 전송됩니다.

통합 필드 _minutes.

_minutes는 다음 중 하나여야 합니다.

minutes

integer

필수 항목입니다. 알림이 트리거되기 전의 시간(분)입니다.

첨부파일

JSON 표현
{

  "fileUrl": string

  "title": string
}
필드

통합 필드 _file_url.

_file_url는 다음 중 하나여야 합니다.

fileUrl

string

필수 항목입니다. 첨부파일의 URL 링크입니다.

통합 필드 _title.

_title는 다음 중 하나여야 합니다.

title

string

선택사항입니다. 첨부파일 제목입니다.

GuestPermissions

JSON 표현
{

  "guestsCanInviteOthers": boolean

  "guestsCanModify": boolean

  "guestsCanSeeGuests": boolean
}
필드

통합 필드 _guests_can_invite_others.

_guests_can_invite_others는 다음 중 하나여야 합니다.

guestsCanInviteOthers

boolean

선택사항입니다. 참석자가 다른 사용자를 초대할 수 있는지 여부입니다.

통합 필드 _guests_can_modify.

_guests_can_modify는 다음 중 하나여야 합니다.

guestsCanModify

boolean

선택사항입니다. 참석자가 일정을 수정할 수 있는지 여부입니다.

통합 필드 _guests_can_see_guests.

_guests_can_see_guests는 다음 중 하나여야 합니다.

guestsCanSeeGuests

boolean

선택사항입니다. 참석자가 다른 참석자를 볼 수 있는지 여부입니다.

NotificationLevel

업데이트에 대한 이메일 알림 수준입니다.

열거형
NOTIFICATION_LEVEL_UNSPECIFIED 기본값입니다. ALL로 처리됩니다.
NONE 알림이 없습니다.
EXTERNAL_ONLY 외부 참석자만 해당합니다.
ALL 모든 참석자

가용성

일정의 참석 여부 설정입니다.

열거형
AVAILABILITY_UNSPECIFIED 기본값입니다. BUSY로 처리됩니다.
AVAILABILITY_BUSY 캘린더에서 시간을 차단합니다.
AVAILABILITY_FREE 시간을 차단하지 않습니다.

출력 스키마

이벤트

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)
}
필드
id

string

고유 식별자입니다.

status

string

선택사항입니다. 확인하세요. 가능한 값은 다음과 같습니다.

  • confirmed - 이벤트가 확인되었습니다 (기본값).
  • tentative - 이벤트가 미정으로 확인되었습니다.
  • cancelled - 이벤트가 취소되거나 삭제되었습니다.

htmlLink

string

출력 전용입니다. Google Calendar 웹 UI에서 이 일정으로 연결되는 절대 링크입니다.

created

string

출력 전용입니다. 생성 시간 (ISO 8601)입니다.

updated

string

출력 전용입니다. 최종 수정 시간 (ISO 8601)입니다.

summary

string

특성이 포함될 수 있습니다

description

string

선택사항입니다. 설명: HTML을 포함할 수 있습니다.

location

string

선택사항입니다. 위치를 탭합니다.

creator

object (Principal)

출력 전용입니다. 크리에이터

organizer

object (Principal)

출력 전용입니다. 주최자 참석하는 경우 참석자에도 표시됩니다.

start

object (DateOrDateTime)

시작 시간 (포함)입니다. 반복 이벤트의 경우 첫 번째 인스턴스가 사용됩니다.

end

object (DateOrDateTime)

종료 시간 (제외)입니다. 반복 이벤트의 경우 첫 번째 인스턴스가 사용됩니다.

recurrence[]

string

RRULE, EXRULE, RDATE 또는 EXDATE 문자열 (RFC 5545에 따름)로 된 반복 규칙입니다. 단일 일정의 경우 생략됩니다. 시작/종료 시간은 start/end 필드에 설정해야 합니다.

recurringEventId

string

반복 일정 인스턴스의 상위 반복 일정 ID입니다.

originalStartTime

object (DateOrDateTime)

반복 인스턴스의 원래 시작 시간입니다. 반복 데이터에 따라 이 인스턴스가 시작되는 시간입니다.

transparency
(deprecated)

string

선택사항입니다. 지원 중단됨: 대신 availability를 사용하세요.

visibility

string

선택사항입니다. 이벤트의 공개 상태입니다. 가능한 값은 다음과 같습니다.

  • default - 캘린더의 일정에 기본 공개 상태를 사용합니다. 기본값입니다.
  • public - 일정 세부정보가 캘린더의 모든 독자에게 표시됩니다.
  • private - 일정 참석자만 일정 세부정보를 볼 수 있습니다.

attendees[]

object (Attendee)

참석자

conferenceUrl

string

화상 회의 링크입니다.

colorId

string

이벤트의 색상입니다. 내 캘린더 보기에만 영향을 미칩니다. 캘린더의 색상 팔레트에 있는 항목을 참조하는 ID입니다 (문자열 '1'~'11').

  • 1: 라벤더
  • 2: 세이지
  • 3: 그레이프
  • 4: 플라밍고
  • 5: 바나나
  • 6: 귤
  • 7: 공작새
  • 8: 흑연
  • 9: 블루베리
  • 10: 바질
  • 11: 토마토

overrideReminders[]

object (Reminder)

리마인더를 탭합니다. 설정되지 않은 경우 캘린더 기본값으로 대체됩니다.

attachments[]

object (Attachment)

파일 첨부파일입니다.

guestPermissions

object (GuestPermissions)

참석자 권한

eventType

enum (EventType)

이벤트 종류

workingLocationProperties

object (WorkingLocationProperties)

근무 위치 속성입니다. event_typeWORKING_LOCATION인 경우에만 채워집니다.

availability

enum (Availability)

선택사항입니다. 연락 가능 여부 설정입니다.

주 구성원

JSON 표현
{
  "email": string,
  "displayName": string,
  "self": boolean
}
필드
email

string

이메일,

displayName

string

이름

self

boolean

출력 전용입니다. 이 주 구성원이 이 이벤트 사본이 표시되는 캘린더에 해당하는지 여부입니다. 기본값: false

DateOrDateTime

JSON 표현
{
  "date": string,
  "dateTime": string,
  "timeZone": string
}
필드
date

string

UTC 자정의 ISO 8601 날짜입니다 (예: '2019-11-20T00:00:00Z').

dateTime

string

ISO 8601 타임스탬프 (예: '2019-11-20T08:19:06-07:00')

timeZone

string

TZDB 시간대 이름입니다.

참석자

JSON 표현
{

  "id": string

  "email": string

  "displayName": string

  "organizer": boolean

  "self": boolean

  "resource": boolean

  "optionalAttendee": boolean

  "responseStatus": string

  "comment": string

  "additionalGuests": integer
}
필드

통합 필드 _id.

_id는 다음 중 하나여야 합니다.

id

string

출력 전용입니다. 프로필 ID입니다.

통합 필드 _email.

_email는 다음 중 하나여야 합니다.

email

string

필수 항목입니다. 참석자의 이메일 주소입니다.

통합 필드 _display_name.

_display_name는 다음 중 하나여야 합니다.

displayName

string

선택사항입니다. 이름

통합 필드 _organizer.

_organizer는 다음 중 하나여야 합니다.

organizer

boolean

출력 전용입니다. 참석자가 주최자인지 여부입니다. 기본값: false

통합 필드 _self.

_self는 다음 중 하나여야 합니다.

self

boolean

출력 전용입니다. 이 항목이 이 이벤트 사본이 표시되는 캘린더를 나타내는지 여부입니다. 기본값: false

통합 필드 _resource.

_resource는 다음 중 하나여야 합니다.

resource

boolean

선택사항입니다. 참석자가 리소스 (예: 회의실)인지 여부입니다. 변경할 수 없으며 참석자가 처음 추가될 때만 설정할 수 있습니다. 기본값: false

통합 필드 _optional_attendee.

_optional_attendee는 다음 중 하나여야 합니다.

optionalAttendee

boolean

선택사항입니다. 참석자가 선택사항인지 여부입니다. 기본값: false

통합 필드 _response_status.

_response_status는 다음 중 하나여야 합니다.

responseStatus

string

선택사항입니다. 응답 상태입니다. 가능한 값은 다음과 같습니다.

  • needsAction - 참석자가 초대에 응답하지 않았습니다 (새 이벤트에 권장).
  • declined - 참석자가 초대를 거부했습니다.
  • tentative - 참석자가 초대를 미정 상태로 수락했습니다.
  • accepted - 참석자가 초대를 수락했습니다.

통합 필드 _comment.

_comment는 다음 중 하나여야 합니다.

comment

string

출력 전용입니다. 대답 댓글입니다.

통합 필드 _additional_guests.

_additional_guests는 다음 중 하나여야 합니다.

additionalGuests

integer

선택사항입니다. 추가 게스트 수입니다. 기본값: 0

알림

JSON 표현
{

  "method": string

  "minutes": integer
}
필드

통합 필드 _method.

_method는 다음 중 하나여야 합니다.

method

string

필수 항목입니다. 전송 방법 가능한 값은 다음과 같습니다.

  • email - 알림은 이메일을 통해 전송됩니다.
  • popup - 알림은 UI 팝업을 통해 전송됩니다.

통합 필드 _minutes.

_minutes는 다음 중 하나여야 합니다.

minutes

integer

필수 항목입니다. 알림이 트리거되기 전의 시간(분)입니다.

첨부파일

JSON 표현
{

  "fileUrl": string

  "title": string
}
필드

통합 필드 _file_url.

_file_url는 다음 중 하나여야 합니다.

fileUrl

string

필수 항목입니다. 첨부파일의 URL 링크입니다.

통합 필드 _title.

_title는 다음 중 하나여야 합니다.

title

string

선택사항입니다. 첨부파일 제목입니다.

GuestPermissions

JSON 표현
{

  "guestsCanInviteOthers": boolean

  "guestsCanModify": boolean

  "guestsCanSeeGuests": boolean
}
필드

통합 필드 _guests_can_invite_others.

_guests_can_invite_others는 다음 중 하나여야 합니다.

guestsCanInviteOthers

boolean

선택사항입니다. 참석자가 다른 사용자를 초대할 수 있는지 여부입니다.

통합 필드 _guests_can_modify.

_guests_can_modify는 다음 중 하나여야 합니다.

guestsCanModify

boolean

선택사항입니다. 참석자가 일정을 수정할 수 있는지 여부입니다.

통합 필드 _guests_can_see_guests.

_guests_can_see_guests는 다음 중 하나여야 합니다.

guestsCanSeeGuests

boolean

선택사항입니다. 참석자가 다른 참석자를 볼 수 있는지 여부입니다.

WorkingLocationProperties

JSON 표현
{

  "type": enum (WorkingLocationType)

  "customLocationLabel": string
}
필드

통합 필드 _type.

_type는 다음 중 하나여야 합니다.

type

enum (WorkingLocationType)

선택사항입니다. 근무 위치 유형입니다.

통합 필드 _custom_location_label.

_custom_location_label는 다음 중 하나여야 합니다.

customLocationLabel

string

선택사항입니다. 맞춤 위치의 라벨입니다. 유형이 CUSTOM_LOCATION인 경우 필수.

EventType

이벤트 종류 생성 후에는 변경할 수 없습니다.

열거형
EVENT_TYPE_UNSPECIFIED DEFAULT로 처리됩니다.
DEFAULT 정기 이벤트입니다. 기본값
OUT_OF_OFFICE 부재중 일정입니다.
FOCUS_TIME 방해 금지 시간 일정입니다.
WORKING_LOCATION 근무 위치 일정입니다.
BIRTHDAY 연간 반복되는 특별한 종일 일정입니다.
FROM_GMAIL Gmail에 포함된 일정 이 유형의 이벤트는 만들 수 없습니다.

WorkingLocationType

근무 위치 유형입니다.

열거형
WORKING_LOCATION_TYPE_UNSPECIFIED 지정되지 않은 근무 위치 유형입니다. HOME_OFFICE로 처리됩니다.
HOME_OFFICE 홈 오피스
CUSTOM_LOCATION 맞춤 위치입니다.

가용성

일정의 참석 여부 설정입니다.

열거형
AVAILABILITY_UNSPECIFIED 기본값입니다. BUSY로 처리됩니다.
AVAILABILITY_BUSY 캘린더에서 시간을 차단합니다.
AVAILABILITY_FREE 시간을 차단하지 않습니다.

도구 주석

파괴적 힌트: ❌ | 동일한 힌트: ✅ | 읽기 전용 힌트: ❌ | 오픈 월드 힌트: ❌

승인 범위

다음 OAuth 범위 중 하나가 필요합니다.

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