MCPサーバー

EscapeStays by Luxury Lodging

com.luxurylodgingpm.stay/luxury-lodging

このMCPでできること

Searches vacation rentals, checks availability, compares properties, provides live stay totals, and links users to complete bookings.

compare_properties
Compare homes side by side
Compares 2 to 5 homes in one call: size, the amenities guests choose by, review counts, each home's own check-in time, deposit and pet policy, and with dates, availability and the stay total for each, for a guest deciding between specific homes.
読み取り専用 外部アクセスあり 冪等
入力スキーマ
{'type': 'object', 'required': ['property_ids'], 'properties': {'pets': {'type': 'boolean', 'description': 'Whether the guest is bringing a pet.'}, 'guests': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': 'Number of guests.'}, 'check_in': {'type': 'string', 'description': 'Check-in date, YYYY-MM-DD. Totals are returned only when both dates are given.'}, 'check_out': {'type': 'string', 'description': 'Check-out date, YYYY-MM-DD.'}, 'property_ids': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 5, 'minItems': 2, 'description': 'Property ids or slugs from search results or booking links.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['compared', 'dates_checked', 'homes', 'note'], 'properties': {'note': {'type': 'string'}, 'homes': {'type': 'array', 'items': {'type': 'object', 'required': ['property_id', 'booking_url'], 'properties': {'city': {'type': 'string'}, 'name': {'type': 'string'}, 'state': {'type': ['string', 'null']}, 'nights': {'type': ['integer', 'null']}, 'reason': {'type': 'string'}, 'sleeps': {'type': ['integer', 'null']}, 'pet_fee': {'type': ['number', 'null'], 'description': 'For a stay with one pet, from the fee table the quote charges from. Null when the home charges none; omitted when it could not be verified, and pet_fee_note says why.'}, 'bedrooms': {'type': ['number', 'null']}, 'available': {'type': 'boolean', 'description': "Only present when dates were given. A reason of not_checked means this home's availability could not be read, not that it is booked."}, 'bathrooms': {'type': ['number', 'null']}, 'highlights': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Up to three short phrases describing what sets the home apart.'}, 'stay_total': {'type': 'number'}, 'booking_url': {'type': 'string'}, 'detail_note': {'type': 'string'}, 'property_id': {'type': 'integer'}, 'check_out_by': {'type': 'string'}, 'pet_fee_note': {'type': 'string'}, 'pets_allowed': {'type': 'boolean', 'description': 'Omitted when pet policy could not be verified.'}, 'review_count': {'type': 'integer', 'description': 'How many 4- and 5-star reviews this home has. It is a count, not a rating; no average rating exists for any home.'}, 'avg_per_night': {'type': 'number', 'description': 'No longer returned; stay_total is the price of the stay.'}, 'check_in_from': {'type': 'string'}, 'neighbourhood': {'type': ['string', 'null'], 'description': 'Neighbourhood-level location only; the exact address is shared after booking.'}, 'pet_fee_basis': {'enum': ['per stay', 'per pet', 'per pet per night'], 'type': 'string'}, 'top_amenities': {'type': 'array', 'items': {'type': 'string'}}, 'review_sources': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Which platforms those reviews came from.'}, 'from_price_note': {'type': 'string', 'description': "Only present when from_price_per_night is null: what is and is not visible about this home's calendar. A null starting rate means neither that the home is booked out nor that it is ready to book."}, 'pet_policy_note': {'type': 'string'}, 'details_available': {'type': 'boolean', 'description': "Only present, and only false, when this home's record could not be loaded. Such a row carries no name, place, amenity or review fields at all; detail_note says why."}, 'stay_total_display': {'type': 'string'}, 'from_price_per_night': {'type': ['number', 'null'], 'description': 'Starting nightly rate. It excludes cleaning, fees and taxes, so it is not the price of any stay. Only present on a row without stay_total. Null means no starting rate is published for this home, not that it is free; from_price_note says why.'}, 'security_deposit_hold': {'type': ['number', 'null']}}}}, 'compared': {'type': 'integer'}, 'dates_checked': {'type': 'boolean'}}}
get_availability
Get availability calendar
Open and blocked nights for one property over a date range of up to 93 days, with its minimum stay. It shows which alternative dates are open; it does not price or confirm a stay.
読み取り専用 外部アクセスあり 冪等
入力スキーマ
{'type': 'object', 'required': ['property_id', 'start_date', 'end_date'], 'properties': {'end_date': {'type': 'string', 'description': 'Last date to check, YYYY-MM-DD. At most 93 days after start_date.'}, 'start_date': {'type': 'string', 'description': 'First date to check, YYYY-MM-DD.'}, 'property_id': {'type': 'string', 'description': 'Property id or slug.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['property_id', 'start_date', 'end_date', 'nights_open', 'nights_blocked', 'open_dates', 'blocked_dates', 'note'], 'properties': {'note': {'type': 'string'}, 'end_date': {'type': 'string'}, 'open_dates': {'type': 'array', 'items': {'type': 'string'}, 'description': 'YYYY-MM-DD nights that are open. They still have to satisfy minimum stay and arrival rules.'}, 'start_date': {'type': 'string'}, 'nights_open': {'type': 'integer'}, 'property_id': {'type': 'integer'}, 'blocked_dates': {'type': 'array', 'items': {'type': 'string'}}, 'minimum_nights': {'type': ['number', 'null']}, 'nights_blocked': {'type': 'integer'}}}
get_live_quote
Get a live total price
Live price for one property and one stay. stay_total includes cleaning, fees and taxes; nightly rates exclude them. Also returns the refundable deposit hold, which is separate from the total, the payment schedule, and that home's own cancellation and check-in terms. The top-level totals and cancellation are the non-refundable rate; rate_options lists every rate on offer with its own terms, total and booking_url, including a refundable rate with its free-cancellation deadline when check-in is more than 30 days away. Returns a booking_url the guest opens to complete the booking and accept the rental terms on Luxury Lodging's own site; this tool does not book or take payment.
読み取り専用 外部アクセスあり 冪等
入力スキーマ
{'type': 'object', 'required': ['property_id', 'check_in', 'check_out'], 'properties': {'pets': {'type': 'boolean', 'description': 'Whether the guest is bringing a pet; this changes the price.'}, 'guests': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': 'Number of guests.'}, 'check_in': {'type': 'string', 'description': 'Check-in date, YYYY-MM-DD.'}, 'check_out': {'type': 'string', 'description': 'Check-out date, YYYY-MM-DD.'}, 'property_id': {'type': 'string', 'description': 'Property id or slug.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['property_id', 'available', 'booking_url'], 'properties': {'name': {'type': 'string'}, 'note': {'type': 'string'}, 'pets': {'type': 'boolean'}, 'guests': {'type': 'integer'}, 'nights': {'type': ['integer', 'null']}, 'reason': {'type': 'string', 'description': 'Why the stay cannot be booked. Only present when available is false.'}, 'check_in': {'type': 'string'}, 'currency': {'type': 'string'}, 'available': {'type': 'boolean'}, 'check_out': {'type': 'string'}, 'quoted_at': {'type': 'string'}, 'stay_total': {'type': ['number', 'null'], 'description': 'The price of the stay, including cleaning, fees and taxes. Nightly rates exclude them.'}, 'booking_url': {'type': 'string'}, 'property_id': {'type': 'integer'}, 'cancellation': {'type': 'string', 'description': "This home's own cancellation terms for the non-refundable rate, which stay_total prices. Each entry in rate_options carries its own terms, and those are the only refund terms that apply to that rate."}, 'check_out_by': {'type': 'string'}, 'rate_options': {'type': 'array', 'items': {'type': 'object', 'required': ['plan', 'stay_total', 'total_due_now', 'cancellation', 'booking_url'], 'properties': {'plan': {'enum': ['non_refundable', 'refundable'], 'type': 'string'}, 'stay_total': {'type': 'number'}, 'booking_url': {'type': 'string'}, 'cancellation': {'type': 'string', 'description': "This rate's terms."}, 'total_due_now': {'type': 'number'}, 'price_breakdown': {'type': 'object'}, 'payment_schedule': {'type': 'object'}, 'free_cancel_until': {'type': 'string', 'description': 'Refundable rate only. The last instant, in UTC, the stay can be cancelled for a full refund.'}}}, 'description': 'Every rate on offer for this stay. The first is the non-refundable rate (the same totals as the top level). When check-in is more than 30 days away a refundable rate follows: 8% more on the nightly subtotal, taxed as rent, cancellable for a full refund of everything paid until free_cancel_until. Each rate has its own booking_url.'}, 'check_in_from': {'type': 'string'}, 'total_display': {'type': 'string', 'description': 'stay_total, formatted.'}, 'total_due_now': {'type': ['number', 'null'], 'description': 'What the guest pays at booking: the whole stay_total, or 50% of it when check-in is more than 60 days away; payment_schedule says which.'}, 'maximum_nights': {'type': ['number', 'null']}, 'minimum_nights': {'type': ['number', 'null']}, 'price_breakdown': {'type': ['object', 'null'], 'properties': {'taxes': {'type': ['number', 'null'], 'description': 'Lodging tax. It is collected on every stay and included in the total.'}, 'total': {'type': ['number', 'null']}, 'pet_fee': {'type': ['number', 'null']}, 'discount': {'type': ['number', 'null']}, 'other_fees': {'type': ['number', 'null']}, 'cleaning_fee': {'type': ['number', 'null']}, 'extra_guest_fee': {'type': ['number', 'null']}, 'nightly_subtotal': {'type': ['number', 'null']}, 'card_processing_fee': {'type': ['number', 'null']}, 'refundable_rate_premium': {'type': ['number', 'null'], 'description': 'The 8% of the nightly subtotal the refundable rate adds; 0 on the non-refundable rate.'}}}, 'payment_schedule': {'type': 'object', 'properties': {'plan': {'enum': ['full', 'deposit'], 'type': 'string'}, 'balance': {'type': 'number'}, 'due_at_booking': {'type': 'number'}, 'balance_charged_on': {'type': 'string'}}, 'description': "When the guest pays. plan 'deposit': due_at_booking now and the balance charged automatically to the same card on balance_charged_on (60 days before check-in). plan 'full': everything at booking."}, 'quote_expires_at': {'type': 'string', 'description': 'When this quote lapses. After it, the price of the stay can differ from stay_total until it is quoted again.'}, 'security_deposit_hold': {'type': ['number', 'null'], 'description': 'A refundable hold, not part of stay_total.'}}, 'description': 'A live total for one stay. When available is false only property_id, available, reason and booking_url are present.'}
get_property_details
Get property details
Full detail for one property: bedrooms, capacity, amenities recorded by the property manager, photos, house rules and the real check-in, check-out, deposit and pet policies for that specific home. Location is given at neighbourhood level; the exact address is shared after booking. Guest reviews are a selection of 4- and 5-star reviews, each with its source; no average rating exists.
読み取り専用 外部アクセスあり 冪等
入力スキーマ
{'type': 'object', 'required': ['property_id'], 'properties': {'property_id': {'type': 'string', 'description': 'Property id or the slug from a booking link.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['property_id', 'name', 'location', 'amenities', 'amenities_source', 'photos', 'policies', 'house_rules', 'guest_reviews', 'booking_url', 'support_email'], 'properties': {'beds': {'type': ['number', 'null']}, 'name': {'type': 'string'}, 'alias': {'type': ['string', 'null']}, 'photos': {'type': 'array', 'items': {'type': 'string'}}, 'sleeps': {'type': ['integer', 'null']}, 'bedrooms': {'type': ['number', 'null']}, 'location': {'type': 'object', 'required': ['city', 'country'], 'properties': {'city': {'type': 'string'}, 'state': {'type': ['string', 'null']}, 'country': {'type': ['string', 'null'], 'description': 'Null when the provider gave none; the country is then unknown.'}, 'neighbourhood': {'type': ['string', 'null'], 'description': 'Neighbourhood-level location only; the exact address is shared after booking.'}}}, 'policies': {'type': 'object', 'required': ['check_in_from', 'check_out_by', 'cancellation', 'security_deposit_hold', 'policies_source'], 'properties': {'pet_fee': {'type': ['number', 'null'], 'description': 'For a stay with one pet, from the fee table the quote charges from. Null when the home charges none; omitted when it could not be verified, and pet_fee_note says why.'}, 'quiet_hours': {'type': ['object', 'null'], 'required': ['from', 'to'], 'properties': {'to': {'type': 'string'}, 'from': {'type': 'string'}}}, 'cancellation': {'type': 'string'}, 'check_out_by': {'type': 'string'}, 'pet_fee_note': {'type': 'string'}, 'pets_allowed': {'type': 'boolean', 'description': 'Omitted when pet policy could not be verified.'}, 'check_in_from': {'type': 'string'}, 'pet_fee_basis': {'enum': ['per stay', 'per pet', 'per pet per night'], 'type': 'string', 'description': 'How pet_fee applies. A per-pet-per-night fee multiplies by the nights.'}, 'check_in_until': {'type': ['string', 'null']}, 'minimum_nights': {'type': ['number', 'null']}, 'pet_policy_note': {'type': 'string'}, 'policies_source': {'enum': ['provider', 'portfolio-default'], 'type': 'string'}, 'security_deposit_hold': {'type': 'number', 'description': 'A refundable hold, not part of the total charged at booking.'}}, 'description': 'This home\'s own policies, not portfolio defaults, when policies_source is "provider".'}, 'amenities': {'type': 'array', 'items': {'type': 'string'}}, 'bathrooms': {'type': ['number', 'null']}, 'booking_url': {'type': 'string'}, 'description': {'type': ['string', 'null']}, 'house_rules': {'type': 'array', 'items': {'type': 'string'}}, 'property_id': {'type': 'integer'}, 'guest_reviews': {'type': 'object', 'required': ['selection', 'reviews'], 'properties': {'reviews': {'type': 'array', 'items': {'type': 'object', 'required': ['source'], 'properties': {'text': {'type': ['string', 'null']}, 'stars': {'type': ['number', 'null']}, 'source': {'type': 'string', 'description': 'The platform the review was left on.'}, 'published': {'type': ['string', 'null']}}}}, 'selection': {'type': 'string'}}, 'description': 'A selection of 4- and 5-star reviews, not a summary of every review. No overall or average rating is implied or available.'}, 'property_type': {'type': ['string', 'null']}, 'support_email': {'type': 'string'}, 'amenities_source': {'enum': ['provider', 'unavailable'], 'type': 'string'}, 'common_questions': {'type': 'array', 'items': {'type': 'object', 'required': ['question', 'answer'], 'properties': {'answer': {'type': 'string'}, 'question': {'type': 'string'}}}}}}
list_markets
List destinations
Every city where Luxury Lodging has directly bookable homes, with the state or region, the country, how many homes and the largest group each can sleep. It shows whether a destination is covered, including when a guest has not named a place.
読み取り専用 外部アクセスあり 冪等
入力スキーマ
{'type': 'object', 'properties': {}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['markets_count', 'homes_count', 'markets', 'note'], 'properties': {'note': {'type': 'string'}, 'markets': {'type': 'array', 'items': {'type': 'object', 'required': ['city', 'homes', 'sleeps_max'], 'properties': {'city': {'type': 'string'}, 'homes': {'type': 'integer'}, 'state': {'type': ['string', 'null'], 'description': 'State, province or region as the provider files it.'}, 'country': {'type': ['string', 'null'], 'description': 'Not every destination is in the United States; two cities can share a name across countries.'}, 'sleeps_max': {'type': 'integer', 'description': 'The largest group any single home in this market sleeps.'}, 'collection_url': {'type': 'string', 'description': 'The public page for this market, when it has enough homes to have one. It lists the homes and their neighbourhoods.'}}}}, 'homes_count': {'type': 'integer'}, 'markets_count': {'type': 'integer'}}}
search_properties
Search Luxury Lodging homes
Searches Luxury Lodging's directly bookable vacation rentals by destination, dates, group size, bedrooms and amenities. With dates, only homes confirmed available are returned, each with a stay total that includes cleaning, fees and taxes; nightly rates exclude them. Interchangeable units of the same type are returned once, with every unit's id listed in `similar_units` so any of them can still be quoted and booked; `limit` counts those results, while `total_matching` counts the individual homes confirmed available. A busy market can hold more homes than one request can price, so `unpriced_in_time` counts matching homes whose availability was not established: they are unknown, not unavailable. Pet-friendly searches also report `pet_policy_unknown`: otherwise matching homes with unverified pet policies, with or without dates. While either count is above zero, the results are not the whole market; `price_all_matches`, a higher `limit`, or a narrower place covers more of it.
読み取り専用 外部アクセスあり 冪等
入力スキーマ
{'type': 'object', 'properties': {'pets': {'type': 'boolean', 'description': 'The guest is bringing a pet. Results are limited to pet-friendly homes, dated totals include the pet fee, and booking links keep the pet selection.'}, 'sort': {'enum': ['total_price_asc', 'total_price_desc', 'from_price_asc', 'sleeps_desc'], 'type': 'string', 'description': 'total_price_* needs dates and orders by the stay total; from_price_asc orders by starting nightly rate; sleeps_desc puts the largest homes first.'}, 'limit': {'type': 'integer', 'maximum': 20, 'minimum': 1, 'description': 'How many properties to return (default 8).'}, 'query': {'type': 'string', 'description': "Free text place, e.g. 'Tampa', 'near Chicago downtown', a neighbourhood or a landmark."}, 'guests': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': 'Number of guests, including children.'}, 'market': {'type': 'string', 'description': 'Market or city name, when the guest named one exactly.'}, 'check_in': {'type': 'string', 'description': 'Check-in date, YYYY-MM-DD. Availability is checked only when both dates are given.'}, 'amenities': {'type': 'array', 'items': {'enum': ['pool', 'hot_tub', 'parking', 'wifi', 'kitchen', 'washer', 'pets'], 'type': 'string'}, 'description': 'Amenities every returned home has, as recorded by the property manager.'}, 'check_out': {'type': 'string', 'description': 'Check-out date, YYYY-MM-DD.'}, 'max_total': {'type': 'integer', 'minimum': 1, 'description': 'Budget for the whole stay in dollars, including cleaning, fees and taxes. Applies only when dates are given.'}, 'bedrooms_min': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Fewest bedrooms acceptable.'}, 'bathrooms_min': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Fewest bathrooms acceptable.'}, 'price_all_matches': {'type': 'boolean', 'description': 'Prices every matching home rather than a fast sample, so total_matching is the real count and the cheapest result is genuinely the cheapest. Slower, and still bounded: unpriced_in_time counts any homes it did not reach.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['matches', 'total_matching', 'total_matching_groups', 'unpriced_in_time', 'dates_checked', 'availability_note', 'properties'], 'properties': {'matches': {'type': 'integer', 'description': 'How many results this response carries.'}, 'properties': {'type': 'array', 'items': {'type': 'object', 'required': ['property_id', 'name', 'city', 'top_amenities', 'review_count', 'review_sources', 'highlights', 'booking_url'], 'properties': {'city': {'type': 'string'}, 'name': {'type': 'string'}, 'photo': {'type': ['string', 'null']}, 'state': {'type': ['string', 'null']}, 'nights': {'type': 'integer'}, 'sleeps': {'type': ['integer', 'null']}, 'bedrooms': {'type': ['number', 'null']}, 'bathrooms': {'type': ['number', 'null']}, 'highlights': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Up to three short phrases describing what sets the home apart.'}, 'stay_total': {'type': 'number', 'description': 'Total for the requested dates including cleaning, fees and taxes. Only present when dates were given and the home was priced.'}, 'booking_url': {'type': 'string', 'description': "Where the guest completes the booking on Luxury Lodging's own site."}, 'property_id': {'type': 'integer'}, 'review_count': {'type': 'integer', 'description': 'How many 4- and 5-star reviews this home has. It is a count, not a rating; no average rating exists for any home.'}, 'avg_per_night': {'type': 'number', 'description': 'No longer returned; stay_total is the price of the stay.'}, 'neighbourhood': {'type': ['string', 'null'], 'description': 'Neighbourhood-level location only; the exact address is shared after booking.'}, 'property_type': {'type': ['string', 'null']}, 'similar_units': {'type': 'object', 'required': ['count', 'note', 'property_ids'], 'properties': {'note': {'type': 'string'}, 'count': {'type': 'integer'}, 'property_ids': {'type': 'array', 'items': {'type': 'integer'}}}, 'description': 'Only present when interchangeable units of this type exist; any of these ids can be quoted and booked.'}, 'top_amenities': {'type': 'array', 'items': {'type': 'string'}}, 'review_sources': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Which platforms those reviews came from.'}, 'from_price_note': {'type': 'string', 'description': "Only present when from_price_per_night is null: what is and is not visible about this home's calendar. A null starting rate means neither that the home is booked out nor that it is ready to book."}, 'stay_total_display': {'type': 'string'}, 'from_price_per_night': {'type': ['number', 'null'], 'description': 'Starting nightly rate, used to order results. It excludes cleaning, fees and taxes, so it is not the price of any stay. Only present on a row without stay_total. Null means no starting rate is published for this home, not that it is free or cheap; from_price_note says why.'}, 'avg_per_night_display': {'type': 'string'}}}}, 'dates_checked': {'type': 'boolean', 'description': 'False means availability is unknown and no stay has been priced; no row carries a stay_total.'}, 'total_matching': {'type': 'integer', 'description': 'How many individual homes matched, counting every interchangeable unit.'}, 'unpriced_in_time': {'type': 'integer', 'description': 'Matching homes whose availability was not established for these dates, because their pet policy could not be verified, a quote failed, the request ran out of budget, or it did not reach them. They are unknown, not unavailable. `price_all_matches`, a higher `limit`, or a narrower place establishes more of them.'}, 'availability_note': {'type': 'string'}, 'searched_location': {'type': ['string', 'null']}, 'pet_policy_unknown': {'type': 'integer', 'description': 'Otherwise matching homes omitted from a pet-friendly search because their pet policy is unknown, not confirmed to prohibit pets. Applies with or without dates; included in unpriced_in_time when dated. A positive count means the pet-friendly inventory is incomplete.'}, 'total_matching_groups': {'type': 'integer', 'description': 'How many distinct unit types matched.'}}}
変更
compare_properties
2026年9月29日2:50
変更
get_live_quote
2026年9月29日2:50
変更
search_properties
2026年9月29日2:50
変更
compare_properties
2026年9月27日2:42
変更
get_live_quote
2026年9月27日2:42
変更
get_availability
2026年9月27日2:42
変更
get_property_details
2026年9月27日2:42
変更
list_markets
2026年9月27日2:42
変更
search_properties
2026年9月27日2:42
変更
compare_properties
2026年9月25日2:49
変更
get_property_details
2026年9月25日2:49
変更
list_markets
2026年9月25日2:49
変更
search_properties
2026年9月25日2:49
追加
compare_properties
2026年9月23日2:41
変更
get_live_quote
2026年9月23日2:41
変更
get_availability
2026年9月23日2:41
変更
get_property_details
2026年9月23日2:41
変更
list_markets
2026年9月23日2:41
変更
search_properties
2026年9月23日2:41
追加
get_live_quote
2026年9月19日2:40
追加
get_availability
2026年9月19日2:40
追加
get_property_details
2026年9月19日2:40
追加
list_markets
2026年9月19日2:40
追加
search_properties
2026年9月19日2:40