Roomza Hotel Intelligence
What this MCP does
Searches hotels and provides room-level details, scores, reviews, pricing, nearby places, booking links, and booking-management features.
Tools
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['booking_id', 'request'], 'properties': {'request': {'type': 'string', 'description': 'The special request to add'}, 'booking_id': {'type': 'string', 'description': 'The booking ID to add the request to (get this from get_my_trips)'}}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'message'], 'properties': {'ok': {'type': 'boolean'}, 'message': {'type': 'string'}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['hotel_id', 'question'], 'properties': {'hotel_id': {'type': 'string', 'description': 'Hotel UUID (the URL slug also works)'}, 'question': {'type': 'string', 'description': 'The specific question about the hotel'}}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['answer'], 'properties': {'answer': {'type': 'string'}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['identifier'], 'properties': {'identifier': {'type': 'string', 'description': 'Hotel name, slug, or UUID'}}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['found', 'hotel'], 'properties': {'found': {'type': 'boolean'}, 'hotel': {'anyOf': [{'type': 'object', 'required': ['id', 'slug', 'name', 'url', 'address', 'city', 'state', 'zip', 'starRating', 'verificationStatus', 'score', 'reviewCount', 'scoreBreakdown', 'topStrengths', 'googleRating', 'googleReviewCount', 'amenities', 'hotelType', 'vibes', 'bestFor', 'neighborhood', 'awards', 'knownViews', 'uniqueFeatures', 'landmarks', 'roomzaTruth'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string'}, 'zip': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'city': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'name': {'type': 'string'}, 'slug': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'score': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'description': 'Roomza score 0-100; null when unreviewed'}, 'state': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'vibes': {'type': 'array', 'items': {'type': 'string'}}, 'awards': {'type': 'array', 'items': {'type': 'string'}}, 'address': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'bestFor': {'type': 'array', 'items': {'type': 'string'}}, 'amenities': {'type': 'array', 'items': {'type': 'string'}}, 'hotelType': {'type': 'array', 'items': {'type': 'string'}}, 'landmarks': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'distanceMi'], 'properties': {'name': {'type': 'string'}, 'distanceMi': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}}, 'additionalProperties': False}}, 'knownViews': {'type': 'array', 'items': {'type': 'string'}}, 'starRating': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'reviewCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'roomzaTruth': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'googleRating': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'neighborhood': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'topStrengths': {'type': 'array', 'items': {'type': 'object', 'required': ['label', 'score'], 'properties': {'label': {'type': 'string'}, 'score': {'type': 'number'}}, 'additionalProperties': False}}, 'scoreBreakdown': {'type': 'array', 'items': {'type': 'object', 'required': ['label', 'score'], 'properties': {'label': {'type': 'string'}, 'score': {'type': 'number'}}, 'additionalProperties': False}}, 'uniqueFeatures': {'type': 'array', 'items': {'type': 'string'}}, 'googleReviewCount': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'verificationStatus': {'type': 'string'}}, 'additionalProperties': False}, {'type': 'null'}], 'description': 'null when the hotel was not found'}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['hotel_id'], 'properties': {'check_in': {'type': 'string', 'description': 'Check-in date in YYYY-MM-DD format (defaults to today)'}, 'hotel_id': {'type': 'string', 'description': 'Hotel UUID (the URL slug also works)'}, 'check_out': {'type': 'string', 'description': 'Check-out date in YYYY-MM-DD format (defaults to tomorrow)'}}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['found', 'hotelName', 'currency', 'checkIn', 'checkOut', 'nights', 'roomTypes', 'typicalNightlyFrom', 'note'], 'properties': {'note': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'found': {'type': 'boolean', 'description': 'false when the hotel is unknown'}, 'nights': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'checkIn': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'checkOut': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'currency': {'type': 'string'}, 'hotelName': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'roomTypes': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'fromNightly'], 'properties': {'name': {'type': 'string'}, 'fromNightly': {'type': 'number', 'description': "Nightly from-price in whole dollars, hotel's own public rate"}}, 'additionalProperties': False}, 'description': 'Per-room-type from-prices when dates were given and live rates exist'}, 'typicalNightlyFrom': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'description': 'Hotel-level typical nightly from-price in dollars'}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['hotel_id'], 'properties': {'hotel_id': {'type': 'string', 'description': 'Hotel UUID from search_hotels/get_hotel (the URL slug also works)'}, 'room_number': {'type': 'string', 'description': 'Look up a specific room by number, e.g. "434"'}}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['count', 'rooms', 'roomTypes', 'bookUrl', 'note'], 'properties': {'note': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': "Copy encouraging a booking + review to start this hotel's room record"}, 'count': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'rooms': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'roomNumber', 'floor', 'roomTypeName', 'bedType', 'view', 'sqFt', 'bathtub', 'balcony', 'adaAccessible', 'miniFridge', 'microwave', 'adaFeatures', 'score', 'reviewCount', 'url'], 'properties': {'id': {'type': 'string', 'description': 'Room UUID â\x80\x94 pass to show_rooms or secure_room'}, 'url': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'sqFt': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'view': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'floor': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'score': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'description': 'Roomza room score 0-100'}, 'balcony': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}]}, 'bathtub': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'description': 'null = unknown; false = confirmed absent'}, 'bedType': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'microwave': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}]}, 'miniFridge': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}]}, 'roomNumber': {'type': 'string'}, 'adaFeatures': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'reviewCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'roomTypeName': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'adaAccessible': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}]}}, 'additionalProperties': False}}, 'bookUrl': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Roomza booking link for this hotel; set only on the no-records fallback'}, 'roomTypes': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'fromNightly'], 'properties': {'name': {'type': 'string'}, 'fromNightly': {'type': 'number', 'description': "Typical nightly from-price in USD from the hotel's public rates"}}, 'additionalProperties': False}, 'description': 'Only populated when the hotel has no room records yet: bookable room types from live rates'}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'properties': {}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['found', 'preferences', 'standingRequests', 'loyaltyPrograms', 'travelCards'], 'properties': {'found': {'type': 'boolean'}, 'preferences': {'anyOf': [{'type': 'object', 'required': ['bedType', 'view', 'bathtub', 'balcony', 'petFriendly', 'highFloor', 'awayFromElevator', 'quietSide', 'minStars', 'maxPricePerNight', 'upgradePreference'], 'properties': {'view': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'balcony': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}]}, 'bathtub': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}]}, 'bedType': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'minStars': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'highFloor': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}]}, 'quietSide': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}]}, 'petFriendly': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}]}, 'awayFromElevator': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}]}, 'maxPricePerNight': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'upgradePreference': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}, {'type': 'null'}]}, 'travelCards': {'type': 'array', 'items': {'type': 'string'}}, 'loyaltyPrograms': {'type': 'array', 'items': {'type': 'object', 'required': ['program', 'tier'], 'properties': {'tier': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'program': {'type': 'string'}}, 'additionalProperties': False}}, 'standingRequests': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'properties': {}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['count', 'upcoming', 'past'], 'properties': {'past': {'type': 'array', 'items': {'type': 'object', 'required': ['bookingId', 'hotelId', 'hotelName', 'hotelUrl', 'city', 'state', 'checkIn', 'checkOut', 'nights', 'confirmationNumber', 'hotelConfirmationCode', 'bookingPlatform', 'status', 'specialRequests'], 'properties': {'city': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'state': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'nights': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'status': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'checkIn': {'type': 'string', 'description': 'YYYY-MM-DD'}, 'hotelId': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'checkOut': {'type': 'string', 'description': 'YYYY-MM-DD'}, 'hotelUrl': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'bookingId': {'type': 'string', 'description': 'Pass to add_special_request'}, 'hotelName': {'type': 'string'}, 'bookingPlatform': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'specialRequests': {'type': 'array', 'items': {'type': 'string'}}, 'confirmationNumber': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Booking reference. For stays booked through Roomza this is the supplier reference until the hotel issues its own number'}, 'hotelConfirmationCode': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': "The hotel's own confirmation number; null until the hotel issues it"}}, 'additionalProperties': False}}, 'count': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'upcoming': {'type': 'array', 'items': {'type': 'object', 'required': ['bookingId', 'hotelId', 'hotelName', 'hotelUrl', 'city', 'state', 'checkIn', 'checkOut', 'nights', 'confirmationNumber', 'hotelConfirmationCode', 'bookingPlatform', 'status', 'specialRequests'], 'properties': {'city': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'state': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'nights': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'status': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'checkIn': {'type': 'string', 'description': 'YYYY-MM-DD'}, 'hotelId': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'checkOut': {'type': 'string', 'description': 'YYYY-MM-DD'}, 'hotelUrl': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'bookingId': {'type': 'string', 'description': 'Pass to add_special_request'}, 'hotelName': {'type': 'string'}, 'bookingPlatform': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'specialRequests': {'type': 'array', 'items': {'type': 'string'}}, 'confirmationNumber': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Booking reference. For stays booked through Roomza this is the supplier reference until the hotel issues its own number'}, 'hotelConfirmationCode': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': "The hotel's own confirmation number; null until the hotel issues it"}}, 'additionalProperties': False}}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['hotel_id'], 'properties': {'end_date': {'type': 'string', 'description': 'Travel end date YYYY-MM-DD -- filters events to this window'}, 'hotel_id': {'type': 'string', 'description': 'Hotel UUID from search_hotels/get_hotel (the URL slug also works)'}, 'start_date': {'type': 'string', 'description': 'Travel start date YYYY-MM-DD -- filters events to this window'}}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['found', 'places', 'events'], 'properties': {'found': {'type': 'boolean'}, 'events': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'date', 'when', 'venueName', 'ticketLink'], 'properties': {'date': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'when': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'title': {'type': 'string'}, 'venueName': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'ticketLink': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}}, 'places': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'category', 'rating', 'priceLevel', 'address'], 'properties': {'name': {'type': 'string'}, 'rating': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'address': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'category': {'type': 'string'}, 'priceLevel': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['hotel_id'], 'properties': {'limit': {'type': 'integer', 'maximum': 20, 'minimum': 1, 'description': 'Number of reviews (default 5)'}, 'hotel_id': {'type': 'string', 'description': 'Hotel UUID (the URL slug also works)'}, 'room_number': {'type': 'string', 'description': 'Filter reviews to a specific room number, e.g. "434"'}}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['count', 'note', 'reviews'], 'properties': {'note': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Set when no reviews are returned, e.g. unknown room'}, 'count': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'reviews': {'type': 'array', 'items': {'type': 'object', 'required': ['guestDisplayName', 'stayMonth', 'roomId', 'roomNumber', 'roomUrl', 'score', 'comment', 'insiderTip'], 'properties': {'score': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'description': 'Overall score 0-100'}, 'roomId': {'type': 'string'}, 'comment': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'roomUrl': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'stayMonth': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'insiderTip': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'roomNumber': {'type': 'string'}, 'guestDisplayName': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query'], 'properties': {'city': {'type': 'string', 'description': 'Narrow results to a specific city'}, 'limit': {'type': 'integer', 'maximum': 20, 'minimum': 1, 'description': 'Max results (default 10)'}, 'query': {'type': 'string', 'description': 'Hotel name, city, or keyword'}}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['count', 'note', 'hotels'], 'properties': {'note': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Search note, e.g. a nearby-city fallback explanation'}, 'count': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Number of hotels returned'}, 'hotels': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'city', 'state', 'country', 'url', 'score', 'reviewCount', 'hotelType', 'vibes', 'neighborhood', 'lat', 'lng', 'photoUrl', 'roomCount', 'roomsWithRecords', 'fromNightly'], 'properties': {'id': {'type': 'string', 'description': 'Hotel UUID â\x80\x94 pass to get_hotel_rooms, get_hotel_pricing, get_nearby, ask_about_hotel'}, 'lat': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'lng': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'url': {'type': 'string', 'description': 'Canonical Roomza hotel page'}, 'city': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'name': {'type': 'string'}, 'score': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'description': 'Roomza score 0-100; null when unreviewed'}, 'state': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'vibes': {'type': 'array', 'items': {'type': 'string'}}, 'country': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'photoUrl': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'hotelType': {'type': 'array', 'items': {'type': 'string'}}, 'roomCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Rooms tracked on Roomza for this hotel'}, 'fromNightly': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'description': 'Cached nightly from-price in USD; null when uncovered'}, 'reviewCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'neighborhood': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'roomsWithRecords': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Tracked rooms with at least one verified review'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['room_id', 'check_in', 'check_out'], 'properties': {'guests': {'type': 'integer', 'maximum': 8, 'minimum': 1, 'description': 'Guest count (default 2)'}, 'room_id': {'type': 'string', 'description': 'Room UUID (from show_rooms or get_hotel_rooms)'}, 'check_in': {'type': 'string', 'description': 'Check-in date, YYYY-MM-DD'}, 'check_out': {'type': 'string', 'description': 'Check-out date, YYYY-MM-DD'}}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'message', 'roomId', 'roomNumber', 'hotelId', 'hotelName', 'checkIn', 'checkOut', 'nights', 'guests', 'currency', 'bookable', 'indicativeOnly', 'rateName', 'totalToday', 'dueAtHotel', 'publicRate', 'cancellation', 'trackRecord', 'bookingUrl'], 'properties': {'ok': {'type': 'boolean', 'description': 'false = the request could not be quoted; see message'}, 'guests': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'nights': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'roomId': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'checkIn': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'hotelId': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'message': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Set when ok is false'}, 'bookable': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'description': 'true when a live bookable rate was found'}, 'checkOut': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'currency': {'type': 'string'}, 'rateName': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'hotelName': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'bookingUrl': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Secure checkout link with the room preselected; payment happens only there'}, 'dueAtHotel': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'description': 'Additional amount due at the hotel, dollars'}, 'publicRate': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'description': "Hotel's public rate in dollars, for comparison"}, 'roomNumber': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'totalToday': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'description': 'Total charged today in dollars'}, 'trackRecord': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': "Hotel's room-request honor track record"}, 'cancellation': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'indicativeOnly': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'description': 'true when the price is from public listings, not bookable'}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['room_ids'], 'properties': {'check_in': {'type': 'string', 'description': "Check-in date YYYY-MM-DD. Pass whenever the user's dates are known so card prices match those dates."}, 'room_ids': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 8, 'minItems': 1, 'description': 'Room UUIDs to display, in ranked order (best first). 1-8 rooms.'}, 'check_out': {'type': 'string', 'description': 'Check-out date YYYY-MM-DD.'}}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['rooms'], 'properties': {'rooms': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'hotelId', 'hotelName', 'location', 'roomLabel', 'roomNumber', 'floor', 'score', 'reviewCount', 'pricePerNight', 'priceNote', 'currency', 'photoUrl', 'photoSource', 'view', 'bedType', 'sqFt', 'blurb', 'url'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string'}, 'sqFt': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'view': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'blurb': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'floor': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'score': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'bedType': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'hotelId': {'type': 'string'}, 'currency': {'type': 'string'}, 'location': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'photoUrl': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'hotelName': {'type': 'string'}, 'priceNote': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Shown in the price slot when pricePerNight is null, e.g. a prompt to provide dates'}, 'roomLabel': {'type': 'string'}, 'roomNumber': {'type': 'string'}, 'photoSource': {'anyOf': [{'enum': ['room', 'hotel'], 'type': 'string'}, {'type': 'null'}], 'description': 'Whether photoUrl shows the actual room or is a hotel-level fallback'}, 'reviewCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'pricePerNight': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'description': 'Nightly price for the requested dates; null when no dates were given or no live rate exists'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
Recent tool changes
Similar MCP servers
Award Travel Finder
Searches award flights and hotels, tracks bookings and loyalty balances, evaluates points and credit cards, and monitors travel r…
AI 代理人任務中樞
Aggregates Taiwan-focused tools for AI service comparisons, cryptocurrency data, game information, health guidance, and other con…
Good Turn Studio (all tools)
Offers consumer utilities for insurance claim appeals, subscription cancellation, flight fare research, financial recovery resour…
Gover MCP
Searches and manages corporate travel requests, flights, hotels, rental vehicles, passengers, carts, approvals, reservations, and…
DC Member API
Provides access to Dynamite Circle membership data, community profiles, chapters, events, trips, calendars, alerts, follows, agen…
Nomad Stays
Searches and books remote-work accommodations while supporting host listing management, rooms, packages, availability, and hospit…
lilo Vacation Rentals
Supports vacation-rental discovery, availability and direct booking, property operations, short-term-rental compliance, guest and…
mcp-server
Provides immigration, citizenship and residency programme research alongside tax, wealth structuring, banking, visa, treaty and c…