Booking.com Remote MCP Server
Server Details
Booking.com stays by destination and dates, and full property details, as structured JSON.
- Status
- Healthy
- Uptime
- 86.4% over 54 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- HasData/booking-mcp
- GitHub Stars
- 11
- Server Listing
- Booking MCP Server
TDQS
Scored across 2 tools
The two tools have clearly separate purposes: one searches by destination keyword and filters, the other fetches a single property by URL. Their descriptions even reference each other explicitly (search feeds hotelId/URL into place details), eliminating misselection risk.
Both names follow the same pattern: hasdata_booking_{place|search}_getBooking{PlaceDetails|SearchResults}, with a shared vendor prefix and resource segment. The mixed snake_case outer structure with camelCase action suffixes is a minor stylistic wart but is applied identically to both tools.
Two tools is thin for a server covering Booking.com accommodations, even if search+details is the minimal viable read pair. An agent needing destination autocomplete, reviews, or room inventory has no direct entry point.
For a read-only data API the search/detail pairing covers the main discovery-to-enrichment workflow with rich filtering and full property payloads. Minor gaps remain: no destination/autocomplete lookup, standalone review endpoint, or room availability search beyond the property detail call.
Available Tools
2 toolshasdata_booking_place_getBookingPlaceDetailsbooking_place: GET /ARead-onlyInspect
Get Booking Hotel Details
Fetches a single Booking.com property by its full URL for the given stay dates (checkInDate / checkOutDate) and guest composition (rooms, adults, children with ages). Returns the property identity (hotelId, title, address, coordinates), policies (free cancellation, no prepayment, child/pet stays), price, rating and review summary, photos, and the list of available room suites for the requested window. Use to enrich property listings with real-time availability and pricing, monitor a specific competitor hotel over time, validate amenities and photos before displaying venue details to end users, or fetch full details after discovering the property URL via the Booking Search endpoint.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Full Booking.com URL of the property page. Only `booking.com` and `www.booking.com` hosts are accepted. | |
| rooms | Yes | Number of rooms to book. | |
| adults | Yes | Number of adult guests across all rooms. | |
| children | Yes | Number of child guests across all rooms (0–10). Pass `0` if there are no children. | |
| currency | No | Currency of the prices returned in the response. Use `hotelCurrency` to keep each property's native currency. Provide one exact documented value (52 allowed), e.g. `hotelCurrency`, `usd`. | |
| language | No | Language of the Booking.com interface and localized fields in the response. | |
| checkInDate | Yes | Check-in date in `YYYY-MM-DD` format. Must be in the future and earlier than `checkOutDate`. | |
| checkOutDate | Yes | Check-out date in `YYYY-MM-DD` format. Must be later than `checkInDate`. | |
| childrenAges | No | Comma-separated list of child ages, one entry per child (each `0`–`17`). Required when `children > 0` and the number of ages must equal `children`. Example: `1,3,7` |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, openWorldHint=true, so the safety profile is covered. The description adds real value by enumerating what is returned (identity, policies, price, rating, photos, room suites) and noting prices/availability are real-time, though it says nothing about auth, rate limits, or error cases.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The opening line 'Get Booking Hotel Details' merely restates the title and is wasted space. The remainder is a dense but informative sentence followed by a use-case list; it is not bloated, but the redundant lead-in and heavy enumeration keep it from being tightly front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of explaining return values, and it does so thoroughly (identity, policies, price, rating, photos, room suites). For a read-only detail endpoint it is essentially complete, missing only error/failure behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter is already documented in the schema. The description restates the stay-date and guest-composition inputs but adds no syntax, format, or constraint detail beyond what the schema already provides, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (fetches) and resource (a single Booking.com property by full URL), and explicitly distinguishes itself from the sibling search endpoint by describing this as the 'fetch full details after discovering the property URL via the Booking Search endpoint' step.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives four concrete use cases (enrich listings, monitor a competitor, validate amenities/photos, fetch details after search) and names the discovery-then-detail workflow with the sibling tool. It lacks explicit when-not-to-use exclusions, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hasdata_booking_search_getBookingSearchResultsbooking_search: GET /ARead-onlyInspect
Get Booking Search Results
Searches Booking.com for accommodations by destination keyword and stay dates (checkInDate / checkOutDate) with guest composition (rooms, adults, children with ages) and rich filtering: property type, star rating, review score, hotel and room facilities, distance from center, reservation policy, bed preference, travel group, online payment, accessibility, plus optional price range and bedroom/bathroom counts. Pagination is page-based with 25 results per page; locale is controlled by language and currency. Returns each hotel's hotelId, title and Booking URL, location info (city, address, coordinates, distance to center / nearest beach), policies (free cancellation, no prepayment, child/pet stays), price (per stay, before discount, discount, currency), rating, review summary and main photo. Use to power travel-planning agents, OTA price/inventory monitoring, hotel competitor analysis, lead-generation in the hospitality vertical, or to feed hotelId / URL into the Booking Place endpoint for full property details.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number of the search results. Booking.com returns 25 results per page; pass `2` for results 26–50, `3` for 51–75, etc. | |
| sort | No | Sort order applied by Booking.com to the results page. | |
| rooms | Yes | Number of rooms to book. | |
| adults | Yes | Number of adult guests across all rooms. | |
| keyword | Yes | Free-text destination query. Usually a city, region or neighborhood (e.g. `Paris`, `Manhattan, New York`); a specific property name is also accepted. | |
| meals__ | No | Filter by available meal plans. Multiple values are combined with OR. | |
| bedrooms | No | Minimum number of bedrooms in the property. | |
| children | Yes | Number of child guests across all rooms (0–10). Pass `0` if there are no children. | |
| currency | No | Currency of the prices returned in the response. Use `hotelCurrency` to keep each property's native currency. Provide one exact documented value (52 allowed), e.g. `hotelCurrency`, `usd`. | |
| language | No | Language of the Booking.com interface and localized fields in the response. | |
| rating__ | No | Filter by official star rating. Multiple values are combined with OR. | |
| bathrooms | No | Minimum number of bathrooms in the property. | |
| price_max_ | No | Maximum total price for the stay, in the requested `currency`. Must be `>= 20` and greater than `price[min]`. Required if `price[min]` is omitted. | |
| price_min_ | No | Minimum total price for the stay, in the requested `currency`. Must be `>= 10`. Required if `price[max]` is omitted. | |
| checkInDate | Yes | Check-in date in `YYYY-MM-DD` format. Must be in the future and earlier than `checkOutDate`. | |
| checkOutDate | Yes | Check-out date in `YYYY-MM-DD` format. Must be later than `checkInDate`. | |
| childrenAges | No | Comma-separated list of child ages, one entry per child (each `0`–`17`). Required when `children > 0` and the number of ages must equal `children`. Example: `1,3,7` | |
| facilities__ | No | Filter by property-level facilities. Multiple values are combined with OR. | |
| reviewScore__ | No | Filter by minimum guest review score bucket. Multiple values are combined with OR. | |
| travelGroup__ | No | Filter by travel-group oriented stay options. Multiple values are combined with OR. | |
| propertyType__ | No | Filter by property type. Multiple values are combined with OR. | |
| bedPreference__ | No | Filter by bed configuration. Multiple values are combined with OR. | |
| onlinePayment__ | No | Filter by online payment options. | |
| roomFacilities__ | No | Filter by in-room facilities. Multiple values are combined with OR. | |
| reservationPolicy__ | No | Filter by reservation flexibility. Multiple values are combined with OR. | |
| roomAccessibility__ | No | Filter by in-room accessibility features. Multiple values are combined with OR. | |
| distanceFromCenter__ | No | Filter by distance from the destination center. Multiple values are combined with OR. | |
| propertyAccessibility__ | No | Filter by property-level accessibility features. Multiple values are combined with OR. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint, openWorldHint, destructiveHint=false), so the bar is lower. The description adds genuinely useful behavior beyond them: page-based pagination at 25 results/page, plus a detailed return-shape summary (price semantics, rating, policies, photo) that compensates for the absent output schema. It omits rate limits and auth requirements, keeping it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads purpose in the opening line and wastes little, but the body is a single dense run-on sentence enumerating filters and return fields, some of which restate the schema. Efficient overall, with mild redundancy in the return-field list.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 28-parameter search tool with no output schema, the description does the heavy lifting: it outlines the filter dimensions and describes the returned hotel fields, so an agent knows what comes back. Only operational details like error behavior or rate limits are missing, which is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 28 parameters including pagination, locale, price bounds and child ages. The description adds no syntax or constraint detail beyond what the schema provides, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Searches Booking.com for accommodations') and enumerates the scope precisely (destination keyword, stay dates, guest composition, rich filter list, pagination, locale). It also names the sibling endpoint it feeds into (`hotelId`/URL into Booking Place), so an agent can distinguish search from place-details without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly names target scenarios (travel-planning agents, OTA price/inventory monitoring, competitor analysis, lead-gen) and routes to the sibling when full property details are needed. It stops short of stating exclusions or prerequisites (e.g. valid date/guest constraints beyond what the schema enforces), so it is clear context rather than a complete routing rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
- First observed
hasdata_booking_place_getBookingPlaceDetails - First observed
hasdata_booking_search_getBookingSearchResults
Publisher details
- Operator
- HasData · Publisher source
- Operator website
- https://hasdata.com · Publisher source
- Vendor relationship
- Independent · Publisher source
- Documentation
- https://docs.hasdata.com/mcp-server · Publisher source
- Trust center
- Not available
- Restrictions
- A free HasData account covers 1,000 credits a month with no card. Heavier use needs a paid plan. No admin approval, no regional limits and no custom OAuth app. · Publisher source
Related MCP Connectors
Airbnb stays by location and dates, and full listing details, as structured JSON.
Airbnb search, listing details, and calendar availability as clean structured data.
Real-time Booking.com rates for agents. Three things people do with this server. Scan for rate gaps: price_as_seen_from prices the same room from another market, so an agent can sample a property across countries and compare. Put live search in your app: search a destination or look a property up by name, no internal IDs, room-level rates as flat JSON. Run a 24/7 AI travel agent: add the server, sign in with Google, and schedule it. No ads, no sponsored content. You bring your own RapidAPI key, so every search is billed to your plan and never to anyone else's. Add https://hotels.flightpowers.com/mcp , click Sign in, sign in with Google, and paste your RapidAPI key once on the page that opens. Scripts and clients without a sign-in button send the key as x-rapidapi-key on the same URL.
Live hotel prices worldwide, sourced destination guides, prebooking. No key needed for reads.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables real-time hotel search and pricing data from Booking.com for AI agents and Claude.1 npm2ISC
- AlicenseAqualityAmaintenanceEnables MCP clients to search live hotel and vacation-rental listings with the rate each booking site (Booking.com, Expedia, Agoda, Vrbo, Airbnb and others) is charging, and to pull a three-month daily price calendar for a single property. All results come back as JSON using a user-supplied Apify token, with no Google account or local scraping required.31MIT
- AlicenseAqualityCmaintenanceEnables AI agents to search hotels, check availability, manage reservations, and book rooms on Booking.com via browser automation.155 npm7MIT
- FlicenseNot gradedqualityBmaintenanceProvides live hotel room rates, availability, and guest reviews from Agoda, enabling searches by destination and dates, property details, and structured review data.1-
Glama MCP Gateway
Add one secure layer between your agents and this server.