Skip to content

Flights MCP

Google Flights MCP server for Claude, Cursor and ChatGPT

FlightPowers' Google Flights MCP server gives Claude, Cursor and ChatGPT live Google Flights fares with Google's own low / typical / high price band, a date range and a list of destinations in one call, and a round trip priced as one request with one booking link. Free with ads at free-trial.flightpowers.com/mcp (Google sign-in, 50 searches a day); ad-free on your own RapidAPI key, where PRO is $10 for 2,500 searches. Best for fare tracking, date scans and AI agents; it does not book.

Also called a flights MCP, a flight search MCP or a flight MCP server. It is hosted: you add a URL, nothing runs on your machine.

add this URL to your MCP client
https://flights.flightpowers.com/mcp

Your client shows a Sign in button. Sign in with Google; your first 10 searches each day run free and ad-free with nothing pasted, and you paste your RapidAPI key once on the page that opens when you want more.

Is there an MCP for flights?

Yes. FlightPowers runs a hosted flights MCP server at flights.flightpowers.com/mcp: add the URL to Claude, Cursor, ChatGPT or any MCP client, sign in with Google, and the assistant can search live fares one-way or round trip.

Is there an MCP for Google Flights?

Google has offered no public flights API since QPX Express closed in 2018, so a Google Flights MCP reads the live public results. This one hands them to the assistant with a booking link on every fare and Google's own low / typical / high price band for the route.

What is an MCP server for?

An MCP (Model Context Protocol) server gives an AI assistant tools it can call. A flights MCP lets the assistant fetch real fares when you ask, instead of guessing from what it was trained on.

One real search

Six round trips priced in one tool call

New York to Lisbon or Barcelona, leaving any day from November 10 to 12, five nights. I sent this call to flights.flightpowers.com/mcp on 2026-10-06 at 19:54 UTC; it is the call an assistant makes for that question. It came back in about 4 seconds and billed 6 requests.

captured run · 2026-10-06
tools/call · the request
{
  "name": "search_roundtrip_flights",
  "arguments": {
    "from_airport": "JFK",
    "to_airport": [
      "LIS",
      "BCN"
    ],
    "departure_date_from": "2026-11-10",
    "departure_date_to": "2026-11-12",
    "nights": 5,
    "sort_by": "price",
    "limit": 5
  }
}
the response · trimmed to 2 of 6 rows
{
  "search_status": "ok",
  "results_total": 6,
  "results": [
    {
      "to_airport": "Barcelona (BCN)",
      "departure_date": "2026-11-11",
      "return_date": "2026-11-16",
      "nights": 5,
      "total_price": "$564",
      "total_stops": 2,
      "departure_flight_airline": "Tap Air Portugal | Operated by Portugalia - Companhia Portuguesa",
      "return_flight_airline": "Tap Air Portugal",
      "price_insights_low": 385,
      "price_insights_high": 650,
      "price_range_in_relation_to_other_periods": "typical",
      "buy_link": "https://www.google.com/travel/flights?tfs=Gl0SCj…"
    },
    {
      "to_airport": "Barcelona (BCN)",
      "departure_date": "2026-11-12",
      "return_date": "2026-11-17",
      "nights": 5,
      "total_price": "$577",
      "total_stops": 2,
      "departure_flight_airline": "Tap Air Portugal",
      "return_flight_airline": "Tap Air Portugal | Operated by Portugalia - Companhia Portuguesa",
      "price_insights_low": 385,
      "price_insights_high": 650,
      "price_range_in_relation_to_other_periods": "typical",
      "buy_link": "https://www.google.com/travel/flights?tfs=Gl0SCj…"
    }
  ],
  "search_coverage": {
    "requested_combinations": 6,
    "searched_combinations": 6,
    "hub_requests_billed": 6
  }
}
ToOut → backAirlinesTotalGoogle's rangeVerdict
Barcelona (BCN)11-11 → 11-16Tap Air Portugal$564$385 to $650typical
Barcelona (BCN)11-12 → 11-17Tap Air Portugal$577$385 to $650typical
Lisbon (LIS)11-11 → 11-16Aer Lingus$605$425 to $700typical
Lisbon (LIS)11-12 → 11-17Aer Lingus$605$425 to $700typical
Barcelona (BCN)11-10 → 11-15British Airways / Air Europa$612$385 to $650typical
Lisbon (LIS)11-10 → 11-15British Airways$668$425 to $700typical

Each row is a whole round trip: both legs, one total, one buy_link. The cheapest was Barcelona (BCN) at $564, which Google marks typical for that route (its range $385 to $650). I asked for 5 rows; the server raised the limit to 6 so every date and destination it searched gets a row, and says so in search_coverage. Fares move by the minute, so read this as a captured run, not a price you can book today.

Connect it

One URL, any MCP client

The same address works for every client. A client with a sign-in button gets a Google sign-in; a script sends your key in a header instead.

Claude (claude.ai and Desktop)

Settings, Connectors, Add custom connector, paste https://flights.flightpowers.com/mcp, press Connect and sign in with Google.

Claude Code

terminal
claude mcp add --transport http flights https://flights.flightpowers.com/mcp

Then open /mcp in a session and sign in.

ChatGPT

Settings, Connectors, turn on developer mode, add the URL as a connector with OAuth authentication, and sign in with Google. Step by step.

Cursor and any mcp.json client

.cursor/mcp.json
{
  "mcpServers": {
    "flights": { "url": "https://flights.flightpowers.com/mcp" }
  }
}

Scripts, CI and clients with no sign-in button

same URL, key in a header
{
  "mcpServers": {
    "flights": {
      "url": "https://flights.flightpowers.com/mcp",
      "headers": { "x-rapidapi-key": "YOUR_RAPIDAPI_KEY" }
    }
  }
}

A client that takes only a URL can put the key on it: ?rapidapi_key=. Treat that URL as a secret.

The tools, printed raw

2 tools, read from a live tools/list

Names, titles, hints and every parameter as flights.flightpowers.com/mcp returned them on 2026-10-06. Each parameter line is the first sentence of the server's own description.

search_oneway_flights

FlightPowers: search one-way flights · required: from_airport, to_airport · readOnlyHint true · idempotentHint false

FlightPowers one-way fare search: live prices read from Google Flights.

from_airportOrigin IATA code, e.g. "TLV". One origin per search; a second one is refused rather than searched.
to_airportDestination airport. One IATA code ("BCN"), several separated by commas ("BCN,LIS,ATH"), or a list (["BCN","LIS","ATH"]) -- every shape is accepted and the destinations are compared in the same search.
departure_dateSingle departure date, "YYYY-MM-DD".
departure_date_fromFirst date of a departure range.
departure_date_toLast date of a departure range.
max_stopsMaximum stops per flight. 0 means non-stop only.
airline_codesRestrict to these airline codes, e.g. ["LY"].
exclude_airline_codesExclude these airline codes.
departure_time_minEarliest departure hour, 0-23.
departure_time_maxLatest departure hour, 0-23.
arrival_time_minEarliest arrival hour, 0-23.
arrival_time_maxLatest arrival hour, 0-23.
currencyISO currency code, default "usd".
max_priceOnly return flights at or below this price.
seat_type1 economy, 2 premium economy, 3 business, 4 first.
passengersOne entry per traveller, not a count: 1 adult, 2 child (aged 2-11), 3 infant on lap, 4 infant in seat, e.g. [1, 1, 2] for two adults and a child.
sort_by"best", "price", or "duration". Applied across all results.
limitMaximum flights to return, after merging and sorting.
max_searchesThe billed requests this call may make, up or down.
use_fallbackLeave unset. Switches the search to a second, independent flight data source instead of the usual Google Flights page read.
verboseReturn every field the upstream sends on each fare, and every fare that was selected, with no row bound.

search_roundtrip_flights

FlightPowers: search round-trip flights · required: from_airport, to_airport · readOnlyHint true · idempotentHint false

FlightPowers round-trip fare search: live prices read from Google Flights, priced as paired legs rather than two separate one-ways.

from_airportOrigin IATA code, e.g. "TLV". One origin per search; a second one is refused rather than searched.
to_airportDestination airport. One IATA code ("BCN"), several separated by commas ("BCN,LIS,ATH"), or a list (["BCN","LIS","ATH"]) -- every shape is accepted and the destinations are compared in the same search.
departure_dateSingle outbound date, "YYYY-MM-DD".
departure_date_fromFirst date of an outbound range.
departure_date_toLast date of an outbound range.
return_dateFixed return date. Use this OR nights, not both.
nightsTrip length in nights; a number, or a list like [5, 6, 7].
max_departure_stopsMaximum stops on the outbound leg.
max_return_stopsMaximum stops on the return leg.
departure_airline_codesRestrict the outbound leg to these airlines.
return_airline_codesRestrict the return leg to these airlines.
currencyISO currency code, default "usd".
max_priceOnly return trips at or below this total price.
seat_type1 economy, 2 premium economy, 3 business, 4 first.
passengersOne entry per traveller, not a count: 1 adult, 2 child (aged 2-11), 3 infant on lap, 4 infant in seat, e.g. [1, 1, 2] for two adults and a child.
sort_by"best", "price", or "duration". Applied across all results.
limitMaximum trips to return, after merging and sorting.
max_searchesThe billed requests this call may make, up or down.
use_fallbackLeave unset. Switches the search to a second, independent flight data source instead of the usual Google Flights page read.
verboseReturn every field the upstream sends on each fare, and every fare that was selected, with no row bound.

idempotentHint is false on purpose: a fare search is a live lookup, and a client that caches it would hand you an old price.

What it costs

Free to try, $10 for the big scans

Try it free

free-trial.flightpowers.com/mcp: Google sign-in, no key, 50 searches a day and 250 a month, one sponsored card per result.

PRO on your key

$10 a month for 2,500 searches, 150 a minute, no ads. A month at three trip lengths is 93 searches, so PRO covers about 26 of them.

Bigger plans

ULTRA $25 for 10,000, MEGA $50 for 25,000. Billing runs on RapidAPI, month to month. All plans.

More questions

Is there a free flights MCP?
Yes, free-trial.flightpowers.com/mcp: sign in with Google and you get the same flight and hotel tools with no key, 50 searches a day and 250 a month, with one labelled sponsored card on each result. It is the place to try the tools. For anything you ship, use the ad-free server on this page with your own RapidAPI key.
What does a search cost on my key?
One date and destination combination is one request on your RapidAPI plan. The run on this page covered 3 departure dates and 2 destinations, so it billed 6. PRO is $10 for 2,500 searches a month; BASIC is free with 10 a month, enough to check the setup works.
Can it search a whole month?
Yes, in one call. departure_date_from and departure_date_to set the range and nights takes a list of trip lengths, so a month at three trip lengths is one tool call that prices 93 combinations. The server says how many it searched in search_coverage.
Does it book flights?
No. Every fare carries a buy_link that opens Google Flights on that itinerary, and the booking happens there.

Ask your assistant for a fare

Add the URL, sign in with Google, and ask for a month of fares to two cities. Google's verdict on the price comes back with the fares.

Free tier: 10 requests/month. No card to try.

Docs: the Flights API and the MCP servers.