Skip to main content
Glama
pisanuw

Google Flights MCP

by pisanuw

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SERPAPI_API_KEYYesYour SerpAPI API key

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
search_flightsA

Search Google Flights (via SerpAPI) between two airports.

Args: departure_id: Origin IATA airport code, e.g. "SEA". Multiple origins may be comma-separated, e.g. "SEA,PDX". arrival_id: Destination IATA airport code, e.g. "NRT". outbound_date: Departure date as YYYY-MM-DD. return_date: Return date as YYYY-MM-DD. Required when trip_type is "round_trip"; ignored for "one_way". trip_type: "round_trip" (default) or "one_way". travel_class: Cabin class. adults, children, infants_in_seat, infants_on_lap: Passenger counts. stops: Filter by number of stops. max_price: Maximum total price in currency. currency: ISO 4217 currency code (default USD). max_results: Cap on options returned per bucket (best / other). deep_search: Slower, but matches google.com/travel/flights more precisely.

For a round trip, each option's price is the total round-trip fare and its departure_token can be passed to get_return_flights to see return options.

search_multi_cityA

Search a multi-city Google Flights itinerary (2+ separate legs).

Args: legs: Ordered list of leg objects, each with "departure_id", "arrival_id", and "date" (YYYY-MM-DD). For example: [{"departure_id": "SEA", "arrival_id": "NRT", "date": "2026-10-03"}, {"departure_id": "NRT", "arrival_id": "ICN", "date": "2026-10-10"}, {"departure_id": "ICN", "arrival_id": "SEA", "date": "2026-10-17"}] travel_class, adults, children, infants_in_seat, infants_on_lap, stops, max_price, currency, max_results, deep_search: as in search_flights.

Each option's departure_token can be passed to get_return_flights to advance to the next leg's options.

get_return_flightsA

List the next set of options after selecting a flight.

Pass a departure_token from a round-trip search_flights result (to see return options) or a multi-city search_multi_city result (to advance to the next leg). Each returned option has a booking_token usable with get_booking_options.

get_booking_optionsA

List where to book a selected flight and the price at each provider.

Pass a booking_token from a search_flights (one-way) or get_return_flights result.

track_priceA

Start tracking the price of a route over time.

Saves the search as a watch and records its current lowest price. Re-check with check_prices (or the scheduled checker) to log price history and get alerted on drops. Set target_price to be alerted when it falls to/below that amount. label is a friendly name shown in alerts and listings.

list_price_watchesA

List all saved price watches with their most recent recorded price.

untrack_priceA

Delete a price watch (and its recorded history) by id.

check_pricesA

Re-check every price watch now, record the prices, and report any drops or target hits. Uses one SerpAPI search per watch.

get_price_historyB

Return the recorded price history (timestamp, price) for a watch.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/pisanuw/claude-google-flights-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server