@striderlabs/mcp-booking
v0.1.0
Published
MCP server for Booking.com - let AI agents search hotels, check availability, and manage reservations
Downloads
20
Maintainers
Readme
@striderlabs/mcp-booking
MCP server for Booking.com — search hotels, check availability, manage reservations, and more via AI agents.
By Strider Labs
Overview
This MCP (Model Context Protocol) server gives AI agents the ability to interact with Booking.com using browser automation (Playwright). It supports 14 tools covering the full hotel booking workflow.
Tools
| Tool | Description |
|------|-------------|
| booking_status | Check login/session status |
| booking_login | Initiate login flow (returns URL for manual login) |
| booking_logout | Clear saved session and cookies |
| booking_search | Search hotels by destination, dates, guests, rooms |
| booking_get_property | Get property details (amenities, description, policies) |
| booking_check_availability | Check room availability for specific dates |
| booking_get_prices | Get pricing for a property |
| booking_filter_results | Filter last search by price, rating, amenities |
| booking_sort_results | Sort last search by price/rating/distance/reviews |
| booking_save_property | Save to wishlist/favorites |
| booking_book | Book a room (requires confirm=true) |
| booking_get_reservations | List current/upcoming reservations |
| booking_cancel_reservation | Cancel a booking (requires confirm=true) |
| booking_get_reviews | Get guest reviews for a property |
Requirements
- Node.js 18+
- A Booking.com account (for bookings, reservations, and wishlist)
Installation
npm install @striderlabs/mcp-bookingOr install Playwright browsers after install:
npx playwright install chromiumConfiguration
Add to your MCP config (e.g. ~/.claude/mcp_servers.json):
{
"mcpServers": {
"booking": {
"command": "npx",
"args": ["-y", "@striderlabs/mcp-booking"]
}
}
}Authentication
The server uses cookie-based session persistence. Cookies are stored at ~/.strider/booking/.
- Run
booking_loginto get the login URL - Open the URL in your browser and sign in
- Run
booking_statusto verify the session is active
Usage Examples
Search hotels
booking_search(destination="Paris", checkIn="2026-06-01", checkOut="2026-06-05", adults=2, rooms=1)Filter and sort results
booking_filter_results(maxPrice=200, minRating=8.0, freeCancellation=true)
booking_sort_results(sortBy="rating")Check availability and prices
booking_check_availability(propertyUrl="https://www.booking.com/hotel/fr/...", checkIn="2026-06-01", checkOut="2026-06-05")
booking_get_prices(propertyUrl="...", checkIn="2026-06-01", checkOut="2026-06-05")Book a room
# Preview first (no confirm flag)
booking_book(propertyUrl="...", checkIn="2026-06-01", checkOut="2026-06-05", adults=2)
# Confirm booking (only after explicit user approval)
booking_book(propertyUrl="...", checkIn="2026-06-01", checkOut="2026-06-05", adults=2, confirm=true)Manage reservations
booking_get_reservations()
booking_cancel_reservation(reservationId="12345678", confirm=true)Safety
booking_bookrequiresconfirm=trueand should only be called with explicit user confirmationbooking_cancel_reservationrequiresconfirm=trueand is irreversible- Both tools return a preview/warning when called without the confirm flag
Development
npm install
npm run build
npm startLicense
MIT — Strider Labs
