Google Flights Search icon Travel MCP

Google Flights Search MCP

Run exact Google Flights searches from your AI app with one MCP call for route, dates, cabin class, passenger counts, stop limits, and duration caps.

  • check_circle One public tool for one-way or roundtrip search
  • check_circle Structured output with ranked cards and booking links
  • check_circle Widget-ready response via openai/outputTemplate
Google Flights Search MCP demo showing the search_flights_goog MCP call and widget output

Tools

The public MCP surface is intentionally simple: one Google Flights tool handles the whole itinerary search and returns ranked output that works for both reasoning and UI rendering.

Tool

search_flights_goog

flight

Use this tool for exact Google Flights searches across airport pairs. Send one full itinerary per call. For roundtrip searches, include both departure_date and return_date in the same request.

Required inputs

  • from_airports
  • to_airports
  • departure_date

Useful optional inputs

  • return_date
  • max_duration_hrs
  • max_stops
  • flight_class
  • adults, children

Returns

  • results[]
  • count
  • search
  • cards[]

Response JSON

The MCP returns both ranked raw flight groups and a pre-shaped cards array for immediate UI rendering. That gives agents one payload for reasoning and presentation.

cards[]

Best path for UI rendering. Each card already includes price, route labels, outbound and return summaries, and the Google booking URL.

results[]

Structured ranked groups for custom agent-side ranking, filtering, and follow-up transformations.

search

Compact route and date summary that is useful for cards, logs, and fallback text.

count

Quick result cardinality without scanning the full response array.

{
  "count": 25,
  "search": {
    "route_label": "SEA → LAX",
    "date_label": "Apr 11 - Apr 15",
    "trip_type": "round_trip"
  },
  "cards": [
    {
      "id": "flight-card-1",
      "badge": "Best value",
      "price_display": "$325",
      "booking_url": "https://www.google.com/travel/flights/...",
      "outbound": {
        "airline": "Alaska Airlines",
        "duration": "2h 45m",
        "stops": 0
      }
    }
  ],
  "results": [
    {
      "flight_result_group": {
        "rank": 1,
        "round_trip_price": "$325",
        "google_flights_link": "https://www.google.com/travel/flights/..."
      }
    }
  ]
}

Quickstart + Code

The MCP uses standard JSON-RPC methods. The public surface includes tools/list, tools/call, resources/list, and resources/read. The Google Flights widget is exposed at ui://widgets/google-flights.

POST /mcp/google-flights
{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "tools/call",
  "params": {
    "name": "search_flights_goog",
    "arguments": {
      "from_airports": ["SEA"],
      "to_airports": ["SFO"],
      "departure_date": "2026-10-24",
      "return_date": "2026-10-30",
      "max_duration_hrs": 8,
      "max_stops": 0,
      "flight_class": "economy",
      "adults": 1
    }
  }
}

Access + Auth

This MCP exposes a standard MCP transport surface. In practice, teams usually consume it through Infoseek routing or a direct MCP client that speaks JSON-RPC and can call tools/list and tools/call.

The widget contract is built in: the tool advertises openai/outputTemplate and returns card-shaped output that can render directly into chat-based AI interfaces.

Why These Outputs Matter

  • Better agent ranking: results[] retains ranked itinerary groups for reasoning layers.
  • Faster UI rendering: cards[] is already shaped for chat widgets and side panels.
  • Better link persistence: every top option carries the Google Flights booking URL.

Use Cases

Flight comparison agents

Run exact Google Flights searches alongside other providers when you need one structured response per provider for parallel comparison.

Travel planning copilots

Add stop and duration constraints directly into the tool arguments instead of trying to post-filter fuzzy search output later.

Widget-first chat apps

Use the built-in output template and pre-shaped cards to drop Google Flights results straight into an MCP-enabled UI.

Need this MCP in your stack?