HasData Google Flights Deals について
HasData Google Flights Deals は、自然言語の旅行案を日付付きの航空券情報や予約リンクに変換するホスト型 MCP サーバーです。目的地や日程を検討中の旅行者向けに、運賃、航空会社、乗り継ぎなどを構造化して返します。
主な機能
- 01自然言語で旅行を指定
- 02日付、運賃、通常価格を取得
- 03航空会社、乗り継ぎ、便の情報を表示
- 04Google Flights の予約リンクを提供
- 05リソースから絞り込み項目を確認
活用シーン
- 01出発空港から旅行先を探す
- 02異なる出発空港のセールを比較
- 03目的地と座席クラスを指定して運賃を検索
- 04日付の範囲を指定して旅行を検討
MCP 対応
このリモート MCP サーバーは、航空券セール検索ツールと絞り込み項目を示すリソースを MCP クライアントに提供します。HTTP で接続し、HasData API キーで認証します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp.hasdata.com/mcp?apis=google_travel_flights_dealsclaude mcp add --transport http com-hasdata-google-flights-deals https://mcp.hasdata.com/mcp?apis=google_travel_flights_deals{"mcpServers":{"com-hasdata-google-flights-deals":{"type":"http","url":"https://mcp.hasdata.com/mcp?apis=google_travel_flights_deals"}}}Cursor で開く{"servers":{"com-hasdata-google-flights-deals":{"type":"http","url":"https://mcp.hasdata.com/mcp?apis=google_travel_flights_deals"}}}VS Code で開く{"mcpServers":{"com-hasdata-google-flights-deals":{"type":"http","url":"https://mcp.hasdata.com/mcp?apis=google_travel_flights_deals"}}}{"mcpServers":{"com-hasdata-google-flights-deals":{"serverUrl":"https://mcp.hasdata.com/mcp?apis=google_travel_flights_deals"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
https://mcp.hasdata.com/mcp?apis=google_travel_flights_deals認証が必要ツール
2| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| pets | number | いいえ | ペットの数。 |
| neLat | number | いいえ | 地図のバウンディングボックスの北東角の緯度。4 つの境界ボックス座標をすべて指定すると、場所ではなくボックス内でリスティングを検索します。 |
| neLng | number | いいえ | 地図のバウンディングボックスの北東角の経度。 |
| swLat | number | いいえ | 地図のバウンディングボックスの南西角の緯度。 |
| swLng | number | いいえ | 地図のバウンディングボックスの南西角の経度。 |
| adults | number | いいえ | 大人の人数。 |
| checkIn | string | はい | リスティングのチェックイン日。 |
| infants | number | いいえ | 乳幼児の人数。 |
| checkOut | string | いいえ | リスティングのチェックアウト日。 |
| children | number | いいえ | 子どもの人数。 |
| location | string | いいえ | リスティングを検索する場所。完全な地図バウンディングボックス(neLat、neLng、swLat、swLng)を指定しない場合は必須です。 |
| nextPageToken | string | いいえ | 次のページの結果を取得するためのトークン。 |
詳細
Google Flights Deals MCP Server
Claude、Cursor、Windsurf、その他あらゆる MCP クライアントに、Google Flights Deals ツールを1つ提供するホスト型の Model Context Protocol(MCP)サーバーです。「日本の桜」や「ビーチで過ごす休暇」のように、自然な言葉で旅行について説明すると、出発空港1か所からの出発日付き運賃が、通常価格とともに、航空会社、乗り継ぎ回数、予約リンクを含む構造化 JSON で返されます。
毎月1,000クレジットを無料で利用でき、カード登録も不要です。約66回検索できます。
https://mcp.hasdata.com/mcp?apis=google_travel_flights_deals
目次
必要なもの
MCP クライアントと、ダッシュボードから取得できる HasData API キーが必要です。カード登録なしで無料で作成でき、無料枠では1回15クレジットのレートで月に約66回呼び出せます。これはリモートサーバーなので、最も簡単な方法は URL と x-api-key ヘッダーを使うことです。実行するコンテナは不要で、処理中に Google アカウントが使われることもありません。stdio のみをサポートするクライアントからは、以下に示す薄いランチャーを介して接続できます。ランチャーは npm では @hasdata/google-flights-deals-mcp、PyPI では hasdata-google-flights-deals-mcp として公開されています。
クイックスタート
サーバー URL はすべてのクライアントで共通です。Claude Code と Claude Desktop で動作を確認しています。その他の設定例は、各クライアントがリモートサーバー向けにドキュメント化している形式に準拠しています。
| 項目 | 値 |
|---|---|
| URL | https://mcp.hasdata.com/mcp?apis=google_travel_flights_deals |
| トランスポート | HTTP、ストリーミング可能 |
| 認証ヘッダー | x-api-key: HASDATA_API_KEY |
OAuth に対応しているクライアントでは、同じ URL をコネクターとして追加すれば、設定ファイルにキーを記載せずにサインインできます。
Claude Code
claude mcp add --transport http google-flights-deals "https://mcp.hasdata.com/mcp?apis=google_travel_flights_deals" \
--header "x-api-key: HASDATA_API_KEY"
Claude Desktop
{
"mcpServers": {
"google-flights-deals": {
"type": "http",
"url": "https://mcp.hasdata.com/mcp?apis=google_travel_flights_deals",
"headers": { "x-api-key": "HASDATA_API_KEY" }
}
}
}
Cursor
{
"mcpServers": {
"google-flights-deals": {
"type": "streamable-http",
"url": "https://mcp.hasdata.com/mcp?apis=google_travel_flights_deals",
"headers": { "x-api-key": "HASDATA_API_KEY" }
}
}
}
VS Code
{
"servers": {
"google-flights-deals": {
"type": "http",
"url": "https://mcp.hasdata.com/mcp?apis=google_travel_flights_deals",
"headers": { "x-api-key": "HASDATA_API_KEY" }
}
}
}
コードではなく、プロンプトです。1つ貼り付けると、エージェントが使用するツールを選びます。それぞれのプロンプトには実行される呼び出し数が記載されています。呼び出しが成功するたびに15クレジットを消費します。
LAX 発で日本の桜を見に行きたいです。最も安い日程はいつですか?
1回の呼び出しで15クレジット。説明からGoogleが目的地と日程を選びます。
2月にロンドン発でビーチへ行きたいです。600ポンドを超えず、直行便のみでお願いします。
1回の呼び出しで15クレジット。価格の上限と経由地のフィルターを使うには、arrivalIdで目的地を指定する必要があります。そのため、エージェントは目的地を指定するか、フィルターを外す必要があります。
同じ旅行ですが、目的地は東京に限定し、10日間、ビジネスクラスでお願いします。
1回の呼び出しで15クレジット。arrivalIdを設定すると、旅行期間と座席クラスを指定できます。
LAX 発とJFK 発で、桜を見る旅行の案を比較してください。
2回の呼び出しで30クレジット。1回の呼び出しにつき出発地は1つです。
ツール
| ツール | 返される内容 |
|---|---|
hasdata_google_travel_flights_deals_getGoogleFlightsDeals | 運賃、路線の通常価格、飛行時間、旅行期間、経由地数、運航航空会社、空港、Google Flights の予約リンクに加え、クエリからGoogleが導き出した目的地と日程を含む、日付指定のセール情報。1回の呼び出しにつき15クレジット |
ツールは1つで、呼び出しが成功するたびに15クレジットです。
航空券のセールを検索する
hasdata_google_travel_flights_deals_getGoogleFlightsDeals
| パラメーター | 型 | 必須 | 備考 |
|---|---|---|---|
q | string | はい | 場所の名前だけでも、文章でも指定できる旅行内容の自由記述 |
departureId | string | はい | 3文字の大文字のIATAコードで指定する出発地。例:LAX |
arrivalId | string | Googleに目的地を選ばせず、目的地を固定します。以下のすべてのフィルターで必要です | |
type | string | roundTrip(デフォルト)またはoneWay | |
travelClass | string | economy、premiumEconomy、business、first | |
outboundDate | string | 特定の日付、または2026-12-01,2026-12-10の形式で指定する期間 | |
returnDate | string | outboundDateと同じ形式で、併せて指定する必要があります | |
travelDuration | string | week、weekend、twoWeeksのいずれかで指定する期間のプリセット | |
tripLength | string | returnDateまたはtravelDurationの代わりに指定する日数 | |
stops | string | nonStop、oneStopOrFewer、twoStopsOrFewer | |
maxDuration | number | 1便あたりの所要時間の上限(分) | |
maxPrice | number | リクエストの通貨で指定する価格の上限 | |
includeAirlines / excludeAirlines | string | どちらか一方のみ指定できます。両方は指定できません |
フィルターを正しく指定することが重要です。すべてのフィルターでarrivalIdが必要です。 Googleに目的地を選ばせながら、価格上限以下の直行便を求めるプロンプトは、組み合わせられない2つの条件を指定しています。APIは該当する条件の組み合わせを示す422エラーを返します。目的地を固定するか、フィルターを外してください。
searchInformationには、クエリをGoogleがどのように解釈したかが記載されます。具体的には、都市名と座標を含むdeparture空港の詳細、確定したdateRange、見つかったpriceRange、該当するairlinesが報告されます。
{
"searchInformation": {
"query": "cherry blossom in Japan",
"departure": { "airport": "LAX", "city": "Los Angeles", "country": "United States" },
"dateRange": { "from": "2027-03-01", "to": "2027-04-30" }
},
"flightDeals": [
{
"outboundDate": "2027-03-01",
"returnDate": "2027-03-08",
"price": { "value": 960, "currency": "USD" },
"typicalPrice": { "value": 1335, "currency": "USD" },
"discountPercent": 28,
"durationMinutes": 1320,
"tripLengthDays": 7,
"stops": 1,
"airlineCode": "CX",
"airline": "Cathay Pacific",
"multipleAirlines": false,
"departureAirport": "LAX",
"arrivalAirport": "HIJ",
"destination": { "city": "Hiroshima", "country": "Japan", "highlight": "Peace Park Memorial & Shukkei-en garden" },
"bookingLink": "https://www.google.com/travel/flights?tfs=…"
}
]
}
プロンプトとリソース
サーバーは7つのリソースを公開しています。受け付ける値が固定リストである各パラメーターに1つずつ対応します。拒否された呼び出しから値の語彙を学ぶより、リソースを読み取るほうが低コストで、クレジットも消費しません。各 URI は hasdata://google_travel_flights_deals/<parameter> です。
| パラメーター | 値の数 | 選択する内容 |
|---|---|---|
type | 4 | フライトの種類です。arrivalId が必要です。 - 1 / roundTrip — 往復(デフォルト) - 2 / oneWay — 片道 片道のセールには returnDate と tripLengthDays は含まれません。 |
travelClass | 8 | 座席クラスです。arrivalId が必要です。 - 1 / economy — エコノミー(デフォルト) - 2 / premiumEconomy — プレミアムエコノミー - 3 / business — ビジネス - 4 / first — ファースト 運賃は急激に上がります。LAX-NRT では、同じ検索でエコノミーが $730 だったのに対し、ビジネスは $2882 でした。 |
travelDuration | 6 | 旅行期間のプリセットです。arrivalId が必要です。returnDate または tripLength との併用はできません。 - 1 / week — 約1週間(6~8日) - 2 / weekend — 週末(2~3日) - 3 / twoWeeks — 約2週間(13~15日) outboundDate と組み合わせると、出発期間を絞り込めます。type が oneWay の場合は無視されます。 |
stops | 6 | 経由地の最大数です。arrivalId が必要です。省略すると、経由地の数に制限はありません。 - 1 / nonStop — 直行便のみ - 2 / oneStopOrFewer — 経由は最大1回 - 3 / twoStopsOrFewer — 経由は最大2回 その条件に該当する経路がない場合、エラーではなく空の flightDeals 配列が返されます。直行便のない経路で nonStop を指定しても、有効な空の結果が返ります。 |
gl | 245 | 検索対象を絞り込む国の2文字の国コードです。 |
hl | 159 | 検索に使用する言語の2文字の言語コードです。 |
currency | 71 | 返される価格の通貨を指定するパラメーターです。 |
このリストは API キーなしで提供されるため、クライアントはユーザーが登録する前に読み取ることができます。
エラーと失敗するケース
ツール呼び出しでクライアントが HTTP エラーコードを受け取ることは、ほとんどありません。MCP レイヤーは200で応答し、結果の中に失敗の内容を格納します。isError は true に設定され、理由がテキストで示されます。
discountPercent は例外であり、標準ではありません。 2026-10-05 に測定した351件のセールのうち、値が含まれていたのは109件でした。値がある場合は、price と typicalPrice の差と丸め誤差の範囲内で一致します。一方、値がない場合、その差は4%から15%でした。このことから、Google は独自のしきい値を超えた場合にのみこのフィールドを公開しているようです。typicalPrice はすべてのセールに含まれていたため、キーがないことを理由に「割引なし」と報告するのではなく、自分で比較してください。
airline と airlineCode は同時に欠落します。 同じサンプルでは269件のセールで航空会社が示され、82件では示されませんでした。この内訳は multipleAirlines フラグと完全に一致します。フラグが true のセールでは常に両フィールドが省略され、そうでないセールには常に両方が含まれていました。航空会社を報告する前にフラグを確認し、フィールドを空欄にするのではなく「複数の航空会社」と伝えてください。
arrivalId を指定せずにフィルターを使うと、実行前に拒否されます。 API は422で応答し、rule: "requiredIfExists" とともに arrivalId と、実行のきっかけとなったフィルターの両方を示します。また、課金は発生しません。11個のフィルターすべてがこのように動作するため、失敗は明示的で、コストもかかりません。
日付を固定しない限り、日付はGoogleが選んだものです。 searchInformation.dateRange は検索対象の期間を示しており、今日から数か月先になることもあります。価格を提示する際は、この期間も伝えてください。来年3月の運賃は、来月の運賃ではありません。
成功した呼び出しごとに、接続されたアカウントのクレジットが消費されます。残高を呼び出しの前後に読み取って確認したところ、バリデーションによる422も、上流からの400も課金されませんでした。
料金、無料枠、上限
Google Flights Deals ツールは、呼び出しが成功するたびに 15 クレジットかかります。Google Flights API と同じ料金です。返されるお得な航空券の件数によって料金は変わりません。
無料枠は、カード登録不要で毎月 1,000 クレジットです。検索約 66 回分に相当します。
有料プランは、200,000 クレジットで月額 $59から利用できます。検索約 13,000 回分に相当します。上位プランほど単価が下がります。最新の料金はプランページをご覧ください。
比較
| Google Flights API | このサーバー | |
|---|---|---|
| 入力 | 出発地、目的地、日付 | 目的地は省略可能な文章 |
| 目的地を選ぶ人 | あなた | 説明文をもとに Google |
| 日付を選ぶ人 | あなた | 固定しない限り Google |
| 最適な用途 | すでに決まっている旅行 | まだ思い描いている段階の旅行 |
この 2 つは競合するのではなく、相互に補完するものです。まずこのツールで行き先と時期を見つけ、旅行が決まったらGoogle Flights APIで旅程の料金を調べてください。
よくある質問
Google アカウントは必要ですか?
いいえ。必要な認証情報は HasData キーのみです。
フィルターが無視されたのはなぜですか?
ほぼ間違いなく、arrivalId を指定せずに送信されています。このツールのすべてのフィルターには固定した目的地が必要ですが、指定がなくてもリクエスト自体は成功します。
複数の出発地から一度に検索できますか?
いいえ。departureId に指定できる空港は 1 つです。そのため、出発地を比較するには、出発地ごとに 1 回ずつ呼び出してください。
どのくらい先の日程まで検索できますか?
Google がクエリに基づいて決定する範囲までです。今後数週間と決めつけず、searchInformation.dateRange を確認してください。
HasData は Google と提携していますか?
いいえ。HasData は独立したウェブデータプロバイダーであり、Google との提携、推奨、スポンサー関係はありません。すべての商標は各所有者に帰属します。
コンプライアンスと個人データ
このサーバーは、一般公開されている Google Flights のお得な航空券情報インターフェースを読み取ります。乗客データを扱わず、予約も行いません。
HasData のリンク
| 製品ページとリクエストビルダー | Google Flights API |
| エンドポイントのドキュメント | Google Flights Deals API docs |
| サーバーのドキュメント | MCP server docs |
| すべてのツールを 1 つのサーバーで | HasData/hasdata-mcp |
| クライアントの使い方 | MCP clients and integrations |
| プランとクレジット料金 | Plans and credit costs |
開発
npm install
npm test
test/ のテストでは、このリポジトリでコミットしなくても変更される可能性があるツールの仕様を検証します。?apis=google_travel_flights_deals が想定どおり 1 つのツールを返すこと、その名前と必須パラメーターが変わっていないこと、説明が含まれていること、実際の検索で引き続きドキュメントに記載されたフィールドを持つ flightDeals が返されることを確認します。
コントリビューション
パラメーターテーブルと上記のサンプルは、ドキュメントではなく、実際のスキーマと実際の呼び出しから取得しました。フィールドや失敗時の挙動に変更があった場合は、修正を歓迎します。確認したレスポンスを添えて Issue を作成してください。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。