본문으로 건너뛰기

trigger-wake-time-reached MCP Tool

개요

trigger-wake-time-reached MCP Tool은 사용자의 컨텍스트를 "기상 시간에 도달했음"으로 변경하기 위해 기상 시간 이벤트를 발생시키는 도구입니다. QA 환경에서 특정 시나리오를 테스트하거나 사용자의 기상 상황을 시뮬레이션할 때 사용됩니다.

이 문서에서는 다음 사용 방법을 다룹니다:

  • JSON 형식: 구조화된 데이터로 정확한 제어가 필요한 경우
  • LLM AI Chat: 자연어로 간편하게 사용하고 싶은 경우

두 방법 모두 같은 결과를 제공하며, 사용자의 선호도와 상황에 따라 선택할 수 있습니다.

도구 정보

  • 이름: trigger_wake_time_reached
  • 설명: 사용자의 기상 시간 이벤트를 발생시켜 컨텍스트를 변경하는 도구
  • 카테고리: 시간 관리 및 이벤트 시뮬레이션 도구

파라미터

필수 파라미터

파라미터타입설명제약사항
userIdstring기상 이벤트를 발생시킬 사용자 IDUUID 형식 (예: 3a5822e5-595e-4bd5-b06a-f46104a34bd5)

선택적 파라미터

파라미터타입설명기본값제약사항
scheduledWakeTimestring예정된 기상 시간현재 시간HH:mm 형식 (예: "07:30", "09:15")
schedulerJobIdstring스케줄러 작업 ID자동 생성임의의 문자열
reasonstring기상 이벤트 발생 이유"MCP 도구를 통한 기상 시간 이벤트 발생"설명을 위한 문자열

파라미터 형식 검증

userId

  • UUID 형식: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
  • 시스템에 등록된 유효한 사용자 ID여야 함

scheduledWakeTime

  • 시간 형식: HH:mm (24시간 형식)
  • 유효 범위: 00:00 ~ 23:59
  • 예시: "07:30", "09:15", "22:45"

LLM AI Chat에서의 사용법

LLM AI Chat에서는 자연어로 기상 시간 이벤트 발생을 요청할 수 있습니다.

기본 기상 이벤트 발생

사용자 3a5822e5-595e-4bd5-b06a-f46104a34bd5의 기상 시간 이벤트를 발생시켜주세요.

또는

사용자 ID 3a5822e5-595e-4bd5-b06a-f46104a34bd5에게 기상 시간이 도달했다는 이벤트를 트리거해주세요.

특정 시간으로 기상 이벤트 발생

사용자 3a5822e5-595e-4bd5-b06a-f46104a34bd5의 기상 시간을 07:30으로 설정하고 기상 이벤트를 발생시켜주세요.
사용자 3a5822e5-595e-4bd5-b06a-f46104a34bd5에게 09:15에 기상했다는 이벤트를 보내주세요.

테스트 목적 기상 이벤트

테스트를 위해 사용자 3a5822e5-595e-4bd5-b06a-f46104a34bd5의 기상 이벤트를 발생시켜주세요.
QA 테스트 중 사용자 3a5822e5-595e-4bd5-b06a-f46104a34bd5의 기상 상황을 시뮬레이션해주세요.

자연어 응답 예시

요청: "사용자 3a5822e5-595e-4bd5-b06a-f46104a34bd5의 기상 시간 이벤트를 발생시켜주세요."

응답: "기상 시간 이벤트를 성공적으로 발생시켰습니다.

📅 기상 이벤트 발생 결과:

  • 사용자 ID: 3a5822e5-595e-4bd5-b06a-f46104a34bd5
  • 이벤트 ID: evt_12345678
  • 이벤트 타입: WAKE_TIME_REACHED
  • 발생 시간: 2024-01-08T07:30:00.000Z
  • 상태: 성공적으로 발생

사용자의 컨텍스트가 '기상 시간 도달' 상태로 변경되었습니다."

사용 예시 (JSON 형식)

기본 기상 이벤트 발생

{
"tool": "trigger_wake_time_reached",
"arguments": {
"userId": "3a5822e5-595e-4bd5-b06a-f46104a34bd5"
}
}

특정 시간 기상 이벤트

{
"tool": "trigger_wake_time_reached",
"arguments": {
"userId": "3a5822e5-595e-4bd5-b06a-f46104a34bd5",
"scheduledWakeTime": "07:30",
"reason": "아침 7시 30분 기상 시나리오 테스트"
}
}

스케줄러 작업과 연동

{
"tool": "trigger_wake_time_reached",
"arguments": {
"userId": "3a5822e5-595e-4bd5-b06a-f46104a34bd5",
"scheduledWakeTime": "09:15",
"schedulerJobId": "wake-job-001",
"reason": "자동 스케줄러 기상 알림 테스트"
}
}

응답 형식

성공 응답 예시

{
"content": [
{
"type": "text",
"text": "✅ Successfully triggered wake time reached event for user 3a5822e5-595e-4bd5-b06a-f46104a34bd5:\n\nEvent ID: evt_wake_20240108_073000\nEvent Type: WAKE_TIME_REACHED\nUser ID: 3a5822e5-595e-4bd5-b06a-f46104a34bd5\nTimestamp: 2024-01-08T07:30:00.000Z\nMessage: Wake time event successfully triggered"
}
]
}

응답 데이터 구조

필드설명
Event ID생성된 이벤트의 고유 식별자
Event Type이벤트 타입 (WAKE_TIME_REACHED)
User ID대상 사용자 ID
Timestamp이벤트 발생 시간 (ISO 8601 형식)
Message이벤트 처리 결과 메시지

사용 시나리오

시나리오 1: 기상 알림 테스트

LLM AI Chat:

사용자 3a5822e5-595e-4bd5-b06a-f46104a34bd5의 기상 알림 기능을 테스트하기 위해 
기상 시간 이벤트를 발생시켜주세요.

JSON 형식:

{
"tool": "trigger_wake_time_reached",
"arguments": {
"userId": "3a5822e5-595e-4bd5-b06a-f46104a34bd5",
"reason": "기상 알림 기능 테스트"
}
}

시나리오 2: 특정 시간 기상 시뮬레이션

LLM AI Chat:

사용자 3a5822e5-595e-4bd5-b06a-f46104a34bd5이 아침 7시에 기상했다고 가정하고 
해당 이벤트를 발생시켜주세요.

JSON 형식:

{
"tool": "trigger_wake_time_reached",
"arguments": {
"userId": "3a5822e5-595e-4bd5-b06a-f46104a34bd5",
"scheduledWakeTime": "07:00",
"reason": "아침 7시 기상 시나리오 시뮬레이션"
}
}

시나리오 3: 수면 패턴 분석 테스트

LLM AI Chat:

수면 패턴 분석을 위해 사용자 3a5822e5-595e-4bd5-b06a-f46104a34bd5의 
기상 이벤트를 발생시키고 데이터를 확인해주세요.

JSON 형식:

{
"tool": "trigger_wake_time_reached",
"arguments": {
"userId": "3a5822e5-595e-4bd5-b06a-f46104a34bd5",
"scheduledWakeTime": "08:30",
"reason": "수면 패턴 분석 데이터 수집"
}
}

시나리오 4: 자동화 워크플로우 테스트

LLM AI Chat:

자동화된 기상 워크플로우를 테스트하기 위해 스케줄러 작업 ID와 함께 
기상 이벤트를 발생시켜주세요.

JSON 형식:

{
"tool": "trigger_wake_time_reached",
"arguments": {
"userId": "3a5822e5-595e-4bd5-b06a-f46104a34bd5",
"scheduledWakeTime": "06:45",
"schedulerJobId": "auto-wake-001",
"reason": "자동화 워크플로우 테스트"
}
}

시나리오 5: 연속 기상 이벤트 테스트

LLM AI Chat:

연속적인 기상 이벤트 처리를 테스트하기 위해 
여러 번의 기상 이벤트를 발생시켜주세요.

JSON 형식 (순차 실행):

// 1차 기상 이벤트
{
"tool": "trigger_wake_time_reached",
"arguments": {
"userId": "3a5822e5-595e-4bd5-b06a-f46104a34bd5",
"scheduledWakeTime": "07:00",
"reason": "첫 번째 기상 이벤트 테스트"
}
}

// 2차 기상 이벤트 (잠시 후)
{
"tool": "trigger_wake_time_reached",
"arguments": {
"userId": "3a5822e5-595e-4bd5-b06a-f46104a34bd5",
"scheduledWakeTime": "07:30",
"reason": "두 번째 기상 이벤트 테스트"
}
}

문제 해결

일반적인 문제

  1. 사용자 미존재: 시스템에 등록되지 않은 사용자 ID
  2. 이벤트 서비스 오류: QA 이벤트 서비스 접근 불가
  3. 권한 부족: 기상 이벤트 발생 권한 없음
  4. 시간 형식 오류: 잘못된 시간 형식 입력

에러 응답 예시

사용자 미존재:

{
"content": [
{
"type": "text",
"text": "❌ Error triggering wake time reached event: User not found or QA event service unavailable"
}
],
"isError": true
}

권한 부족:

{
"content": [
{
"type": "text",
"text": "❌ Error triggering wake time reached event: Insufficient permissions to trigger QA events"
}
],
"isError": true
}

시간 형식 오류:

{
"content": [
{
"type": "text",
"text": "❌ Error triggering wake time reached event: Invalid event data or request format"
}
],
"isError": true
}

문제 해결 가이드

  1. 사용자 ID 확인: 유효한 사용자 ID인지 확인
  2. 시간 형식 검증: HH:mm 형식으로 올바르게 입력했는지 확인
  3. 권한 확인: QA 이벤트 발생 권한이 있는지 확인
  4. 서비스 상태 확인: QA 이벤트 서비스가 정상 동작하는지 확인

기술적 세부 사항

이벤트 타입

이 도구는 WAKE_TIME_REACHED 이벤트 타입을 사용합니다:

SLEEP_CROSS_EVENT_TYPES.WAKE_TIME_REACHED

API 엔드포인트

내부적으로 다음 API를 호출합니다:

POST /v1/qa/events/custom

요청 페이로드

{
userId: string,
eventType: 'WAKE_TIME_REACHED'
}

모니터링 및 추적

1. 이벤트 발생 이력 추적

LLM AI Chat:

최근 24시간 동안 기상 이벤트 발생 관련 로그를 확인해주세요.

JSON 형식:

{
"tool": "query_recent_errors",
"arguments": {
"hours": 24,
"serviceName": "qa-events"
}
}

2. 이벤트 처리 실패 분석

LLM AI Chat:

기상 이벤트 발생 실패 관련 에러 패턴을 분석해주세요.

JSON 형식:

{
"tool": "analyze_error_patterns",
"arguments": {
"startTime": "2024-01-01T00:00:00.000Z",
"endTime": "2024-01-08T00:00:00.000Z",
"serviceName": "qa-events"
}
}

성능 고려사항

  1. 이벤트 처리: 비동기로 처리되므로 즉시 완료
  2. 부하 관리: 과도한 이벤트 발생 방지를 위한 제한
  3. 에러 처리: 명확한 에러 메시지 제공
  4. 로깅: 모든 이벤트 발생 기록 유지

보안 및 프라이버시

  • Service Account 토큰 인증 필요
  • 사용자 데이터 보호 준수
  • 권한이 있는 사용자만 이벤트 발생 가능
  • 이벤트 발생 로그 기록을 통한 추적 가능

관련 도구

  • get-user-virtual-time: 사용자의 현재 가상 시간 조회
  • change-user-virtual-time: 사용자의 가상 시간 변경
  • get-user-timemachine-status: TimeMachine 상태 확인
  • query-recent-errors: 관련 오류 조회

관련 문서