{"ok":true,"site":{"host":"web-mcp-two.vercel.app","url":"https://web-mcp-two.vercel.app/","type":"live","desc":"","tools":[{"name":"list_bookings","kind":"answer","impl":"imperative","description":"여행 예약 목록을 조회한다. status 로 필터링할 수 있다. 어떤 예약을 처리할지 고르기 전에 먼저 호출하라.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"status":{"type":"string","enum":["requested","confirmed","ticketed","completed"],"description":"이 상태의 예약만 반환한다. 생략하면 전체."},"limit":{"type":"number","description":"최대 개수 (기본 20)"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"get_booking","kind":"answer","impl":"imperative","description":"예약 하나의 상세 정보를 조회한다.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"bookingId":{"type":"string","description":"예: BKG-2002"}},"required":["bookingId"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"check_availability","kind":"answer","impl":"imperative","description":"객실 상품의 잔여 현황을 조회한다. roomCode 를 주면 해당 상품만, 생략하면 전체를 반환한다. total 은 확보한 총 객실 수, assigned 는 이미 다른 예약에 배정된 수이며 실제로 판매 가능한 수량은 available 이다.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"roomCode":{"type":"string","description":"예: JEJU-OCEAN"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"assign_rooms","kind":"transact","impl":"imperative","description":"예약에 객실을 배정하고 상태를 confirmed 로 바꾼다. 잔여 객실이 모자라면 아무것도 바꾸지 않고 부족분을 보고한다.","inputSchema":{"type":"object","properties":{"bookingId":{"type":"string"}},"required":["bookingId"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"open_room_block","kind":"act","impl":"imperative","description":"호텔에서 지정한 roomCode의 판매 블록을 추가 확보해 총 객실 수(total)를 늘린다. 잔여가 모자라 배정이 막혔을 때 부족한 수량만 요청한다. 다른 도시나 다른 객실 코드로 대체하지 않는다.","inputSchema":{"type":"object","properties":{"roomCode":{"type":"string"},"qty":{"type":"number","minimum":1,"description":"추가 확보할 객실 수 (1 이상)"}},"required":["roomCode","qty"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"advance_booking_status","kind":"answer","impl":"imperative","description":"예약 상태를 다음 단계로 진행시킨다. 흐름: requested(요청 접수) → confirmed(객실 확정) → ticketed(바우처 발급) → completed(투숙 완료)","inputSchema":{"type":"object","properties":{"bookingId":{"type":"string"}},"required":["bookingId"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"cancel_booking","kind":"transact","impl":"imperative","description":"예약을 취소하고 결제 금액을 환불 처리한다. 되돌릴 수 없는 작업이며 사람 승인이 필요하다. 승인 UI가 화면에 뜨고, 사용자가 누를 때까지 이 도구는 대기한다.","inputSchema":{"type":"object","properties":{"bookingId":{"type":"string"},"reason":{"type":"string","description":"취소 사유"}},"required":["bookingId","reason"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"create_support_ticket_via_form","kind":"transact","impl":"imperative","description":"문의 티켓 폼을 채워 제출한다. 선언형 <form toolname=\"create_support_ticket\"> 을 브라우저가 도구로 합성해 호출할 때와 동일한 경로를 탄다.","inputSchema":{"type":"object","properties":{"bookingId":{"type":"string"},"body":{"type":"string"}},"required":["bookingId","body"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"create_support_ticket","kind":"act","impl":"declarative","description":"고객 문의 티켓을 생성한다. 예약에 대한 투숙객 문의를 접수할 때 사용한다.","inputSchema":{"type":"object","properties":{"bookingId":{"type":"string"},"body":{"type":"string"}},"required":["bookingId","body"]},"__source":"spec","__declarative":true}],"category":"Travel & Events","apiSurface":"spec","toolCount":9}}