trigger-bedtime-1h-before MCP Tool
개요
trigger-bedtime-1h-before MCP Tool은 사용자의 컨텍스트를 "취침 1시간 전에 도달했음"으로 변경하기 위해 취침 1시간 전 이벤트를 발생시키는 도구입니다. QA 환경에서 수면 관련 시나리오를 테스트하거나 사용자의 취침 준비 상황을 시뮬레이션할 때 사용됩니다.
이 문서에서는 다음 사용 방법을 다룹니다:
- JSON 형식: 구조화된 데이터로 정확한 제어가 필요한 경우
- LLM AI Chat: 자연어로 간편하게 사용하고 싶은 경우
두 방법 모두 같은 결과를 제공하며, 사용자의 선호도와 상황에 따라 선택할 수 있습니다.
도구 정보
- 이름:
trigger_bedtime_1h_before - 설명: 사용자의 취침 1시간 전 이벤트를 발생시켜 컨텍스트를 변경하는 도구
- 카테고리: 시간 관리 및 수면 이벤트 시뮬레이션 도구
파라미터
필수 파라미터
| 파라미터 | 타입 | 설명 | 제약사항 |
|---|---|---|---|
userId | string | 취침 1시간 전 이벤트를 발생시킬 사용자 ID | UUID 형식 (예: 3a5822e5-595e-4bd5-b06a-f46104a34bd5) |
선택적 파라미터
| 파라미터 | 타입 | 설명 | 기본값 | 제약사항 |
|---|---|---|---|---|
scheduledBedtime | string | 예정된 취침 시간 | 현재 시간 | HH:mm 형식 (예: "22:30", "23:15") |
schedulerJobId | string | 스케줄러 작업 ID | 자동 생성 | 임의의 문자열 |
reason | string | 취침 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시간 전 이벤트 테스트"
}
}
문제 해결
일반적인 문제
- 사용자 미존재: 시스템에 등록되지 않은 사용자 ID
- 이벤트 서비스 오류: QA 이벤트 서비스 접근 불가
- 권한 부족: 취침 1시간 전 이벤트 발생 권한 없음
- 시간 형식 오류: 잘못된 시간 형식 입력
에러 응답 예시
사용자 미존재:
{
"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
}
문제 해결 가이드
- 사용자 ID 확인: 유효한 사용자 ID인지 확인
- 시간 형식 검증: HH:mm 형식으로 올바르게 입력했는지 확인
- 권한 확인: QA 이벤트 발생 권한이 있는지 확인
- 서비스 상태 확인: 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. 취침 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"
}
}
성능 고려사항
- 이벤트 처리: 비동기로 처리되므로 즉시 완료
- 부하 관리: 과도한 이벤트 발생 방지를 위한 제한
- 에러 처리: 명확한 에러 메시지 제공
- 로깅: 모든 이벤트 발생 기록 유지
보안 및 프라이버시
- Service Account 토큰 인증 필요
- 사용자 데이터 보호 준수
- 권한이 있는 사용자만 이벤트 발생 가능
- 이벤트 발생 로그 기록을 통한 추적 가능
관련 도구
- trigger-wake-time-reached: 기상 시간 이벤트 발생
- get-user-virtual-time: 사용자의 현재 가상 시간 조회
- change-user-virtual-time: 사용자의 가상 시간 변경
- get-user-timemachine-status: TimeMachine 상태 확인
- query-recent-errors: 관련 오류 조회