What this MCP does
Searches hotels, retrieves room rates and guest-review insights, and facilitates paid hotel bookings.
Tools
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'The hotel id from search_hotels results'}, 'context': {'type': 'string', 'maxLength': 200, 'description': "Why are you calling this tool? Describe the user's underlying goal in one short sentence — not the tool name. Never include names, emails, phones, or prices. Always pass this. Used for analytics only; never shown to the user."}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['name', 'star_rating', 'address', 'check_in', 'check_out', 'rooms', 'prices_changed'], 'properties': {'name': {'type': 'string'}, 'rooms': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'rates'], 'properties': {'name': {'type': ['string', 'null']}, 'rates': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'board_type', 'price', 'currency', 'refundability', 'cancellation_deadline'], 'properties': {'id': {'type': 'string', 'description': 'Rate id to pass to purchase_hotel'}, 'price': {'type': 'number'}, 'currency': {'type': 'string'}, 'board_type': {'type': 'string'}, 'refundability': {'enum': ['fully_refundable', 'partially_refundable', 'non_refundable'], 'type': 'string'}, 'cancellation_deadline': {'type': ['string', 'null'], 'description': 'Free cancellation until this time for fully_refundable rates, partial refund until it for partially_refundable; null for non_refundable'}}}}}}}, 'address': {'type': ['string', 'null']}, 'check_in': {'type': 'string', 'description': 'Earliest check-in time, HH:MM'}, 'check_out': {'type': 'string', 'description': 'Latest check-out time, HH:MM'}, 'star_rating': {'type': 'integer'}, 'prices_changed': {'type': ['boolean', 'null'], 'description': 'true when these rates come from a different provider than the search_hotels quote; null when the search recorded no winner'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['cart_id'], 'properties': {'cart_id': {'type': 'string', 'description': 'The cart_id from purchase_hotel response'}, 'context': {'type': 'string', 'maxLength': 200, 'description': "Why are you calling this tool? Describe the user's underlying goal in one short sentence — not the tool name. Never include names, emails, phones, or prices. Always pass this. Used for analytics only; never shown to the user."}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['ready', 'cart_url', 'payment', 'booking'], 'properties': {'ready': {'type': 'boolean', 'description': 'true once payment settled and the booking is purchased — stop polling'}, 'booking': {'type': ['object', 'null'], 'required': ['state', 'booking_reference', 'contact', 'items'], 'properties': {'items': {'type': 'array', 'items': {'type': 'object', 'required': ['state', 'price'], 'properties': {'price': {'type': 'number'}, 'state': {'type': 'string'}, 'currency': {'type': 'string'}, 'room_name': {'type': 'string'}, 'hotel_name': {'type': 'string'}, 'provider_reference': {'type': 'string'}}}}, 'state': {'type': 'string'}, 'contact': {'type': ['object', 'null'], 'required': ['first_name', 'last_name', 'email'], 'properties': {'email': {'type': 'string'}, 'last_name': {'type': 'string'}, 'first_name': {'type': 'string'}}}, 'booking_reference': {'type': ['string', 'null']}}}, 'payment': {'type': ['object', 'null'], 'required': ['state', 'service', 'amount'], 'properties': {'state': {'type': 'string'}, 'amount': {'type': 'number'}, 'service': {'type': 'string'}, 'currency': {'type': 'string'}, 'transaction_hash': {'type': 'string'}}}, 'cart_url': {'type': 'string'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['rate_id', 'first_name', 'last_name', 'email', 'phone'], 'properties': {'email': {'type': 'string', 'description': "Guest's email address"}, 'phone': {'type': 'string', 'description': "Guest's phone number (e.g., +44123456789)"}, 'title': {'enum': ['MR', 'MRS', 'MS', 'MISS'], 'type': 'string', 'description': "Guest's title: MR, MRS, MS, or MISS (default: MR)"}, 'context': {'type': 'string', 'maxLength': 200, 'description': "Why are you calling this tool? Describe the user's underlying goal in one short sentence — not the tool name. Never include names, emails, phones, or prices. Always pass this. Used for analytics only; never shown to the user."}, 'rate_id': {'type': 'string', 'description': 'Signed rate ID from get_hotel_details response'}, 'last_name': {'type': 'string', 'description': "Guest's last name"}, 'first_name': {'type': 'string', 'description': "Guest's first name"}, 'nationality': {'type': 'string', 'description': "Guest's nationality as ISO 3166-1 alpha-2 code (default: GB)"}, 'price_currency': {'type': 'string', 'description': 'Payment currency (default: USD for x402, EUR for coingate). Supported: EUR, USD, GBP, PLN, CZK, HUF, SEK, NOK, DKK'}, 'payment_service': {'enum': ['x402', 'coingate'], 'type': 'string', 'description': 'Payment method: x402 (USDC on Base, default) or coingate (browser-based crypto)'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['cart_id', 'booking_reference', 'payment_url', 'message'], 'properties': {'cart_id': {'type': 'string', 'description': 'Pass to get_order_details to poll the booking'}, 'message': {'type': 'string', 'description': 'How to complete payment for the chosen payment_service'}, 'payment_url': {'type': ['string', 'null']}, 'booking_reference': {'type': ['string', 'null']}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['destination', 'check_in', 'check_out'], 'properties': {'context': {'type': 'string', 'maxLength': 200, 'description': "Why are you calling this tool? Describe the user's underlying goal in one short sentence — not the tool name. Never include names, emails, phones, or prices. Always pass this. Used for analytics only; never shown to the user."}, 'sort_by': {'enum': ['relevance', 'price', 'rating', 'distance'], 'type': 'string', 'description': 'Sort results by: price, rating, distance, or relevance (default)'}, 'check_in': {'type': 'string', 'description': "Check-in date in YYYY-MM-DD format. Must be today or later in the destination's own timezone. Do not assume the current year — the server instructions state today's date; a past date is rejected, and the rejection tells you the destination's today."}, 'check_out': {'type': 'string', 'description': 'Check-out date in YYYY-MM-DD format. Must be after check_in.'}, 'sort_order': {'enum': ['asc', 'desc'], 'type': 'string', 'description': 'Sort order: asc (default) or desc'}, 'destination': {'type': 'string', 'description': "Destination name (e.g., 'London', 'Paris, France', 'Vilnius')"}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['total_results', 'hotels'], 'properties': {'hotels': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'star_rating', 'image_url', 'price', 'currency', 'booking_link'], 'properties': {'id': {'type': 'string', 'description': 'Hotel id to pass to get_hotel_details'}, 'name': {'type': 'string'}, 'price': {'type': 'number', 'description': 'Cheapest total stay price for 2 adults'}, 'currency': {'type': 'string'}, 'image_url': {'type': ['string', 'null']}, 'star_rating': {'type': 'integer'}, 'booking_link': {'type': 'string'}}}}, 'total_results': {'type': 'integer'}}}
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…