{"schema_version":"1","name":"Book Hotels","description":"The booking layer for AI agents. Search, hold, and book hotels through one API.","homepage":"https://bookhotelsmcp.com","mcp":{"transport":"streamable-http","endpoint":"https://bookhotelsmcp.com/mcp","protocolVersion":"2025-06-18","auth":{"type":"none"}},"capabilities":{"search":true,"hotel_details":true,"price_before_book":true,"hold":true,"book":true,"retrieve":true,"modify":true,"cancel":true,"payments":true,"stripe_shared_payment_tokens":true,"completes_transaction":true,"redirects_user":false},"booking_api":{"availability":"https://bookhotelsmcp.com/availability","bookings":"https://bookhotelsmcp.com/bookings"},"tools":[{"name":"search_hotels","description":"Find bookable hotel rooms with live prices, photos, star rating, and cancellation terms. Call first for any stay request. Returns offer_id, totals, photoUrl, amenities, and display_markdown for Muse. Next: get_hotel, hold_offer, or book_hotel."},{"name":"get_hotel","description":"Load photos, amenities, description, and check-in times for one hotel_id from search_hotels. Call before quoting a stay so the user can see the property. Returns display_markdown Muse can render."},{"name":"get_offer","description":"Re-check the current price and cancellation policy for one offer_id before quoting it to the user. Returns PRICE_CHANGED or OFFER_EXPIRED with alternates if anything moved."},{"name":"hold_offer","description":"Lock an offer's price for 15 minutes and get a hold_id. Call this as soon as the user picks a room, before collecting guest details, so the price can't move while they decide. Returns hold_id and expires_at. Next step: book_hotel with hold_id."},{"name":"book_hotel","description":"Confirm the reservation. Pass hold_id (preferred) or offer_id, guest name/email, and a unique idempotency_key. Pay with payment_data {token: spt_…, provider: stripe} from the Link agent wallet. Some suppliers also need a guarantee card. Retries with the same key return the same booking."},{"name":"get_booking","description":"Look up a reservation by booking_id: status, confirmation number, dates, total, and cancellation terms."},{"name":"modify_booking","description":"Change a booking's guest name/email or stay dates. Date changes re-price at the same hotel; if the total moves, confirm with the user and call again with confirm_new_total. Returns the updated booking or PRICE_CHANGED / NOT_MODIFIABLE."},{"name":"cancel_booking","description":"Cancel a reservation made through this connector. Returns the updated booking, or NOT_CANCELLABLE with exact instructions when the rate is non-refundable or the property must be contacted directly. Refunds a charged Shared Payment Token when the cancel succeeds."}],"example_prompts":["Book me a hotel in Boston Thursday to Saturday under $250 a night","Find a refundable room near Acadia National Park for two nights in October","I need somewhere to stay in Austin tonight, closest to the convention center","Get me a hotel in Chicago for the 14th and 15th, two adults, and book it","Cancel my hotel reservation","What's the cheapest place with free cancellation in Portland Maine this weekend?"],"slo":{"p50_ms_target":900,"p95_ms_target":2500},"contact":{"support":"https://bookhotelsmcp.com/support","help":"https://bookhotelsmcp.com/help","email":"support@bookhotelsmcp.com"},"docs":"https://bookhotelsmcp.com/docs","legal":{"privacy":"https://bookhotelsmcp.com/privacy","terms":"https://bookhotelsmcp.com/terms"},"icon":"https://bookhotelsmcp.com/logo.png"}