SERP ENGINE

Google Flights

Two tools over Google Flights, live via SerpAPI. The search tool covers round trips, one-way and multi-city itineraries and returns best_flights and other_flights — each with legs, airlines, times, durations, layovers, price and carbon emissions — plus price_insights. Two-step flows are supported: pass back a departure_token to get returning flights, or a booking_token to get booking options. The deals tool flips the question around: give it only an origin and it discovers cheap destinations for you.

2 tools ~2–8 s cache: 5 min USD default, any ISO code SerpAPI google_flights + google_flights_deals

Thirty seconds, any client.

claude mcp add --transport http google-flights https://mcp.wondel.ai/google-flights/mcp

One command in your terminal — the server is available in every Claude Code session.

This server works with Claude, Claude Code, Claude Desktop, Claude Cowork, Cursor, VS Code, Windsurf — and any other MCP client. Stdio-only clients connect through npx mcp-remote.

2 tools, fully typed.

Parameters below are transcribed from the server’s own zod schemas — what you see is what the tool validates.

google_flights_search Search Google Flights: best and other flights with legs, prices, durations, layovers, emissions and price insights. Supports round trip, one way and multi-city, plus token-based follow-ups for return legs and booking options.
Param Type Description
departure_id string Departure airport IATA code(s) or Google kgmid; comma-separate multiple. For multi-city use multi_city_json instead.
arrival_id string Arrival airport IATA code(s) or kgmid; comma-separate multiple.
outbound_date date Outbound date, YYYY-MM-DD.
return_date date Return date, YYYY-MM-DD. Required when type=1 (round trip).
type integer
= 1
Trip type: 1 = round trip, 2 = one way, 3 = multi-city.
travel_class integer
= 1
1 = economy, 2 = premium economy, 3 = business, 4 = first.
sort_by integer
= 1
1 = top flights, 2 = price, 3 = departure time, 4 = arrival time, 5 = duration, 6 = emissions.
multi_city_json string Multi-city legs as a JSON-string array (required when type=3), e.g. [{"departure_id":"CDG","arrival_id":"NRT","date":"2026-06-27"}, …].
adults integer
= 1
Number of adults.
children integer
= 0
Number of children.
infants_in_seat integer
= 0
Infants in seat.
infants_on_lap integer
= 0
Infants on lap.
stops integer
= 0
Max stops: 0 = any, 1 = nonstop only, 2 = up to 1 stop, 3 = up to 2 stops.
include_airlines string Only these airlines: 2-letter IATA codes (comma-separated) or an alliance (STAR_ALLIANCE, SKYTEAM, ONEWORLD). Mutually exclusive with exclude_airlines.
exclude_airlines string Exclude these airlines; same format. Mutually exclusive with include_airlines.
bags integer
= 0
Number of carry-on bags.
max_price integer Maximum ticket price in the selected currency.
outbound_times string Departure time window as comma-separated hours (0–23): "4,18" = departure range; four values add an arrival range.
return_times string Return time window, same format. Only valid when type=1.
emissions integer Set to 1 to show lower-emission flights only.
layover_duration string Layover duration range in minutes, "min,max" — e.g. "90,330".
exclude_conns string Connecting airports to exclude: comma-separated IATA codes.
max_duration integer Maximum total trip duration in minutes.
show_hidden boolean
= false
Include hidden flight results.
exclude_basic boolean
= false
Exclude basic-economy fares (US domestic, economy only).
deep_search boolean
= false
Deeper search matching browser results more closely (slower).
departure_token string Token from a prior result: selects an outbound flight and fetches return flights / next leg. Re-send the same search params. Mutually exclusive with booking_token.
booking_token string Token from a prior result: fetches booking options for a chosen itinerary. Mutually exclusive with departure_token.
gl string Country code for the search, e.g. "us", "de".
hl string Language code, e.g. "en", "fr".
currency string
= USD
Currency of returned prices (ISO code).
no_cache boolean
= false
Force a fresh SerpAPI fetch, bypassing this server’s result cache.
zero_trace boolean
= false
Enterprise-only ZeroTrace mode — SerpAPI stores no search params or metadata.
google_flights_deals_search Discover cheap destinations from an origin — no arrival_id, the deals engine explores for you. Dates accept a single day or a "start,end" window.
Param Type Description
departure_id string Departure airport IATA code(s) or kgmid. No arrival_id — destinations are discovered.
outbound_date date Single YYYY-MM-DD or a "start,end" range to widen the window.
return_date date Single date or range. Required when type=1 (round trip).
type integer
= 1
1 = round trip, 2 = one way.
travel_class integer
= 1
1 = economy, 2 = premium economy, 3 = business, 4 = first.
travel_duration integer Preset: 1 = one week, 2 = weekend, 3 = two weeks.
trip_length string Trip length in days: a number or a "min,max" range, e.g. "3,5".
adults integer
= 1
Number of adults.
children integer
= 0
Number of children.
infants_in_seat integer
= 0
Infants in seat.
infants_on_lap integer
= 0
Infants on lap.
stops integer
= 0
Max stops: 0 = any, 1 = nonstop, 2 = up to 1, 3 = up to 2.
include_airlines string Only these airlines (IATA codes or alliance). Mutually exclusive with exclude_airlines.
exclude_airlines string Exclude these airlines. Mutually exclusive with include_airlines.
max_price integer Maximum ticket price in the selected currency.
max_duration integer Maximum total trip duration in minutes.
gl string Country code, e.g. "us", "de".
hl string Language code, e.g. "en".
currency string
= USD
Currency of returned prices (ISO code).
no_cache boolean
= false
Force a fresh SerpAPI fetch, bypassing this server’s result cache.
zero_trace boolean
= false
Enterprise-only ZeroTrace mode — SerpAPI stores no search params or metadata.

Prompts that just work.

Find the cheapest nonstop round trip from Berlin to Lisbon leaving Friday, back Sunday night.

google_flights_search

Where can I fly from Warsaw for under $150 in October? Surprise me.

google_flights_deals_search

Compare business-class fares Warsaw → New York for the first week of September, sorted by duration.

google_flights_search

What comes back

{
  "source": "serpapi/google_flights",
  "fetchedAt": "2026-07-02T14:02:11.312Z",
  "query": { "departure_id": "BER", "arrival_id": "LIS", "outbound_date": "2026-07-03", … },
  "best_flights": [
    {
      "flights": [{ "airline": "TAP Air Portugal", "flight_number": "TP 533", … }],
      "total_duration": 220,
      "price": 148,
      "carbon_emissions": { "this_flight": 172000, "difference_percent": -8 }
    }
  ],
  "price_insights": { "lowest_price": 148, "price_level": "low" }
}

Abridged real response. Every payload carries the same envelope — source says where the data came from, fetchedAt says when, query echoes what you asked. Compact JSON in one text block, exactly how agents like it.

Add Google Flights
to your agent.

mcp.wondel.ai/google-flights/mcp

Authless · Read-only public data · Streamable HTTP at /mcp, legacy SSE at /google-flights/sse