Context7
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Description from the maker (original English)
Real-time Google Flights: one-way and round-trip fares over date ranges, with price verdicts.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
x-rapidapi-keyValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.
Run this in your terminal
claude mcp add --transport http google-flights https://flights.flightpowers.com/mcp --header 'x-rapidapi-key: your-value'Fill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"google-flights": {
"url": "https://flights.flightpowers.com/mcp",
"headers": {
"x-rapidapi-key": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"google-flights": {
"type": "http",
"url": "https://flights.flightpowers.com/mcp",
"headers": {
"x-rapidapi-key": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.
Your choice stays on this device in a cookie; no account needed.
x-rapidapi-key secret HTTP headerThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
We have not read this server’s tool list yet; we check endpoints in rotation.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The publisher (flightpowers.com) is not the repo owner (mtnrabi); someone else may have listed it
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Not checked yet; we check endpoints in rotation
Not checked yet; we check endpoints in rotation
Not checked yet; we read the tool list when we check the endpoint
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 0 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: x-rapidapi-key
It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.
The GitHub repo last changed –, and the latest version (1.2.0) reached the registry 2 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Context7, Codebase Memory, Exa
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
An MCP server for live flight prices and hotel rates: Claude, Claude Code, Cursor, Cline and any other MCP client get real-time Google Flights fares and Booking.com room rates as tools. One call searches a date range and a list of destination airports, every fare carries Google's own low / typical / high verdict and price range, and a round trip is priced as one request (both legs, one total, one booking link). Hosted at https://flights.flightpowers.com/mcp (hotels at https://hotels.flightpowers.com/mcp), nothing to install. It finds and prices, it does not book.
Built by FlightPowers, a travel data API for developers and AI agents: REST, MCP servers and an n8n node on one RapidAPI key. Sign in with Google and your first 10 searches each day are free.
Where to get a key: Google Flights Live API and Booking Live API on RapidAPI. A free pack of 10 searches a month, then PRO is $10 for 2,500 flight searches, about a sixth of SerpApi's price per search (their cheapest plan is $25 for 1,000).
One URL, either way in:
claude mcp add --transport http google-flights https://flights.flightpowers.com/mcp
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 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:
claude mcp add --transport http google-flights https://flights.flightpowers.com/mcp --header "x-rapidapi-key: YOUR_RAPIDAPI_KEY"
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, 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: when you need a current price, search again rather than reusing an earlier result, and state when the data was fetched.
A signed-in account gets 10 free searches per UTC day on our key, 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.
A free search is capped by what is left of the day: a range or grid larger than that (a whole month at three trip lengths is 93 searches) is refused before anything runs, with the counts and a smaller question to ask instead. With your own key the cap rises by itself to cover a month-sized request. Comparing several sources in one call (compare_hotel_rates, on a deployment that enables it) 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 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.
| Variable | What it is |
|---|---|
GOOGLE_OAUTH_CLIENT_ID | Google Cloud Console → Credentials → OAuth client ID, type Web application. Ends .apps.googleusercontent.com. |
GOOGLE_OAUTH_CLIENT_SECRET | The same client's secret (GOCSPX-…). |
MCP_KEY_MASTER | 32 bytes, base64: openssl rand -base64 32. Encrypts stored keys (AES-256-GCM) and derives the cookie and token signing keys. |
DATABASE_URL | Neon Postgres, pooled endpoint (…-pooler…). Schema: migrations/001_mcp_user_keys.sql. |
Optional: MCP_CONNECT_VALIDATE=0 stores a pasted key without checking it first.
Authorised redirect URIs to register on the Google client, one per product origin, exactly:
https://google-flightsOnly the beginning is shown; read the rest in the repo