Google Calendar
Google Calendar와 연결하여 일정 관리 및 캘린더 이벤트를 관리할 수 있습니다.
주요 기능
- 캘린더 목록 조회
- 이벤트 생성, 수정, 삭제
- 이벤트 검색 및 조회
- 색상 관리
- 참석자 관리
- 알림 설정
- 반복 일정 관리
- 일정 가용성 확인 (Free/Busy)
- Google Meet 자동 생성
- 참석자 알림 자동 발송
기본 정보
인증 방식
OAuth 2.0을 사용하여 인증합니다.
필요한 권한
https://www.googleapis.com/auth/calendar
: Google Calendar 전체 접근 권한
지원하는 MCP 도구
캘린더 관리 도구
list_calendars
사용 가능한 모든 캘린더 목록을 조회합니다.
list_colors
캘린더 이벤트에 사용할 수 있는 색상 ID와 의미를 조회합니다.
이벤트 조회 도구
list_events
캘린더에서 이벤트 목록을 조회합니다.
search_events
텍스트 쿼리로 캘린더에서 이벤트를 검색합니다.
get_free_busy
참여자들의 일정 가용성을 확인합니다.
이벤트 관리 도구
create_event
새로운 캘린더 이벤트를 생성합니다.
- 주최자 자동 추가: 참여자 목록에 primary calendar 소유자 자동 포함
- Google Meet 자동 생성: 모든 일정에 화상회의 링크 자동 추가
- 참석자 알림: 일정 생성 시 모든 참석자에게 자동 알림 발송
update_event
기존 캘린더 이벤트를 업데이트합니다.
- send_updates (선택): 알림 제어 파라미터
"all"
(기본값): 모든 참석자에게 알림"externalOnly"
: 외부 참석자만 알림"none"
: 알림 발송 안함
delete_event
캘린더 이벤트를 삭제합니다.
- 삭제 알림: 일정 삭제 시 모든 참석자에게 자동 알림 발송
사용 예시
예를 들어,
- Prompt로 “내 캘린더의 오늘 일정을 조회해줘” 라고 입력하면,
- LLM은 MCP를 통해
list_events
도구를 호출하여 일정 목록을 조회합니다. - 그리고, Tool 호출 결과를 기반으로 채팅에서 응답합니다.
다른 예시:
- “5월 2일 오전 11시부터 오후 1시까지 김철수와 박영희의 일정 가능 시간을 확인해줘”라고 입력하면,
- LLM은
get_free_busy
도구를 사용하여 참여자들의 가용성을 확인합니다.
{
"calendars": ["primary", "kimcheolsu@example.com", "parkyounghee@example.com"],
"time_min": "2025-05-02T11:00:00+09:00",
"time_max": "2025-05-02T13:00:00+09:00"
}
- “회의 일정을 수정할 때 외부 참석자에게만 알림을 보내줘”라고 입력하면,
- LLM은
update_event
도구에서send_updates: "externalOnly"
파라미터를 사용합니다.
예시 프롬프트
Google Calendar MCP 동작에 도움이 되는 예시 프롬프트입니다.
MCP Preset 내 Instruction에 추가해서 사용해 보세요.
# Create a Google Meet and Add to Calendar
1. **Participant identification**: Ensure to ask who should be invited if not provided. If an email address is given, use that email directly. If only a name is provided, format it as $name@querypie.com
2. **Meeting date**: If no specific date is provided, default to today's date
3. **Time slot optimization**: Find all available meeting slots (30 minutes to 1 hour duration) when all participants can attend
4. **Recommendation phase**: Provide scheduling suggestions based on availability analysis
Last updated on