Booking.com MCP in Claude
Published November 7, 2026
Short answer: Add https://hotels.flightpowers.com/mcp to Claude as a custom connector,
sign in with Google, and ask for a hotel. Claude gets four tools that read live Booking.com
availability and rates when you ask: search a destination, price one hotel by name, search
Airbnb, and compare the two. Your first 10 searches each day are free on the two Booking.com tools after you sign in with Google, with no key and no card.
For more, paste your own RapidAPI key once: PRO is $10 a month for
2,000 hotel searches.
What this server is
It is mine: FlightPowers runs a hosted MCP server, so nothing installs on your machine. Its tools read Booking.com's live availability and rates at the moment Claude asks and return each property's stay total, price per night, review score, room type, location, coordinates and a Booking.com link. It reads rates; it does not make reservations, and FlightPowers is not affiliated with Booking.com. The same server is behind the hotel MCP page, which has the full parameter list.
What you need
- Claude on the web or the desktop app, or Claude Code
- A Google account for the sign-in
- Optional, past 10 searches a day: a RapidAPI key subscribed to the Booking Live API. BASIC is free for 10 searches a month (enough to check the key works), PRO is $10 for 2,000.
Add it to Claude
One click opens Claude's "Add custom connector" screen with the name and the URL filled in:
After Continue, choose ‘Sign in when needed’ (not the pre-selected ‘No sign-in’), then Add.By hand: in Claude on the web or the desktop app, open Customize → Connectors → + Add → Add
custom connector. Paste https://hotels.flightpowers.com/mcp, press Continue, choose ‘Sign in
when needed’ (not the pre-selected ‘No sign-in’), then Add, and sign in with Google when Claude
asks. Flights are a second connector, https://flights.flightpowers.com/mcp, set up the same
way (the Google Flights MCP guide); the 10 free searches a
day cover the two Booking.com tools and are shared with the flights connector.
Add it to Claude Code
claude mcp add --transport http hotels https://hotels.flightpowers.com/mcp
Then open /mcp in a session and sign in. claude mcp list prints ✔ Connected when it
worked and ! Needs authentication when the sign-in has not happened yet. To share it with a
project, put it in .mcp.json at the project root (nothing secret in it):
{
"mcpServers": {
"hotels": { "type": "http", "url": "https://hotels.flightpowers.com/mcp" }
}
}
A real search
Ask something like "Find a hotel in Barcelona for February 12 to 15, two adults, prices in US
dollars, show me five." Claude answers it with search_hotels. Below is that call, sent to the
server on 2026-11-07 at 17:01 UTC with the same arguments Claude sends, and two of the five rows it
returned:
{
"name": "search_hotels",
"arguments": {
"destination": "Barcelona",
"checkin_date": "2027-02-12",
"checkout_date": "2027-02-15",
"adults": 2,
"currency": "usd",
"limit": 5
}
}{
"results": [
{
"name": "Lamaro Hotel Barcelona - Preferred Hotels & Resorts - Lifestyle Collection",
"price": 931,
"price_string": "US$931",
"price_per_night": 310.33,
"review_score": 8.8,
"review_count": 2959,
"room_type": "Elegance",
"location": "Ciutat Vella, Barcelona",
"nights": 3,
"latitude": 41.38501069513764,
"longitude": 2.175924628973007,
"link": "https://www.booking.com/hotel/es/colon-barcelona.html?checkin=2027-02-12&checkout=2027-02-15&group_adults=2&no_rooms=1&group_children=0"
},
{
"name": "Hotel Sant Agustí",
"price": 483,
"price_string": "US$483",
"price_per_night": 161,
"review_score": 8.1,
"review_count": 4465,
"room_type": "Interior Comfort Double or Twin Room",
"location": "Ciutat Vella, Barcelona",
"nights": 3,
"latitude": 41.380487626927646,
"longitude": 2.1715962141752243,
"link": "https://www.booking.com/hotel/es/san-agustin.html?checkin=2027-02-12&checkout=2027-02-15&group_adults=2&no_rooms=1&group_children=0"
}
],
"result_count": 5,
"results_total": 15,
"api_usage": {
"requests_used_by_this_call": 1,
"hub_requests_billed": 1
}
}The search returned 15 properties; the call asked for 5, so the server kept the first 5 in Booking.com's own order and, when the cheapest falls past them, swaps it into the last slot. Here the cheapest was Hotel Sant Agustí: US$483 for the 3 nights, about US$161 a night, review score 8.1 from 4,465 reviews. The whole call was 1 request on the plan. Rates move within minutes, so these are a record of one call, not today's prices.
The four tools
search_hotels: Live Booking.com search for a destination written the way a person would
write it ("Rome", "Tokyo Shibuya") and a check-in and check-out date. Returns 10 properties by
default, the first 10 in Booking.com's own order, with the cheapest swapped into the last slot
when it falls past them; limit asks for more or fewer. Filters:
budget_per_night, adults, children, currency, and filters such as
free_cancellation or breakfast_included (an unknown filter name is refused with the list of
valid ones, never silently ignored).
find_hotel_by_name: One named property, the way a person would type it (add the city when a chain has many). No property id needed; the server resolves the name. Good for "is my hotel cheaper next week" and for a rate calendar of one hotel.
search_airbnb: Live Airbnb stays for a destination and dates, read from Airbnb's public search page: stay total, price per night, rating out of 5, room type, bedrooms, beds, baths and an Airbnb link. It needs its own Airbnb Live API subscription on the same RapidAPI key (PRO is $10 for 10,000); the 10 free sign-in searches do not cover it.
compare_hotel_rates: The same stay on Booking.com and Airbnb, one row per source: the
cheapest and the median stay total and how many places were found. Ratings are out of 10 on
Booking.com and out of 5 on Airbnb, and taxes_included is null on Airbnb because its page does
not say. It runs on your own key, one request per source on that source's subscription.
More prompts to try
A rate calendar for one hotel. "Price Hotel Artemide in Rome for 3 nights, for every
check-in date in April." find_hotel_by_name takes checkin_date_from, checkin_date_to and
nights and prices one stay per date in a single call. Each stay is one search, so a month of
dates runs on your own key, not on the 10 free a day.
The rate a shopper in another country sees. "Price the Rixos Sungate in Antalya for May 5
to 10 as seen from the US, Germany and Israel." price_as_seen_from takes a two-letter country
code. Gaps between countries are real but usually modest and depend on the property, so call
each country a few times before you call it a gap.
A budget and filters. "Hotels in Lisbon, March 9 to 12, two adults, under 150 euros a night, free cancellation."
Booking.com against Airbnb. "Compare Booking.com and Airbnb for Lisbon, March 5 to 8, two adults, in dollars." (Needs both subscriptions on your key.)
Going past 10 searches a day
Paste your RapidAPI key once: on the page that opens when you sign in, or later at
https://hotels.flightpowers.com/connect with the same Google account. It is encrypted before it
is stored, only its last four characters are ever shown again, and searches then meter against
your own subscription. Disconnect on the connect page deletes it.
For claude -p in a cron job, CI, or a client with no sign-in button, send the key in a header
instead, same URL:
{
"mcpServers": {
"hotels": {
"type": "http",
"url": "https://hotels.flightpowers.com/mcp",
"headers": { "x-rapidapi-key": "YOUR_RAPIDAPI_KEY" }
}
}
}
What it costs
One stay is one request on your plan; a date range is one request per check-in date.
- Booking Live API: free for 10 searches a month, then PRO $10 a month for 2,000, ULTRA $30 for 6,000, MEGA $75 for 15,000.
- Airbnb Live API: free for 100 searches a month, then PRO $10 a month for 10,000, ULTRA $25 for 35,000, MEGA $50 for 100,000. (only for
search_airbnband the Airbnb row ofcompare_hotel_rates)
Every plan, overage price and rate limit is on the pricing page.
Related
- Hotel MCP server: every parameter, and an earlier captured run
- The Google Flights MCP in Claude: the flights connector, set up the same way
- Hotel prices by country: what
price_as_seen_fromis for - Booking.com API key: the same rates over plain REST
Ask Claude for a hotel price
Add the URL, sign in with Google and ask: 10 searches a day are free. PRO on your own key is sized for an assistant you use every day.
Free tier: 10 requests/month. No card to try.
Docs: the Hotels API and the MCP servers.