PriceWin
Server Details
Live hotel and flight prices compared across Booking.com, Agoda, Trip.com and Traveloka, in USD.
- Status
- Healthy
- Uptime
- 100.0% over the last 24 hours
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 16 tools
Most tools have sharply distinct roles: live search starters (search_hotels_live, search_flights_live) are separated from their pollers, and the two-step cancellation flow (request_cancel_token → cancel_booking) is clearly split. The weak spot is the trio get_hotel_detail / get_hotel_info / get_ota_hotel_detail, which share near-identical naming and hotel-lookup purpose; the descriptions do disambiguate by source (OpenTravel direct vs Booking.com OTA) and by dated vs static, but an agent can still misselect. compare_hotel_link vs search_hotels_live is also a subtle distinction (one hotel vs a city) that only the descriptions resolve.
Every tool follows a snake_case verb_noun pattern: get_*, search_*_live, poll_*_results, request_*, cancel_booking, compare_hotel_link. Even the multi-word cases (request_cancel_token, check_booking_status) keep the verb-first convention. No camelCase or vague single-word names anywhere.
16 tools is at the upper end of comfortable, but each maps to a real step in the travel search/book/cancel lifecycle rather than redundant surface. The count is justified by parallel hotel and flight pipelines (search + poll + detail) plus a two-step cancellation flow. Slightly heavy but not padded.
Coverage is strong: live hotel and flight search with polling, hotel detail at three levels, cancellation policy lookup, booking request, and a token-gated cancel with refunds. Gaps remain — there is no way to list a guest's bookings (only per-code status), no booking modification, and no flight booking at all (flights are search-only). record_travel_interaction also feels like an orphan analytics hook rather than a user-facing operation.
Available Tools
16 toolscancel_bookingCancel Booking (step 2 of 2)ADestructiveInspect
Second of two steps to cancel a booking: cancels it and starts any refund due. Irreversible. Requires the confirmation code and the single-use token that request_cancel_token emailed to the guest; a missing, expired or already-used token is rejected. get_cancellation_policy shows the refund terms that apply.
Inputs: reason (required), cancelToken (required), confirmationCode (required). Returns: status, refundAmount, refundStatus, gatewaySettlementEta
check_booking_statusCheck Booking StatusARead-onlyInspect
Returns the current status of a booking request (waiting for the hotel, confirmed or cancelled) by the confirmation code request_booking returned.
Inputs: confirmationCode (required), language. Returns: paidAt, status, checkIn, checkOut, +9 more
compare_hotel_linkCompare a Hotel from Its LinkAInspect
Compares prices for the one hotel behind a link from Booking.com, Agoda, Traveloka, Trip.com, Hotels.com or Airbnb: finds the same hotel on the other sites and lists each site's price for the whole stay, cheapest first, with a link to each. The dates and guests in the link are used when it has them, otherwise checkIn, checkOut and adults. Share links and links inside pasted text work too. Takes about 10-30 seconds.
Inputs: url (required), checkIn (required), checkOut (required), adults, +3 more.
get_cancellation_policyGet Cancellation PolicyARead-onlyInspect
Returns the cancellation terms for one rate plan at an OpenTravel partner hotel: whether it is refundable, the free-cancellation window, the refund percentage, a plain-language summary and, given the check-in date, the exact free-cancellation deadline. Takes the propertyId and the ratePlanId from get_hotel_detail.
Inputs: propertyId (required), ratePlanId (required), checkInDate (required), language, +1 more. Returns: policyText, ratePlanId, nonRefundable, computedDeadline, +2 more
get_flight_fare_calendarStored Flight Fare CalendarARead-onlyInspect
Reads stored one-way fares per adult for a route and month, with observation dates and source. Missing days have no stored price. It does not start searches or predict future fares.
Inputs: month (required), origin (required), destination (required), cabin.
get_flight_price_insightStored Flight Price InsightARead-onlyInspect
Reads a stored Google Flights price assessment and historical series for one departure day and one adult. A missing insight means insufficient stored data. It is not a live fare or a prediction.
Inputs: date (required), origin (required), destination (required), cabin.
get_hotel_detailGet Hotel Detail (by propertyId / OpenTravel-direct)ARead-onlyInspect
Prices and availability for one OpenTravel direct-listed hotel over a date range, with its photos, amenities and room types, each room with its rate plan and total price. Takes the propertyId from search results (source 'OPENTRAVEL_DIRECT'), or a hotel name plus city for a known direct listing. get_hotel_info returns the same hotel's static facts without dates.
Inputs: checkIn (required), checkOut (required), city, adults, +5 more. Returns: adults, nights, checkIn, checkOut, +5 more
get_hotel_infoHotel Info (no dates needed)ARead-onlyInspect
Static facts about an OpenTravel direct-listed hotel, with no check-in or check-out date required: photo gallery, property description, address, facilities (parking, pool, pets and so on), check-in and check-out times, the house cancellation policy, and each room type's description, floor area, capacity, photos and in-room facilities. Carries no prices and no availability — get_hotel_detail covers those for a specific date range. Takes the propertyId UUID from search results.
Inputs: propertyId (required), language, queryText. Returns: property, roomTypes, cancellationPolicy
get_ota_hotel_detailHotel Detail by Name (one specific hotel)AInspect
Full detail (rooms, live prices, facilities, photos, reviews) from Booking.com for one named hotel over a date range, for requests about a single hotel rather than a whole city (search_hotels_live lists a city). The name is resolved through the city's listings, so it takes the hotel name together with its city; a Booking.com URL from an earlier result skips that lookup. OpenTravel direct listings are covered by get_hotel_detail. The fetch is live and takes up to about two minutes; under heavy load it can return not-found.
Inputs: checkIn (required), checkOut (required), city, rooms, +6 more.
poll_flight_resultsPoll Flight ResultsARead-onlyInspect
Returns the current results of a flight search session started by search_flights_live: outbound and return options with airline, flight number, times, stops, the cheapest fare and every site's fare with its booking link (offers). Results can be partial while the search runs; status reads 'completed' or 'failed' when it ends.
Inputs: sessionId (required), limit, offset. Returns: cabin, adults, cached, origin, +11 more
poll_search_resultsPoll Search ResultsARead-onlyInspect
Returns the current results of a hotel search session started by search_hotels_live: hotels with their price from each source, and OpenTravel direct listings with the propertyId that get_hotel_detail and get_hotel_info take. Results can be partial while the search runs; status reads 'completed' once every source has answered.
Inputs: nights (required), sessionId (required), area, limit, +5 more. Returns: city, tier, limit, cached, +22 more
record_travel_interactionRecord Travel InteractionBInspect
Records a widget navigation action without contact details, booking references or URLs.
Inputs: action (required).
request_bookingRequest a Booking (hotel confirms, pay at the hotel)AInspect
Sends a booking request for a room at an OpenTravel partner hotel. Nothing is charged and no room is held: the hotel confirms the request by email, and the guest pays at the property on arrival. There is no payment step, now or later. Takes the room and rate from get_hotel_detail and the guest's name, phone number and email; when any of these is missing, the result asks for it and, in clients that show widgets, opens a form for it. One request covers several rooms of the same room type (roomCount), with adults and children counted across all of them; each call is a separate request with its own code, so rooms of one type booked call by call reach the hotel as unrelated requests. Returns one confirmation code for the whole request.
Inputs: adults (required), checkIn (required), checkOut (required), currency (required), +12 more. Returns: status, nextStep, bookingId, roomCount, +5 more
request_cancel_tokenRequest Cancellation Link (step 1 of 2)AInspect
First of two steps to cancel a booking. Emails a single-use cancellation token to the address on the booking, given its confirmation code and that same email address. Nothing is cancelled, charged or refunded by this step. The token expires after 24 hours and works once; cancel_booking completes the cancellation with it.
Inputs: guestEmail (required), confirmationCode (required). Returns: message, success
search_flights_liveSearch Flights LiveAInspect
Starts a live flight search for a route and date, with an optional return date. The two directions are priced as separate one-way tickets. Fares come from Agoda, Trip.com, Booking.com, Traveloka, Kiwi.com, Mytour.vn, Vietravel Airlines and Google Flights. Origin and destination are 3-letter IATA airport codes (for example SGN, HAN, DAD). Returns a session ID; poll_flight_results returns the results. When the route or date is missing, the result is a question for the user instead of a search.
Inputs: cabin, adults, origin, language, +4 more. Returns: cabin, adults, cached, origin, +11 more
search_hotels_liveSearch Hotels LiveAInspect
Starts a live hotel search for a city and date range. Prices come from Agoda, Booking.com, Traveloka, Trip.com, Hotels.com and Airbnb, plus direct rates from OpenTravel partner hotels. Returns a session ID; poll_search_results returns the results as they arrive. Optional filters narrow the results by hotel name, area or total price for the stay. Prices depend on the party: it defaults to 2 adults in 1 room, and the result states the party searched and flags when it was defaulted. When the city or dates are missing, the result is a question for the user instead of a search; the stay dates searched are echoed back for confirmation.
Inputs: area, city, rooms, adults, +11 more. Returns: city, tier, limit, cached, +22 more
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
Related MCP Connectors
Live flight, hotel and seat prices, cheapest-day calendars, and price-drop alerts.
Search hotels & rentals: live prices & reviews across Booking.com, Airbnb, Vrbo & Google Hotels.
Compare hotel prices, room options and booking providers with live HotelUse searches.
Live hotel and resort prices (taxes included) and secure booking links for travelers. Since 1993.
Related MCP Servers
- AlicenseBqualityBmaintenanceOfficial MCP server for MAQAMI, a hotel and flight booking platform with 3M+ hotels. Search live hotel rates and flights, look up places, airports and hotel details, then prebook and book. Remote Streamable HTTP endpoint, no API key required.41101 npm2MIT
- FlicenseNot gradedqualityFmaintenanceProvides live hotel room rates, availability, and guest reviews from Agoda, enabling searches by destination and dates, property details, and structured review data.1-
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to retrieve and compare hotel offers across Trip.com, Booking.com, Agoda, and Google Hotels through a unified MCP interface, with demo mode, Playwright-backed live searches, and batch queries.MIT

RollingGo Hotel MCPofficial
AlicenseNot gradedqualityCmaintenanceEnables AI agents to search, compare, and book hotels worldwide through natural language, with real-time pricing and availability, plus price monitoring and order management.56MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.