MCP Tools Reference: calendarmcp.googleapis.com

도구: get_event

지정된 캘린더의 단일 이벤트를 반환합니다.

다음과 같은 질문에 이 도구를 사용하세요.

  • 팀 회의의 세부정보를 가져옵니다.
  • 내 캘린더에서 ID가 event123인 일정을 보여 줘.

예:

get_event(
            eventId='event123'
        )
        # Returns the event details for the event with id `event123` on the user's primary calendar.
        

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

curl 요청
curl --location 'https://calendarmcp.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
  "method": "tools/call",
  "params": {
    "name": "get_event",
    "arguments": {
      // provide these details according to the tool MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

입력 스키마

GetEventRequest

JSON 표현
{
  "eventId": string,

  "calendarId": string
}
필드
eventId

string

필수 항목입니다. 가져올 이벤트의 ID입니다.

통합 필드 _calendar_id.

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

calendarId

string

선택사항입니다. 일정을 가져올 캘린더 ID입니다. 기본값은 사용자의 기본 캘린더입니다.

출력 스키마

이벤트

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)
    }
  ],
  "eventType": string,
  "conferenceUrl": string,
  "colorId": string,
  "overrideReminders": [
    {
      object (Reminder)
    }
  ]
}
필드
id

string

이벤트의 불투명 식별자입니다. 새 단일 또는 반복 이벤트를 만들 때 ID를 지정할 수 있습니다. 제공된 ID는 다음 규칙을 따라야 합니다.

  • ID에 허용되는 문자는 base32hex 인코딩에 사용되는 문자, 즉 소문자 a~v와 숫자 0~9입니다(RFC2938의 섹션 3.1.2 참고).
  • ID 길이는 5~1,024자(영문 기준) 사이여야 합니다.
  • ID는 캘린더마다 고유해야 합니다.

시스템이 전 세계에 분산되어 있으므로 이벤트 생성 시 ID 충돌이 감지된다고 보장할 수 없습니다. 충돌 위험을 최소화하려면 RFC4122에 설명된 것과 같은 기존 UUID 알고리즘을 사용하는 것이 좋습니다.

ID를 지정하지 않으면 서버에서 자동으로 생성합니다.

icalUID와 ID는 동일하지 않으며 이벤트 생성 시 둘 중 하나만 제공해야 합니다. 의미론의 한 가지 차이점은 반복 일정에서 하나의 이벤트의 모든 발생에는 서로 다른 ID가 있지만 모두 동일한 icalUID를 공유한다는 것입니다.

status

string

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

  • confirmed - 이벤트가 확인되었습니다. 기본 상태입니다.
  • tentative - 이벤트가 미정으로 확인되었습니다.
  • cancelled - 이벤트가 취소 (삭제)되었습니다. 목록 메서드는 증분 동기화 (syncToken 또는 updatedMin이 지정된 경우) 또는 showDeleted 플래그가 true로 설정된 경우에만 취소된 이벤트를 반환합니다. get 메서드는 항상 이를 반환합니다.

취소됨 상태는 이벤트 유형에 따라 두 가지 다른 상태를 나타냅니다.

  1. 취소되지 않은 반복 일정의 취소된 예외는 이 인스턴스가 더 이상 사용자에게 표시되지 않아야 함을 나타냅니다. 클라이언트는 상위 반복 이벤트의 수명 동안 이러한 이벤트를 저장해야 합니다.취소된 예외는 id, recurringEventId, originalStartTime 필드의 값이 채워져 있는 경우에만 보장됩니다. 다른 필드는 비어 있을 수 있습니다.
  2. 취소된 다른 모든 이벤트는 삭제된 이벤트를 나타냅니다. 클라이언트는 로컬에 동기화된 사본을 삭제해야 합니다. 이러한 취소된 이벤트는 결국 사라지므로 무기한으로 사용할 수 있다고 생각하지 마세요. 삭제된 이벤트에는 id 필드만 채워집니다.

주최자의 캘린더에서 취소된 일정은 복원 (삭제 취소)할 수 있도록 일정 세부정보 (요약, 위치 등)를 계속 표시합니다. 마찬가지로 사용자가 초대되었으며 수동으로 삭제한 일정은 계속 세부정보를 제공합니다. 하지만 showDeleted가 false로 설정된 증분 동기화 요청은 이러한 세부정보를 반환하지 않습니다.

이벤트의 주최자가 변경되고 (예: 이동 작업을 통해) 원래 주최자가 참석자 목록에 없는 경우 id 필드만 채워진 취소된 이벤트가 남게 됩니다.

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)

이벤트 주최자입니다. 주최자가 참석자인 경우 주최자 필드가 True로 설정된 참석자의 별도 항목으로 표시됩니다. 읽기 전용입니다.

start

object (DateOrDateTime)

일정의 시작 시간입니다 (포함). 반복 일정의 경우 첫 번째 인스턴스의 시작 시간입니다.

end

object (DateOrDateTime)

일정의 종료 시간입니다 (제외). 반복 일정의 경우 첫 번째 인스턴스의 종료 시간입니다.

recurrence[]

string

RFC5545에 지정된 반복 일정의 RRULE, EXRULE, RDATE, EXDATE 줄 목록입니다. 이 필드에는 DTSTART 및 DTEND 줄이 허용되지 않습니다. 이벤트 시작 및 종료 시간은 시작 및 종료 필드에 지정됩니다. 이 필드는 단일 이벤트 또는 반복 이벤트 인스턴스의 경우 생략됩니다.

recurringEventId

string

반복 일정의 인스턴스의 경우 이 인스턴스가 속한 반복 일정의 ID입니다. 변경할 수 없습니다.

originalStartTime

object (DateOrDateTime)

반복 일정의 인스턴스의 경우 recurringEventId로 식별되는 반복 일정의 반복 데이터에 따라 이 이벤트가 시작되는 시간입니다. 인스턴스가 다른 시간으로 이동된 경우에도 반복 일정 시리즈 내에서 인스턴스를 고유하게 식별합니다. 변경할 수 없습니다.

transparency

string

일정이 캘린더에서 시간을 차단하는지 여부입니다. 선택사항입니다. 가능한 값은 다음과 같습니다.

  • opaque - 기본값입니다. 일정은 캘린더에서 시간을 차단합니다. 이는 캘린더 UI에서 '바쁨'으로 표시를 설정하는 것과 같습니다.
  • transparent - 캘린더에서 시간이 차단되지 않습니다. 이는 캘린더 UI에서 '사용 가능'으로 표시하는 것과 같습니다.
visibility

string

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

  • default - 캘린더의 일정에 기본 공개 상태를 사용합니다. 이 값이 기본값입니다.
  • public - 일정이 공개되어 있으며 일정 세부정보가 캘린더의 모든 독자에게 표시됩니다.
  • private - 이벤트가 비공개이며 이벤트 참석자만 이벤트 세부정보를 볼 수 있습니다.
  • confidential - 이벤트가 비공개입니다. 이 값은 호환성을 위해 제공됩니다.
attendees[]

object (Attendee)

이벤트 참석자입니다.

eventType

string

이벤트의 구체적인 유형입니다. 이벤트를 만든 후에는 수정할 수 없습니다. 가능한 값은 다음과 같습니다.

  • birthday - 연간 반복되는 특별한 종일 일정입니다.
  • default - 정기 일정 또는 추가로 지정되지 않음
  • focusTime - 방해 금지 시간 일정입니다.
  • fromGmail - Gmail에 포함된 일정 이 유형의 일정은 만들 수 없습니다.
  • outOfOffice - 부재중 일정입니다.
  • workingLocation - 근무 위치 이벤트입니다.
conferenceUrl

string

일정의 Google Meet 링크입니다.

colorId

string

이벤트 색상 ID (문자열 1~11):

  • 1: 라벤더
  • 2: Sage
  • 3: 포도
  • 4: 플라밍고
  • 5: 바나나
  • 6: 귤
  • 7: 공작
  • 8: 그라파이트
  • 9: 블루베리
  • 10: 바질
  • 11: 토마토

Google Calendar에서 일정 색상은 카테고리 역할을 하며, 일정별 또는 시리즈별로 설정할 수 있습니다. 사용자는 웹 UI에서 색상에 맞춤 라벨 (예: 1:1s, Break)을 할당할 수 있지만 API는 이러한 라벨이 아닌 숫자 ID만 노출합니다. 내 캘린더 보기에만 영향을 미칩니다. 각 참석자는 자신의 일정 색상을 관리합니다.

overrideReminders[]

object (Reminder)

이 일정에 대해 정의된 리마인더로, 캘린더의 기본 리마인더를 재정의합니다. 설정하지 않으면 캘린더의 기본 알림이 사용됩니다.

주 구성원

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

string

주 구성원 (캘린더)의 이메일 주소입니다.

displayName

string

주 구성원의 이름입니다(사용 가능한 경우).

self

boolean

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

DateOrDateTime

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

string

2019-11-20T00:00:00Z와 같은 ISO 8601 형식의 UTC 자정 날짜입니다. 이 필드가 설정된 경우 date_time을 설정하면 안 됩니다.

dateTime

string

2019-11-20T08:19:06-07:00 또는 2019-11-20T08:19:06Z과 같은 ISO 8601 형식의 타임스탬프입니다. 이 필드가 설정된 경우 date을 설정하면 안 됩니다.

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

string

참석자의 프로필 ID입니다(사용 가능한 경우).

email

string

참석자의 이메일 주소(있는 경우) 참석자를 추가할 때는 이 필드가 있어야 합니다. RFC5322에 따라 유효한 이메일 주소여야 합니다. 참석자를 추가할 때 필요합니다.

displayName

string

참석자의 이름입니다(사용 가능한 경우). 선택사항입니다.

organizer

boolean

참석자가 일정의 주최자인지 여부입니다. 읽기 전용입니다. 기본값은 False입니다.

self

boolean

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

resource

boolean

참석자가 리소스인지 여부입니다. 참석자가 일정에 처음 추가될 때만 설정할 수 있습니다. 이후 수정사항은 무시됩니다. 선택사항입니다. 기본값은 False입니다.

optionalAttendee

boolean

선택사항 참석자인지 여부입니다. 선택사항입니다. 기본값은 False입니다.

responseStatus

string

참석자의 응답 상태입니다. 가능한 값은 다음과 같습니다.

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

string

참석자의 응답 댓글입니다. 선택사항입니다.

additionalGuests

integer

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

알림

JSON 표현
{

  "method": string

  "minutes": integer
}
필드

통합 필드 _method.

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

method

string

필수 항목입니다. 알림이 사용자에게 전달되는 방식입니다. 가능한 값은 다음과 같습니다.

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

통합 필드 _minutes.

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

minutes

integer

필수 항목입니다. 리마인더가 전송되어야 하는 시간(분)입니다.

도구 주석

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