Live Booking.com hotel prices, plus per-country pricing for rate-parity monitoring.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent — or use 1-click editor setup below.
One-click editor setup isn’t available for this listing yet — we don’t have a confirmed install command, and we’d rather show nothing than point your editor at the wrong package or host. Follow the project’s own setup instructions, linked above.
One URL, either way in:
In a client that supports MCP authorization, a Sign in button appears: you sign in with
Google, and your first 10 searches each day are free and ad-free on our key, with nothing to
paste. Paste your own RapidAPI key once on the /connect page when you want that cap gone, and
nothing goes in your client config either way. In a client that shows no Sign in button, bring
the key yourself:
Same URL, both times. A request carrying a credential of any kind is served; a request carrying
nothing at all is answered 401 with the OAuth metadata, which is what makes the Sign in button
appear. https://flights.flightpowers.com/mcp/oauth is still live and demands the sign-in on the
first request, for clients whose auth mode is fixed when a server is added.
Hosted. Nothing to clone, nothing to build. Listed in the official MCP Registry as
com.flightpowers/google-flights-mcp. Health check:
/health.
No key yet? You do not need one to start. Add the URL above, sign in with Google, and the first 10 searches each UTC day run on our key, ad-free, with nothing to paste. The exact unit counted is in Try it with no key.
Need a key? Subscribe to the Google Flights Live API on RapidAPI, free tier available,
and copy your x-rapidapi-key: https://rapidapi.com/mtnrabi/api/google-flights-live-api
Want more free searches than that, and do not mind ads? There is a separate free,
ad-supported server:
claude mcp add --transport http google-flights-free https://free-trial.flightpowers.com/mcp
(50 searches a day and 250 a month per signed-in account, one disclosed sponsored card per
result, fan-out capped at 15, and clients that cannot render the sponsored card may be capped
further.) Come back here when the ads, the 15-search cap, or those client restrictions get in
your way.
Two tools that answer a fare question, not a date lookup.
nights value instead of a fixed return date, and expand them internally.price_insights_low, price_insights_high, and a
price_range_in_relation_to_other_periods verdict of low / typical / high. That is what
lets an agent answer "$209 is typical here, don't rush" instead of just quoting a number.buy_link to Google Flights.api_usage: requests used by this call, and
what is left on the caller's plan. See Spend reporting.search_coverage, so the model can say
honestly which dates and destinations the answer is based on.Results are live fares. They go stale within minutes: never cache a fare or reuse an earlier result; search again and state when the data was fetched.
A signed-in account gets 10 free searches per UTC day on our key, ad-free, with nothing to
paste into your client. Sign in the way your client offers it, or at
https://flights.flightpowers.com/connect, and ask for a fare. Ten is what the hosted
deployment runs today; /health reports the live values as trial_enabled and trial_day_cap
and is the number to trust. (The allowance is off by default in this code and needs both
PAID_TRIAL_DAY_CAP and PAID_TRIAL_RAPIDAPI_KEY set on purpose, so a deployment you run
yourself has none until you configure one.)
A search is one date x destination combination, so one call with a three-day range spends three.
The allowance is held for the whole plan before the first request goes out and whatever the
fan-out did not send is given straight back, so two calls at once cannot both spend it. Every
result carries a trial block with the count and the cap. Past the cap the tools answer with
search_status: "trial_exhausted" and no results -- never an error, and retrying does not help;
the allowance renews at 00:00 UTC.
Comparing several sources in one call (compare_hotel_rates, or search_hotels with more than
one providers entry) is not part of the allowance and asks for your own key.
Connecting your own RapidAPI key removes the cap entirely. That is the next section.
The server holds no upstream credential of its own. Every search beyond the free allowance is billed to your RapidAPI subscription, which is why the key travels with the request.
x-rapidapi-key.If a key is missing and the allowance is not available to you, the tools do not fail silently and
do not spend anything. They return needs_api_key: true with the signup URL and these
instructions, phrased for the model to read back to you.
| Way | How | When to use it |
|---|---|---|
| Header (preferred) | --header "x-rapidapi-key: YOUR_RAPIDAPI_KEY" | Anything that lets you set headers. Keys stay out of URLs, and therefore out of proxy and access logs. |
| Query parameter | https://google-flights-mcp.flightpowers.com/mcp?rapidapi_key=YOUR_RAPIDAPI_KEY | Hosts that only let you paste a URL: claude.ai's custom-connector dialog is the case that matters. |
| Client API-key field | Paste the key into the client's own "API key" box | Hosts that send authorization: Bearer <key> or x-api-key. Smithery's saved-config form (config.rapidApiKey=) is also accepted. |
First non-empty source wins, in that order. The key is never logged, never echoed into an error message, and never returned in a tool response.
/connectThis is the page the sign-in URL at the top of this README sends you to. A client that speaks MCP authorization walks you through it on its own; the steps below are the same thing done by hand.
Where a deployment has it enabled (check connect_enabled on /health), there is a page at
/connect that replaces all of the above with a sign-in:
…/mcp?fp_token=fpk_…, and use that as
the server URL in your MCP client. Clients that let you set headers can send the same token
as Authorization: Bearer fpk_… instead. (It is hidden until you ask for it: that URL is a
90-day bearer credential for your plan, and a page that prints one by default puts it in
every screenshot and screen share.)If your client signed you in itself -- Claude, Cursor, ChatGPT and anything else that speaks
MCP authorization -- there is no URL to copy. /connect says so: it shows the key you
connected and tells you to go back to your assistant. There is a link on it for the case where a
second client cannot sign in and does need a connect URL.
What that buys you: your RapidAPI key is not in your client config, not in a URL, and not in
whatever logs that URL passes through. What it costs: the server stores your key, encrypted, and
knows your Google account id and email address. Disconnect on the same page deletes the record
and kills every connect token for your account, immediately. The full description is
section 2a of the privacy policy.
Some details worth knowing:
x-rapidapi-key header (or any of the
other channels above) and carry a connect token, the request's own key is used. Nothing you
already have set up changes behaviour because you signed in.needs_api_key reply telling you to reconnect. It never falls back to
somebody else's subscription and never spends anything./connect on your own deploymentOff unless all four of these are set. A half-configured deployment registers none of the
routes and serves keyed callers exactly as before; /health reports connect_enabled so that is
visible rather than guessed.
No reviews yet — be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/booking-com-hotel-search-live-prices-2)<a href="https://allmcps.com/mcp/booking-com-hotel-search-live-prices-2"><img src="https://allmcps.com/api/badge/booking-com-hotel-search-live-prices-2?style=directory" alt="Booking.com Hotel Search (Live Prices) on AllMCPs" /></a>