MCP 서버

GetMyHotels

com.getmyhotels/getmyhotels
여행 및 호스피탈리티 공개 · 연결 가능 MCP 2026-07-28

이 MCP로 할 수 있는 일

Searches live hotel availability and prices, retrieves rooms and booking details, manages trips and bookings, and creates hosted hotel checkout links.

add_trip_item
Add trip item
Add an item (hotel, flight, activity, etc.) to a saved trip on a given day.
입력 스키마
{'type': 'object', 'required': ['itineraryPublicId', 'day', 'type', 'title'], 'properties': {'day': {'type': 'integer', 'maximum': 365, 'minimum': 1, 'description': 'Day number within the trip.'}, 'type': {'enum': ['hotel', 'flight', 'experience', 'transfer', 'activity', 'meal', 'note'], 'type': 'string', 'description': 'Item type.'}, 'title': {'type': 'string', 'description': 'Item title (1-255 chars).'}, 'sortOrder': {'type': 'integer', 'minimum': 0, 'description': 'Order within the day (default 0).'}, 'description': {'type': 'string', 'description': 'Optional notes (≤2000 chars).'}, 'itineraryPublicId': {'type': 'string', 'description': "The trip's public id (from `list_trips`/`save_trip`)."}}, 'additionalProperties': False}
cancel_booking
Cancel booking
Cancel one of the signed-in user's bookings. Requires the 6-digit `verificationCode` from `request_booking_action_code`. This may be irreversible and can trigger a refund per policy.
파괴적 작업
입력 스키마
{'type': 'object', 'required': ['publicId', 'verificationCode'], 'properties': {'reason': {'type': 'string', 'description': 'Optional cancellation reason (≤1000 chars).'}, 'publicId': {'type': 'string', 'description': "The booking's public id."}, 'verificationCode': {'type': 'string', 'description': '6-digit code from `request_booking_action_code`.'}}, 'additionalProperties': False}
create_checkout
Create checkout
Create a secure checkout for a chosen hotel room and return a getmyhotels.com URL where the guest completes payment. This does NOT charge the card — the guest pays on the hosted page. Confirm the hotel, room, dates, and price with the user before calling. Call `get_checkout_quote` first to confirm the live price.
파괴적 작업 외부 접근 가능
입력 스키마
{'type': 'object', 'required': ['hotelName', 'roomName', 'checkIn', 'checkOut', 'price', 'currency'], 'properties': {'ref': {'type': 'string', 'description': "Hotel `ref` from `search_hotels` (e.g. 'TBO:1402689'). Alternative to supplierCode + supplierHotelId."}, 'price': {'type': 'number', 'description': 'Total to charge for the WHOLE stay (use `grandTotal` from `get_checkout_quote` verbatim — do not multiply it by the number of nights).'}, 'rooms': {'type': 'integer', 'maximum': 9, 'minimum': 1, 'description': 'Rooms (default 1).'}, 'adults': {'type': 'integer', 'maximum': 10, 'minimum': 1, 'description': 'Adults (default 2).'}, 'checkIn': {'type': 'string', 'description': 'Check-in date, ISO 8601 (YYYY-MM-DD).'}, 'checkOut': {'type': 'string', 'description': 'Check-out date, ISO 8601 (YYYY-MM-DD).'}, 'children': {'type': 'integer', 'maximum': 6, 'minimum': 0, 'description': 'Children (default 0).'}, 'currency': {'type': 'string', 'description': "ISO 4217 currency of `price`/`totalPrice` (e.g. 'USD')."}, 'offerRef': {'type': 'string', 'description': 'Opaque room offer from get_rooms.'}, 'roomName': {'type': 'string', 'description': 'Room name (from the chosen room).'}, 'hotelName': {'type': 'string', 'description': 'Hotel name (from `search_hotels`).'}, 'childrenAges': {'type': 'array', 'items': {'type': 'integer', 'maximum': 18, 'minimum': 0}, 'description': 'Age of each child.'}, 'supplierCode': {'type': 'string', 'description': 'Supplier code (from `search_hotels`). Required if `ref` is omitted.'}, 'supplierRoomId': {'type': 'string', 'description': 'Bookable room/rate id from the chosen room in `search_hotels`.'}, 'supplierHotelId': {'type': 'string', 'description': 'Supplier hotel id (from `search_hotels`). Required if `ref` is omitted.'}}, 'additionalProperties': False}
create_one_click_checkout
Create one-click checkout
Create a checkout for the signed-in user with a saved card pre-selected, and return a getmyhotels.com URL where they confirm + pay in one click. Does NOT charge the card — the user confirms on the hosted page. Get the `savedPaymentMethodPublicId` from `list_payment_methods`. Confirm the hotel, room, dates, and price with the user first.
파괴적 작업 외부 접근 가능
입력 스키마
{'type': 'object', 'required': ['savedPaymentMethodPublicId', 'hotelName', 'roomName', 'checkIn', 'checkOut', 'price', 'currency'], 'properties': {'ref': {'type': 'string', 'description': "Hotel `ref` from `search_hotels` (e.g. 'TBO:1402689')."}, 'price': {'type': 'number', 'description': 'Total for the WHOLE stay (use `grandTotal` from `get_checkout_quote` verbatim — do not multiply it by the number of nights).'}, 'rooms': {'type': 'integer', 'maximum': 9, 'minimum': 1, 'description': 'Rooms (default 1).'}, 'adults': {'type': 'integer', 'maximum': 10, 'minimum': 1, 'description': 'Adults (default 2).'}, 'checkIn': {'type': 'string', 'description': 'Check-in date, ISO 8601.'}, 'checkOut': {'type': 'string', 'description': 'Check-out date, ISO 8601.'}, 'children': {'type': 'integer', 'maximum': 6, 'minimum': 0, 'description': 'Children (default 0).'}, 'currency': {'type': 'string', 'description': "ISO 4217 currency (e.g. 'USD')."}, 'offerRef': {'type': 'string', 'description': 'Opaque room offer from get_rooms.'}, 'roomName': {'type': 'string', 'description': 'Room name.'}, 'hotelName': {'type': 'string', 'description': 'Hotel name.'}, 'supplierCode': {'type': 'string', 'description': 'Supplier code (if `ref` omitted).'}, 'supplierRoomId': {'type': 'string', 'description': 'Bookable room/rate id from `search_hotels`.'}, 'supplierHotelId': {'type': 'string', 'description': 'Supplier hotel id (if `ref` omitted).'}, 'savedPaymentMethodPublicId': {'type': 'string', 'description': 'Saved card `publicId` from `list_payment_methods`.'}}, 'additionalProperties': False}
fetch
Fetch
Fetch the full record for a result id returned by `search` (a hotel) or for a booking reference (prefixed 'bk_'). Returns a document with id, title, text, url, and metadata.
읽기 전용 외부 접근 가능
입력 스키마
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': "An id from `search` results, or a 'bk_'-prefixed booking ref."}}, 'additionalProperties': False}
get_booking
Get booking
Look up a hotel booking by its management token (sent in the confirmation email). Returns the booking status, hotel, dates, and guest details.
읽기 전용
입력 스키마
{'type': 'object', 'required': ['bookingToken'], 'properties': {'bookingToken': {'type': 'string', 'description': 'The booking management token from the confirmation email/URL.'}}, 'additionalProperties': False}
get_checkout_quote
Get checkout quote
Re-price a specific room live against the supplier before checkout (no booking, no charge). Use the `offerRef` and price/currency from `get_rooms`. Returns the authoritative grand total, a `rateValidUntil` timestamp, and any taxes/fees.
읽기 전용 외부 접근 가능
입력 스키마
{'type': 'object', 'required': ['checkIn', 'checkOut', 'totalPrice', 'currency'], 'properties': {'ref': {'type': 'string', 'description': "Hotel `ref` from `search_hotels` (e.g. 'TBO:1402689'). Alternative to supplierCode + supplierHotelId."}, 'rooms': {'type': 'integer', 'maximum': 9, 'minimum': 1, 'description': 'Rooms (default 1).'}, 'adults': {'type': 'integer', 'maximum': 10, 'minimum': 1, 'description': 'Adults (default 2).'}, 'checkIn': {'type': 'string', 'description': 'Check-in date, ISO 8601 (YYYY-MM-DD).'}, 'checkOut': {'type': 'string', 'description': 'Check-out date, ISO 8601 (YYYY-MM-DD).'}, 'children': {'type': 'integer', 'maximum': 6, 'minimum': 0, 'description': 'Children (default 0).'}, 'currency': {'type': 'string', 'description': "ISO 4217 currency of `price`/`totalPrice` (e.g. 'USD')."}, 'offerRef': {'type': 'string', 'description': 'Opaque room offer from get_rooms.'}, 'promoCode': {'type': 'string', 'description': 'Optional promo code.'}, 'totalPrice': {'type': 'number', 'description': "The room's price from `search_hotels` — the TOTAL for the whole stay, not a nightly rate (used to detect price changes)."}, 'childrenAges': {'type': 'array', 'items': {'type': 'integer', 'maximum': 18, 'minimum': 0}, 'description': 'Age of each child.'}, 'supplierCode': {'type': 'string', 'description': 'Supplier code (from `search_hotels`). Required if `ref` is omitted.'}, 'supplierRoomId': {'type': 'string', 'description': 'Bookable room/rate id from the chosen room in `search_hotels`.'}, 'supplierHotelId': {'type': 'string', 'description': 'Supplier hotel id (from `search_hotels`). Required if `ref` is omitted.'}}, 'additionalProperties': False}
get_hotel_details
Get hotel details
Get full property details (description, amenities, photos, policies, location) for a hotel, identified by its `ref` from `search_hotels` (or its supplierCode + supplierHotelId).
읽기 전용 외부 접근 가능
입력 스키마
{'type': 'object', 'properties': {'ref': {'type': 'string', 'description': "The hotel `ref` from search (e.g. 'tbo:1360717')."}, 'supplierCode': {'type': 'string', 'description': 'Alternative to `ref`: supplier code.'}, 'supplierHotelId': {'type': 'string', 'description': 'Alternative to `ref`: supplier hotel id.'}}, 'additionalProperties': False}
get_my_booking
Get my booking
Get full details of one of the signed-in user's bookings by its public id.
읽기 전용
입력 스키마
{'type': 'object', 'required': ['publicId'], 'properties': {'publicId': {'type': 'string', 'description': "The booking's public id."}}, 'additionalProperties': False}
get_rooms
Get hotel rooms
List the bookable rooms for ONE hotel and date range. Each room's `offerRef` is what you pass to `get_checkout_quote` / `create_checkout`. Use the hotel `ref` from `search_hotels` or `search`. Call this to see all of a chosen hotel's rooms, or to refresh availability before checkout.
읽기 전용 외부 접근 가능
입력 스키마
{'type': 'object', 'required': ['checkIn', 'checkOut'], 'properties': {'ref': {'type': 'string', 'description': "The hotel `ref` from search (e.g. 'tbo:1360717')."}, 'rooms': {'type': 'integer', 'maximum': 9, 'minimum': 1, 'description': 'Rooms (default 1).'}, 'adults': {'type': 'integer', 'maximum': 10, 'minimum': 1, 'description': 'Adults (default 2).'}, 'checkIn': {'type': 'string', 'description': 'Check-in date, ISO 8601 (YYYY-MM-DD).'}, 'checkOut': {'type': 'string', 'description': 'Check-out date, ISO 8601 (YYYY-MM-DD).'}, 'children': {'type': 'integer', 'maximum': 6, 'minimum': 0, 'description': 'Children (default 0).'}, 'supplierCode': {'type': 'string', 'description': 'Alternative to `ref`: supplier code.'}, 'supplierHotelId': {'type': 'string', 'description': 'Alternative to `ref`: supplier hotel id.'}}, 'additionalProperties': False}
list_my_bookings
List my bookings
List the signed-in user's hotel bookings.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {'page': {'type': 'integer', 'minimum': 1, 'description': 'Page number (default 1).'}, 'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size (default 20).'}}, 'additionalProperties': False}
list_payment_methods
List saved cards
List the signed-in user's saved payment cards (brand, last 4, expiry, default). Use the returned `publicId` with `create_one_click_checkout` to pre-select a card.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {}, 'additionalProperties': False}
list_trips
List saved trips
List the signed-in user's saved trips (itineraries).
읽기 전용
입력 스키마
{'type': 'object', 'properties': {}, 'additionalProperties': False}
modify_booking
Modify booking
Change one of the signed-in user's bookings. Requires the 6-digit `verificationCode` from `request_booking_action_code`. Special-request edits always apply. A DATE change is pushed to the hotel supplier as a cancel-and-rebook at current availability, so it only works for suppliers that support amendment — for others (and when no room is available for the new dates) it returns an error asking you to cancel and rebook instead. A date change can shift the price and issue a new confirmation; the result's `supplierModifyStatus` says whether the supplier reservation was actually changed (`modified`), simulated (`simulated`), or the edit stayed local (`local_only`, e.g. special requests only). Never promise a date change went through unless `supplierModifyStatus` is `modified` or `simulated`.
파괴적 작업
입력 스키마
{'type': 'object', 'required': ['publicId', 'verificationCode'], 'properties': {'checkIn': {'type': 'string', 'description': 'New check-in date, ISO 8601 (optional).'}, 'checkOut': {'type': 'string', 'description': 'New check-out date, ISO 8601 (optional).'}, 'publicId': {'type': 'string', 'description': "The booking's public id."}, 'specialRequests': {'type': 'string', 'description': 'New special requests (≤2000 chars, optional).'}, 'verificationCode': {'type': 'string', 'description': '6-digit code from `request_booking_action_code`.'}}, 'additionalProperties': False}
request_booking_action_code
Request booking action code
Email a 6-digit verification code to the booking owner, required before cancelling or modifying a booking. Step 1 of 2 — then call `cancel_booking`/`modify_booking` with the code.
멱등성
입력 스키마
{'type': 'object', 'required': ['publicId', 'action'], 'properties': {'action': {'enum': ['cancel', 'modify'], 'type': 'string', 'description': 'Which action the code authorizes.'}, 'publicId': {'type': 'string', 'description': "The booking's public id."}}, 'additionalProperties': False}
save_trip
Save a trip
Create a new saved trip (itinerary) for the signed-in user.
입력 스키마
{'type': 'object', 'required': ['title', 'startDate', 'endDate'], 'properties': {'title': {'type': 'string', 'description': 'Trip title (1-255 chars).'}, 'budget': {'type': 'number', 'description': 'Optional total budget.'}, 'endDate': {'type': 'string', 'description': 'Trip end, ISO 8601 (YYYY-MM-DD).'}, 'startDate': {'type': 'string', 'description': 'Trip start, ISO 8601 (YYYY-MM-DD).'}, 'description': {'type': 'string', 'description': 'Optional notes (≤4000 chars).'}, 'budgetCurrency': {'type': 'string', 'description': "ISO 4217 currency for the budget (e.g. 'USD')."}}, 'additionalProperties': False}
search
Search
Search GetMyHotels for hotels matching a query. Returns a list of results with ids that can be passed to `fetch` for full details. Provide the destination and travel dates in the query.
읽기 전용 외부 접근 가능
입력 스키마
{'type': 'object', 'required': ['query'], 'properties': {'query': {'type': 'string', 'description': "Natural-language search, e.g. 'hotels in Lisbon 2026-08-10 to 2026-08-14 for 2 adults'."}, 'rooms': {'type': 'integer', 'maximum': 6, 'minimum': 1, 'description': 'Rooms (1-6). Default 1.'}, 'adults': {'type': 'integer', 'maximum': 10, 'minimum': 1, 'description': 'Adults (1-10). Default 2.'}, 'checkIn': {'type': 'string', 'description': 'Check-in date, ISO 8601 (YYYY-MM-DD).'}, 'checkOut': {'type': 'string', 'description': 'Check-out date, ISO 8601 (YYYY-MM-DD). Must be after check-in.'}, 'children': {'type': 'integer', 'maximum': 6, 'minimum': 0, 'description': 'Children (0-6). Default 0.'}, 'keywords': {'type': 'string', 'description': "Optional free-text preferences, e.g. 'beachfront pool spa'."}, 'destination': {'type': 'string', 'description': "City, region, or place to search (e.g. 'Paris', 'Goa', 'Lower Manhattan')."}, 'childrenAges': {'type': 'array', 'items': {'type': 'integer', 'maximum': 17, 'minimum': 0}, 'description': 'Age of each child at check-in. Length should equal `children`.'}, 'guestNationality': {'type': 'string', 'description': "ISO 3166-1 alpha-2 guest nationality (e.g. 'US', 'GB'). Affects supplier pricing."}}, 'additionalProperties': False}
search_hotels
Search hotels
Search live hotel availability for a destination and date range. Returns a price-sorted list of hotels (JSON in the text), each with an opaque `ref` and an indicative stay price. To book: call `get_rooms` and pass the chosen room's `offerRef` to `get_checkout_quote` then `create_checkout`. For a hotel's other rooms (or a hotel not in the list), call `get_rooms`. Narrow with `keywords` (a hotel name, area, or amenities).
읽기 전용 외부 접근 가능
입력 스키마
{'type': 'object', 'required': ['destination', 'checkIn', 'checkOut'], 'properties': {'rooms': {'type': 'integer', 'maximum': 6, 'minimum': 1, 'description': 'Rooms (1-6). Default 1.'}, 'adults': {'type': 'integer', 'maximum': 10, 'minimum': 1, 'description': 'Adults (1-10). Default 2.'}, 'checkIn': {'type': 'string', 'description': 'Check-in date, ISO 8601 (YYYY-MM-DD).'}, 'checkOut': {'type': 'string', 'description': 'Check-out date, ISO 8601 (YYYY-MM-DD). Must be after check-in.'}, 'children': {'type': 'integer', 'maximum': 6, 'minimum': 0, 'description': 'Children (0-6). Default 0.'}, 'keywords': {'type': 'string', 'description': "Optional free-text preferences, e.g. 'beachfront pool spa'."}, 'destination': {'type': 'string', 'description': "City, region, or place to search (e.g. 'Paris', 'Goa', 'Lower Manhattan')."}, 'childrenAges': {'type': 'array', 'items': {'type': 'integer', 'maximum': 17, 'minimum': 0}, 'description': 'Age of each child at check-in. Length should equal `children`.'}, 'guestNationality': {'type': 'string', 'description': "ISO 3166-1 alpha-2 guest nationality (e.g. 'US', 'GB'). Affects supplier pricing."}}, 'additionalProperties': False}
추가됨
create_one_click_checkout
2026년 9월 17일 12:35 PM
추가됨
list_payment_methods
2026년 9월 17일 12:35 PM
추가됨
modify_booking
2026년 9월 17일 12:35 PM
추가됨
cancel_booking
2026년 9월 17일 12:35 PM
추가됨
request_booking_action_code
2026년 9월 17일 12:35 PM
추가됨
get_my_booking
2026년 9월 17일 12:35 PM
추가됨
list_my_bookings
2026년 9월 17일 12:35 PM
추가됨
add_trip_item
2026년 9월 17일 12:35 PM
추가됨
save_trip
2026년 9월 17일 12:35 PM
추가됨
list_trips
2026년 9월 17일 12:35 PM
추가됨
get_booking
2026년 9월 17일 12:35 PM
추가됨
create_checkout
2026년 9월 17일 12:35 PM
추가됨
get_checkout_quote
2026년 9월 17일 12:35 PM
추가됨
get_hotel_details
2026년 9월 17일 12:35 PM
추가됨
get_rooms
2026년 9월 17일 12:35 PM
추가됨
search_hotels
2026년 9월 17일 12:35 PM
추가됨
fetch
2026년 9월 17일 12:35 PM
추가됨
search
2026년 9월 17일 12:35 PM