HasData Google Flights Deals
A plain-language trip description becomes dated flight deals with prices and booking links.
使うべきか
品質と安全性
検出事項(2)
- LOWhasdata_google_travel_flights_deals_getGoogleFlightsDeals 内
- LOWhasdata_google_travel_flights_deals_getGoogleFlightsDeals 内
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"google-flights-deals": {
"command": "npx",
"args": [
"@hasdata/google-flights-deals-mcp"
]
}
}
}実行可能なパッケージ
1.0.0stdio1.0.0stdioリモートエンドポイント
https://mcp.hasdata.com/mcp?apis=google_travel_flights_dealsstreamable-httpできること
ツール一覧
ツール(1)
🟢hasdata_google_travel_flights_deals_getGoogleFlightsDeals(q, departureId, arrivalId, type, travelClass, ...)
Get Google Flights Deals Results Turns a plain-language trip description ("I would like to see cherry blossom in Japan", "beach escape", "fireworks festival in Hong Kong") into flight deals from one origin airport, with Google's AI choosing the destinations and travel dates. Each deal carries outbound and return dates, price, flight duration, trip length in days, number of stops, operating airline, departure and arrival airports, and a direct Google Flights booking link; typical price with the discount against it, and a destination description with a photo, come back only for searches Google shaped itself. Also returns the date range Google derived from the query. Filters cover trip type, cabin class, stops, dates, trip length, price and duration ceilings, airlines and party size. Use for inspiration-driven travel search, seasonal and event-based fare discovery, deal alerting, and travel-content generation.
入力スキーマ
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Free-text trip description, from a bare place name to a full sentence:\n\n - **Destination**: `Tokyo`\n - **Type of trip**: `beach escape`, `weekend getaway in Europe`\n - **Season or event**: `I would like to see cherry blossom in Japan`\n\nWhen the query implies a time of year, Google dates it itself and reports the range in `searchInformation.dateRange`.\n"
},
"departureId": {
"type": "string",
"description": "Departure airport as a 3-letter uppercase IATA code, e.g. `LAX` or `LHR`. Search on [IATA](https://www.iata.org/en/publications/directories/code-search).\n\nOne airport per search; city names are not accepted.\n"
},
"arrivalId": {
"type": "string",
"description": "Pins the search to one destination instead of letting Google pick from the query.\n\n - **IATA code**: 3 uppercase letters, e.g. `NRT` for Tokyo Narita.\n - **Location kgmid**: starts with `/m/`, found in Wikidata under \"Freebase ID\", e.g. `/m/07dfk` for Tokyo.\n\nRequired by every filter: `type`, `travelClass`, `stops`, `outboundDate`, `returnDate`, `travelDuration`, `tripLength`, `maxPrice`, `maxDuration`, `includeAirlines` and `excludeAirlines`. Without it Google drops them silently.\n"
},
"type": {
"type": "string",
"enum": [
"1",
"roundTrip",
"2",
"oneWay"
],
"description": "Flight type. Requires `arrivalId`.\n\n - `1` / `roundTrip` — round trip (default)\n - `2` / `oneWay` — one way\n\nA one-way deal carries no `returnDate` and no `tripLengthDays`.\n"
},
"travelClass": {
"type": "string",
"enum": [
"1",
"economy",
"2",
"premiumEconomy",
"3",
"business",
"4",
"first"
],
"description": "Travel class. Requires `arrivalId`.\n\n - `1` / `economy` — economy (default)\n - `2` / `premiumEconomy` — premium economy\n - `3` / `business` — business\n - `4` / `first` — first\n\nFares climb steeply: on LAX-NRT the same search ran $730 in economy against $2882 in business.\n"
},
"outboundDate": {
"type": "string",
"description": "When to depart. Requires `arrivalId`.\n\n - **Exact date**: `2026-12-10`\n - **Window**: `2026-12-01,2026-12-10` — any day within it\n\nOmitted, Google picks the dates from the query, or from whatever is cheapest.\n"
},
"returnDate": {
"type": "string",
"description": "When to return, in the same exact-or-window spelling as `outboundDate`, which is required alongside it.\n\nCannot be combined with `travelDuration` or `tripLength` — all three set the trip length. Ignored when `type` is `oneWay`.\n"
},
"travelDuration": {
"type": "string",
"enum": [
"1",
"week",
"2",
"weekend",
"3",
"twoWeeks"
],
"description": "Preset trip length. Requires `arrivalId`. Cannot be combined with `returnDate` or `tripLength`.\n\n - `1` / `week` — about a week (6-8 days)\n - `2` / `weekend` — a weekend (2-3 days)\n - `3` / `twoWeeks` — about two weeks (13-15 days)\n\nPairs with `outboundDate` to limit the departure period. Ignored when `type` is `oneWay`.\n"
},
"tripLength": {
"type": "string",
"description": "Trip length in days. Requires `arrivalId`. Cannot be combined with `returnDate` or `travelDuration`.\n\n - **Exact**: `7`\n - **Range**: `5,10` — min first\n\nPairs with `outboundDate` to limit the departure period. Ignored when `type` is `oneWay`.\n"
},
"stops": {
"type": "string",
"enum": [
"1",
"nonStop",
"2",
"oneStopOrFewer",
"3",
"twoStopsOrFewer"
],
"description": "Maximum number of stops. Requires `arrivalId`. Omitted, any number is allowed.\n\n - `1` / `nonStop` — direct flights only\n - `2` / `oneStopOrFewer` — at most one connection\n - `3` / `twoStopsOrFewer` — at most two connections\n\nA route with nothing at that depth returns an empty `flightDeals` array, not an error — `nonStop` on a route without a direct flight is a valid, empty answer.\n"
},
"maxDuration": {
"type": "number",
"description": "Maximum flight duration in minutes — `1500` for 25 hours. Requires `arrivalId`. Omitted, it is unbounded. Applies to each leg, not to the round trip.\n\nGoogle measures against a longer figure than the `durationMinutes` it returns, so set the ceiling above the flight you want: on a route whose shortest deal is 635 minutes, `635` comes back empty and `680` returns it. On an empty result, raise `maxDuration` by up to 200 before concluding the route has nothing.\n"
},
"maxPrice": {
"type": "number",
"description": "Maximum ticket price, inclusive. Requires `arrivalId`. Omitted, it is unbounded.\n\nRead in the currency of the request: `650` means 650 EUR when `currency` is `EUR`, and 650 USD by default.\n"
},
"includeAirlines": {
"type": "string",
"description": "Keeps only these airlines. Requires `arrivalId`. Cannot be combined with `excludeAirlines`.\n\nComma-separated 2-character IATA codes (`AF`, `UA`, `B6`) and Google's alliances `STAR_ALLIANCE`, `SKYTEAM`, `ONEWORLD`. The two can be mixed.\n\nAn airline that does not serve the route returns an empty `flightDeals` array, not an error.\n"
},
"excludeAirlines": {
"type": "string",
"description": "Drops these airlines from the deals. Requires `arrivalId`. Cannot be combined with `includeAirlines`.\n\nTakes the same values as `includeAirlines`.\n"
},
"adults": {
"type": "number",
"description": "Number of adults. Prices cover the whole party, so raising this raises every deal price.\n\nPassenger counts reprice rather than narrow the search, so they need no `arrivalId`. The whole party must not exceed 9.\n"
},
"children": {
"type": "number",
"description": "Number of children, priced at their own fare. Counts towards the limit of 9 passengers.\n"
},
"infantsInSeat": {
"type": "number",
"description": "Number of infants in their own seat. Counts towards the limit of 9 passengers.\n"
},
"infantsOnLap": {
"type": "number",
"description": "Number of infants on an adult's lap. Counts towards the limit of 9 passengers.\n\nGoogle prices a lap infant above one in its own seat — the opposite of how airlines usually charge.\n"
},
"gl": {
"type": "string",
"description": "The two-letter country code for the country you want to limit the search to. Provide one exact documented value (245 allowed), e.g. `ac`, `af`."
},
"hl": {
"type": "string",
"description": "The two-letter language code for the language you want to use for the search. Provide one exact documented value (159 allowed), e.g. `af`, `ak`."
},
"currency": {
"type": "string",
"description": "Parameter defines the currency of the returned prices Provide one exact documented value (71 allowed), e.g. `ALL`, `DZD`."
}
},
"required": [
"q",
"departureId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}コミュニティ
エビデンス