GetMyHotels
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Search hotels, get live prices, and check out in chat. Guest search needs no sign-in.
| Author | com.getmyhotels |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 5732 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"GetMyHotels": {
"url": "https://mcp.getmyhotels.com",
"transport": "streamable-http"
}
}
}
Measured tools (18)
searchread-onlySearch 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.
Parameters:
query(required) — string — Natural-language search, e.g. 'hotels in Lisbon 2026-08-10 to 2026-08-14 for 2 adults'.rooms— integer — Rooms (1-6). Default 1.adults— integer — Adults (1-10). Default 2.checkIn— string — Check-in date, ISO 8601 (YYYY-MM-DD).checkOut— string — Check-out date, ISO 8601 (YYYY-MM-DD). Must be after check-in.children— integer — Children (0-6). Default 0.keywords— string — Optional free-text preferences, e.g. 'beachfront pool spa'.destination— string — City, region, or place to search (e.g. 'Paris', 'Goa', 'Lower Manhattan').childrenAges— array — Age of each child at check-in. Length should equal `children`.guestNationality— string — ISO 3166-1 alpha-2 guest nationality (e.g. 'US', 'GB'). Affects supplier pricing.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
fetchread-onlyFetch 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.
Parameters:
id(required) — string — An id from `search` results, or a 'bk_'-prefixed booking ref.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
search_hotelsread-onlySearch 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).
Parameters:
destination(required) — string — City, region, or place to search (e.g. 'Paris', 'Goa', 'Lower Manhattan').checkIn(required) — string — Check-in date, ISO 8601 (YYYY-MM-DD).checkOut(required) — string — Check-out date, ISO 8601 (YYYY-MM-DD). Must be after check-in.rooms— integer — Rooms (1-6). Default 1.adults— integer — Adults (1-10). Default 2.children— integer — Children (0-6). Default 0.keywords— string — Optional free-text preferences, e.g. 'beachfront pool spa'.childrenAges— array — Age of each child at check-in. Length should equal `children`.guestNationality— string — ISO 3166-1 alpha-2 guest nationality (e.g. 'US', 'GB'). Affects supplier pricing.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
get_roomsread-onlyList 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.
Parameters:
checkIn(required) — string — Check-in date, ISO 8601 (YYYY-MM-DD).checkOut(required) — string — Check-out date, ISO 8601 (YYYY-MM-DD).ref— string — The hotel `ref` from search (e.g. 'tbo:1360717').rooms— integer — Rooms (default 1).adults— integer — Adults (default 2).children— integer — Children (default 0).supplierCode— string — Alternative to `ref`: supplier code.supplierHotelId— string — Alternative to `ref`: supplier hotel id.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
get_hotel_detailsread-onlyGet full property details (description, amenities, photos, policies, location) for a hotel, identified by its `ref` from `search_hotels` (or its supplierCode + supplierHotelId).
Parameters:
ref— string — The hotel `ref` from search (e.g. 'tbo:1360717').rooms— integer — Rooms (default 1).adults— integer — Adults (default 2).checkIn— string — Check-in date, ISO 8601 (YYYY-MM-DD). Pass the guest's dates when known: some suppliers only return a hotel that has rooms for them.checkOut— string — Check-out date, ISO 8601 (YYYY-MM-DD).children— integer — Children (default 0).supplierCode— string — Alternative to `ref`: supplier code.supplierHotelId— string — Alternative to `ref`: supplier hotel id.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
get_checkout_quoteread-onlyRe-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.
Parameters:
checkIn(required) — string — Check-in date, ISO 8601 (YYYY-MM-DD).checkOut(required) — string — Check-out date, ISO 8601 (YYYY-MM-DD).totalPrice(required) — number — The room's price from `search_hotels` — the TOTAL for the whole stay, not a nightly rate (used to detect price changes).currency(required) — string — ISO 4217 currency of `price`/`totalPrice` (e.g. 'USD').ref— string — Hotel `ref` from `search_hotels` (e.g. 'TBO:1402689'). Alternative to supplierCode + supplierHotelId.rooms— integer — Rooms (default 1).adults— integer — Adults (default 2).children— integer — Children (default 0).offerRef— string — Opaque room offer from get_rooms.promoCode— string — Optional promo code.childrenAges— array — Age of each child.supplierCode— string — Supplier code (from `search_hotels`). Required if `ref` is omitted.supplierRoomId— string — Bookable room/rate id from the chosen room in `search_hotels`.supplierHotelId— string — Supplier hotel id (from `search_hotels`). Required if `ref` is omitted.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
create_checkoutdestructiveCreate 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.
Parameters:
hotelName(required) — string — Hotel name (from `search_hotels`).roomName(required) — string — Room name (from the chosen room).checkIn(required) — string — Check-in date, ISO 8601 (YYYY-MM-DD).checkOut(required) — string — Check-out date, ISO 8601 (YYYY-MM-DD).price(required) — number — Total to charge for the WHOLE stay (use `grandTotal` from `get_checkout_quote` verbatim — do not multiply it by the number of nights).currency(required) — string — ISO 4217 currency of `price`/`totalPrice` (e.g. 'USD').ref— string — Hotel `ref` from `search_hotels` (e.g. 'TBO:1402689'). Alternative to supplierCode + supplierHotelId.rooms— integer — Rooms (default 1).adults— integer — Adults (default 2).children— integer — Children (default 0).offerRef— string — Opaque room offer from get_rooms.childrenAges— array — Age of each child.supplierCode— string — Supplier code (from `search_hotels`). Required if `ref` is omitted.supplierRoomId— string — Bookable room/rate id from the chosen room in `search_hotels`.supplierHotelId— string — Supplier hotel id (from `search_hotels`). Required if `ref` is omitted.
Hints: read-only no · destructive yes · idempotent not declared · open-world yes
get_bookingread-onlyLook up a hotel booking by its management token (sent in the confirmation email). Returns the booking status, hotel, dates, and guest details.
Parameters:
bookingToken(required) — string — The booking management token from the confirmation email/URL.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world not declared
list_tripsread-onlyList the signed-in user's saved trips (itineraries).
Hints: read-only yes · destructive not declared · idempotent not declared · open-world not declared
save_tripCreate a new saved trip (itinerary) for the signed-in user.
Parameters:
title(required) — string — Trip title (1-255 chars).startDate(required) — string — Trip start, ISO 8601 (YYYY-MM-DD).endDate(required) — string — Trip end, ISO 8601 (YYYY-MM-DD).budget— number — Optional total budget.description— string — Optional notes (≤4000 chars).budgetCurrency— string — ISO 4217 currency for the budget (e.g. 'USD').
Hints: read-only no · destructive no · idempotent not declared · open-world no
add_trip_itemAdd an item (hotel, activity, meal, etc.) to a saved trip on a given day.
Parameters:
itineraryPublicId(required) — string — The trip's public id (from `list_trips`/`save_trip`).day(required) — integer — Day number within the trip.type(required) — string — Item type.title(required) — string — Item title (1-255 chars).sortOrder— integer — Order within the day (default 0).description— string — Optional notes (≤2000 chars).
Hints: read-only no · destructive no · idempotent not declared · open-world no
list_my_bookingsread-onlyList the signed-in user's hotel bookings.
Parameters:
page— integer — Page number (default 1).limit— integer — Page size (default 20).
Hints: read-only yes · destructive not declared · idempotent not declared · open-world not declared
get_my_bookingread-onlyGet full details of one of the signed-in user's bookings by its public id.
Parameters:
publicId(required) — string — The booking's public id.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world not declared
request_booking_action_codeEmail 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.
Parameters:
publicId(required) — string — The booking's public id.action(required) — string — Which action the code authorizes.
Hints: read-only no · destructive no · idempotent yes · open-world no
cancel_bookingdestructiveCancel 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.
Parameters:
publicId(required) — string — The booking's public id.verificationCode(required) — string — 6-digit code from `request_booking_action_code`.reason— string — Optional cancellation reason (≤1000 chars).
Hints: read-only no · destructive yes · idempotent not declared · open-world no
modify_bookingdestructiveChange 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`.
Parameters:
publicId(required) — string — The booking's public id.verificationCode(required) — string — 6-digit code from `request_booking_action_code`.checkIn— string — New check-in date, ISO 8601 (optional).checkOut— string — New check-out date, ISO 8601 (optional).specialRequests— string — New special requests (≤2000 chars, optional).
Hints: read-only no · destructive yes · idempotent not declared · open-world no
list_payment_methodsread-onlyList 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.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world not declared
create_one_click_checkoutdestructiveCreate 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.
Parameters:
savedPaymentMethodPublicId(required) — string — Saved card `publicId` from `list_payment_methods`.hotelName(required) — string — Hotel name.roomName(required) — string — Room name.checkIn(required) — string — Check-in date, ISO 8601.checkOut(required) — string — Check-out date, ISO 8601.price(required) — number — Total for the WHOLE stay (use `grandTotal` from `get_checkout_quote` verbatim — do not multiply it by the number of nights).currency(required) — string — ISO 4217 currency (e.g. 'USD').ref— string — Hotel `ref` from `search_hotels` (e.g. 'TBO:1402689').rooms— integer — Rooms (default 1).adults— integer — Adults (default 2).children— integer — Children (default 0).offerRef— string — Opaque room offer from get_rooms.supplierCode— string — Supplier code (if `ref` omitted).supplierRoomId— string — Bookable room/rate id from `search_hotels`.supplierHotelId— string — Supplier hotel id (if `ref` omitted).
Hints: read-only no · destructive yes · idempotent not declared · open-world yes
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.