본문으로 건너뛰기

trigger-bedtime-1h-before MCP Tool

개요

trigger-bedtime-1h-before MCP Tool은 사용자의 컨텍스트를 "취침 1시간 전에 도달했음"으로 변경하기 위해 취침 1시간 전 이벤트를 발생시키는 도구입니다. QA 환경에서 수면 관련 시나리오를 테스트하거나 사용자의 취침 준비 상황을 시뮬레이션할 때 사용됩니다.

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

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

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

도구 정보

  • 이름: trigger_bedtime_1h_before
  • 설명: 사용자의 취침 1시간 전 이벤트를 발생시켜 컨텍스트를 변경하는 도구
  • 카테고리: 시간 관리 및 수면 이벤트 시뮬레이션 도구

파라미터

필수 파라미터

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

선택적 파라미터

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

파라미터 형식 검증

userId

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

scheduledBedtime

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

LLM AI Chat에서의 사용법

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

기본 취침 1시간 전 이벤트 발생

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

또는

사용자 ID 3a5822e5-595e-4bd5-b06a-f46104a34bd5에게 취침 1시간 전 알림 이벤트를 트리거해주세요.

특정 시간으로 취침 1시간 전 이벤트 발생

사용자 3a5822e5-595e-4bd5-b06a-f46104a34bd5의 취침 시간을 22:30으로 설정하고 취침 1시간 전 이벤트를 발생시켜주세요.
사용자 3a5822e5-595e-4bd5-b06a-f46104a34bd5에게 23:15 취침 기준으로 1시간 전 알림을 보내주세요.

테스트 목적 취침 1시간 전 이벤트

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

자연어 응답 예시

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

응답: "취침 1시간 전 이벤트를 성공적으로 발생시켰습니다.

🌙 취침 1시간 전 이벤트 발생 결과:

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

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

사용 예시 (JSON 형식)

기본 취침 1시간 전 이벤트 발생

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

특정 시간 취침 1시간 전 이벤트

{
"tool": "trigger_bedtime_1h_before",
"arguments": {
"userId": "3a5822e5-595e-4bd5-b06a-f46104a34bd5",
"scheduledBedtime": "22:30",
"reason": "저녁 10시 30분 취침 시나리오 테스트"
}
}

스케줄러 작업과 연동

{
"tool": "trigger_bedtime_1h_before",
"arguments": {
"userId": "3a5822e5-595e-4bd5-b06a-f46104a34bd5",
"scheduledBedtime": "23:15",
"schedulerJobId": "bedtime-job-001",
"reason": "자동 스케줄러 취침 1시간 전 알림 테스트"
}
}

응답 형식

성공 응답 예시

{
"content": [
{
"type": "text",
"text": "✅ Successfully triggered bedtime one hour before reached event for user 3a5822e5-595e-4bd5-b06a-f46104a34bd5:\n\nEvent ID: evt_bedtime_20240108_213000\nEvent Type: BEDTIME_ONE_HOUR_BEFORE_REACHED\nUser ID: 3a5822e5-595e-4bd5-b06a-f46104a34bd5\nTimestamp: 2024-01-08T21:30:00.000Z\nMessage: Bedtime one hour before event successfully triggered"
}
]
}

응답 데이터 구조

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

사용 시나리오

시나리오 1: 취침 알림 테스트

LLM AI Chat:

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

JSON 형식:

{
"tool": "trigger_bedtime_1h_before",
"arguments": {
"userId": "3a5822e5-595e-4bd5-b06a-f46104a34bd5",
"reason": "취침 1시간 전 알림 기능 테스트"
}
}

시나리오 2: 특정 시간 취침 준비 시뮬레이션

LLM AI Chat:

사용자 3a5822e5-595e-4bd5-b06a-f46104a34bd5이 밤 10시 30분에 취침한다고 가정하고 
9시 30분에 취침 1시간 전 이벤트를 발생시켜주세요.

JSON 형식:

{
"tool": "trigger_bedtime_1h_before",
"arguments": {
"userId": "3a5822e5-595e-4bd5-b06a-f46104a34bd5",
"scheduledBedtime": "22:30",
"reason": "밤 10시 30분 취침 시나리오 시뮬레이션"
}
}

시나리오 3: 수면 루틴 테스트

LLM AI Chat:

수면 루틴 관리를 위해 사용자 3a5822e5-595e-4bd5-b06a-f46104a34bd5의 
취침 1시간 전 이벤트를 발생시키고 수면 준비 상태를 확인해주세요.

JSON 형식:

{
"tool": "trigger_bedtime_1h_before",
"arguments": {
"userId": "3a5822e5-595e-4bd5-b06a-f46104a34bd5",
"scheduledBedtime": "23:00",
"reason": "수면 루틴 관리 테스트"
}
}

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

LLM AI Chat:

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

JSON 형식:

{
"tool": "trigger_bedtime_1h_before",
"arguments": {
"userId": "3a5822e5-595e-4bd5-b06a-f46104a34bd5",
"scheduledBedtime": "22:00",
"schedulerJobId": "auto-bedtime-001",
"reason": "자동화 취침 준비 워크플로우 테스트"
}
}

시나리오 5: 연속 취침 알림 테스트

LLM AI Chat:

연속적인 취침 알림 처리를 테스트하기 위해 
여러 번의 취침 1시간 전 이벤트를 발생시켜주세요.

JSON 형식 (순차 실행):

// 1차 취침 1시간 전 이벤트
{
"tool": "trigger_bedtime_1h_before",
"arguments": {
"userId": "3a5822e5-595e-4bd5-b06a-f46104a34bd5",
"scheduledBedtime": "22:30",
"reason": "첫 번째 취침 1시간 전 이벤트 테스트"
}
}

// 2차 취침 1시간 전 이벤트 (다른 시간)
{
"tool": "trigger_bedtime_1h_before",
"arguments": {
"userId": "3a5822e5-595e-4bd5-b06a-f46104a34bd5",
"scheduledBedtime": "23:00",
"reason": "두 번째 취침 1시간 전 이벤트 테스트"
}
}

문제 해결

일반적인 문제

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

에러 응답 예시

사용자 미존재:

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

권한 부족:

{
"content": [
{
"type": "text",
"text": "❌ Error triggering bedtime one hour before reached event: Insufficient permissions to trigger QA events"
}
],
"isError": true
}

시간 형식 오류:

{
"content": [
{
"type": "text",
"text": "❌ Error triggering bedtime one hour before reached event: Invalid event data or request format"
}
],
"isError": true
}

문제 해결 가이드

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

기술적 세부 사항

이벤트 타입

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

SLEEP_CROSS_EVENT_TYPES.BEDTIME_ONE_HOUR_BEFORE_REACHED

API 엔드포인트

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

POST /v1/qa/events/custom

요청 페이로드

{
userId: string,
eventType: 'BEDTIME_ONE_HOUR_BEFORE_REACHED'
}

수면 관련 이벤트 시퀀스

취침 1시간 전 이벤트는 일반적으로 다음과 같은 수면 이벤트 시퀀스의 일부입니다:

  1. 취침 1시간 전 알림 (이 도구) - 수면 준비 시작
  2. 취침 시간 알림 - 실제 취침 시간 도달
  3. 수면 시작 - 사용자가 잠자리에 들음
  4. 기상 시간 알림 - 목표 기상 시간 도달

모니터링 및 추적

1. 취침 1시간 전 이벤트 발생 이력 추적

LLM AI Chat:

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

JSON 형식:

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

2. 이벤트 처리 실패 분석

LLM AI Chat:

취침 1시간 전 이벤트 발생 실패 관련 에러 패턴을 분석해주세요.

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 토큰 인증 필요
  • 사용자 데이터 보호 준수
  • 권한이 있는 사용자만 이벤트 발생 가능
  • 이벤트 발생 로그 기록을 통한 추적 가능

관련 도구

  • trigger-wake-time-reached: 기상 시간 이벤트 발생
  • get-user-virtual-time: 사용자의 현재 가상 시간 조회
  • change-user-virtual-time: 사용자의 가상 시간 변경
  • get-user-timemachine-status: TimeMachine 상태 확인
  • query-recent-errors: 관련 오류 조회

관련 문서