Skip to main content
Glama
HasData

Google Flights MCP Server

Google Flights MCP Server

ホステッド型のModel Context Protocol(MCP)サーバーです。Claude、Cursor、Windsurf、その他のどのMCPクライアントにも、Google Flightsのツールを1つ提供します。片道・往復・マルチシティの旅程を、運賃、各レッグ、炭素排出量、価格履歴とともに、すべて構造化されたJSONとして検索できます。Googleアカウントは不要、廃止されたトラベルAPIを回避する必要もありませんし。

https://mcp.hasdata.com/api/mcp?apis=google_travel_flights

Glama score tool contract MCP Tools License

Contents

Related MCP server: Find Flights MCP Server

必要なもの

必要なのは、MCPクライアントと、ダッシュボードで作成するHasData APIキーです。無料で作れ、カード不要で、トライアルは15クレジット換算で約66回分をカバーされます。これはリモート型のサーバーであるため、最も簡単なのはURLとx-api-keyヘッダーの組み合わせで、コンテナを動かす必要も、フローのどこにもGoogleアカウントもありません。stdioのみをサ機関とするクライアントは、薄いランチャーを介してアクセスします。そそのランチャーは、npmでは@hasdata/google-flights-mcp、PyIでhasdata-google-flights-mcpとして公開されており、以下に示します。

クイックスタート

サーバーのURLはどのクライアントでも同じです。実働確してClaude CodeとClaude Desktopで動かしています。他のブロックは、各クライアント独自のリモート・サーバー設定形式に従います。

項目

URL

https://mcp.hasdata.com/api/mcp?apis=google_travel_flights

トランスポート

HTTP・ストリーム可能

認証ヘッダー

x-api-key: HASDATA_API_KEY

OAuthに対応したクライアントは、同じURLをコネクターとして追加し、設定ファイルにキーを書かずにサインインできます。

claude mcp add --transport http google-flights "https://mcp.hasdata.com/api/mcp?apis=google_travel_flights" \
  --header "x-api-key: HASDATA_API_KEY"

「設定」→「コネクター」→「カスタム・コネクターの追加」と進み、https://mcp.hasdata.com/api/mcp?apis=google_travel_flightsを貼り付けてサインインします。

設定ファイルを使う方法の場合、Claude Desktopはローカル(stdio)サーバーのみを読み込むため、リモート・サーバーにはstdioランチャーを介して接続します。このランチャーが@hasdata/google-flights-mcpパッケージで、環境変数からキーを読み取ります。以下の内容をclaude_desktop_config.jsonに追加します:

{
  "mcpServers": {
    "google-flights": {
      "command": "npx",
      "args": ["-y", "@hasdata/google-flights-mcp"],
      "env": { "HASDATA_API_KEY": "YOUR_KEY" }
    }
  }
}

Pythonを使う場合は、Nodeではなく、uvxが手動インストールなし子動しますPyPIパッケージにランチャーを替します:

{
  "mcpServers": {
    "google-flights": {
      "command": "uvx",
      "args": ["hasdata-google-flights-mcp"],
      "env": { "HASDATA_API_KEY": "YOUR_KEY" }
    }
  }
}

全プロジェクトで~/.cursor/mcp.json、単一のプロジェクトなら.cursor/mcp.json

{
  "mcpServers": {
    "google-flights": {
      "url": "https://mcp.hasdata.com/api/mcp?apis=google_travel_flights",
      "headers": { "x-api-key": "HASDATA_API_KEY" }
    }
  }
}

~/.codeium/windsurf/mcp_config.json。Windsurfはフィールド名をurlではなくserverUrlを使いします:

{
  "mcpServers": {
    "google-flights": {
      "serverUrl": "https://mcp.hasdata.com/api/mcp?apis=google_travel_flights",
      "headers": { "x-api-key": "HASDATA_API_KEY" }
    }
  }
}

ワークスペース内の.vscode/mcp.json

{
  "servers": {
    "google-flights": {
      "type": "http",
      "url": "https://mcp.hasdata.com/api/mcp?apis=google_travel_flights",
      "headers": { "x-api-key": "HASDATA_API_KEY" }
    }
  }
}

プロンプト例

コードではなく文例です。コンハを込みは、エージェント自身がツーを選びます。各文例のラベルには、かかる呼び出し回数を注記しています。因為、成功した呼び出しごとに15クレジットがかかます。

9月15日のJFK発ロンドン・ヒートロ行きの片道便を、価格順に検索して、航空会社と炭素排出量の見積り付きで安い3つを教えてください。

呼び出し1回、15クレジット。運賃・レッグ・排出量はすべて一手に返ってきます。

同じルートで、直行便のみ・ビジネスクラスにして、最も排出量が少いのはどのオプションかを教えてください。

呼び出し1回、15点。クラスと経由回は、その1回のリクエスト内のフィルへです。

価格履歴を見ると、今JFKからLHRへの$295のする価格はお得ですか?

呼び出し1回、15点。レスポンスには、typicalRangeの価格帯とpriceLevelを含むpriceInsightsが含まれます。

9月15日出発、9月22日復路で、JFKからLHR往復、最安運賃でお願いします。

呼び出し2回、30点。Googleはまず出発便、次に、選択したオプションに基づいて復路便についての2回目の呼び出しを返します。

往復は設計上2回の呼び出しです。最初の呼び出しは、各出発便の旅程にdepartureTokenを付けて返し、そのトークンをもう一度渡すと、対応する復路便が得られます。片道と価格判定はそれぞれ1回の呼び出しです。

ツール

ツールは1つ、読み取り専用です。下記のサンプルは実呼 the actual callの結果を整形したもので、運賃は絶えず変動します。形としてごとらえてください。ツール名は、全パラメーターを掲載したエンドポイントのリファレンスへのリンクです。

サンプルはペイロードであり、レスポンス全体ではありません。tools/callの結果は1つのテキストブロックで、そのテキスト自体がJSON、つまりurlstatustextjsonを含み、スクレイピングしたデータはjsonの下にあります。生のJSON-RPCレスポンスからは、result.content[0].textをパースしてから.jsonへアクセスします。チャットクライアントはそこまで unpack してくれますが、エンドポイントに直接話すコードではそういきません。

Google Flights の結果を取得

Fiights data google_travel_flights_getGoogleFlights

あるルートと日付の旅程情報を、運賃・各レグ・排出量・価格履歴と共に返します。

パラメーター

必須

説明

departureId

string

はい

JFK などのIATAコード、または/m/02_m286のようなkgmidコード。複数の空港名はカンマで区切ります

arrivalId

string

はい

departureIdと同じ形式

outboundDate

string

はい

YYYY-MM-DD

type

string

既定はすroundTrip、継いでoneWay、またはmultiCityJsonと組み合わせてmultiCity

returnDate

string

typeroundTripのときは必須

travelClass

string

economypremiumEconomybusinessfirst

stops

string

nonStoponeStopOrFewertwoStopsOrFewer

sortBy

string

既定のtopFlights加え、pricedurationemissionsdepartureTimearrivalTime

adults /children / infantsInSeat / infantsOnLap

number

乗客構成

maxPrice / maxDuration / bags

number

上限と持ち込み手荷物の数数

includeAirlines / 排他 excludeAirlines

string

カンマで区切ったIATA航空会社コード。どちらか一方のみ

出発点 departureToken

string

出発便の選択肢を選び、その復路便や次の区間を取得

bookingToken

string

選択した旅程の予約オプションを取得

通貨 currency / gl / hl

string

通貨と、検索の国・地域と言語

deepSearch

boolean

ブラウザのGoogle表示と一致させる。返答が遅い

さらに、リファレンスには、includeConnectionsexcludeConnectionslayverDurationoutboundTimesreturnTimesshowHidden lessEmissionsmultiCityJsonの説明もあります。

結果はbestFlightsotherFlightsに分割されます。各行程には、pricetype、単位分のtotalDuration、各区間のflights配列、carbonEmissionsオブジェクト、bookingTokenが含まれます。各区間には、departureAirportarrivalAirport(それぞれにidname、当地のtime)、durationairlineflightNumberair (airplane)、legRoomtravelClassextensions配列、そして区間のフライトGoogleが不要とするoftenDelayedByOver30Min`が含まれます。直行の旅程は区間が1本、乗継は複数区間です。

carbonEmisionsはグラムではなくグラム単位です。thisFlight: 433000なら433 kg。 typicalは、typicalForThisRouteとの比較なので、マイナスだと平均より低排出の便というこです。

{
  "price": 295,
  "type": "One way",
  "totalDuration": 415,
  "flights": [
    {
      "departureAirport": { "id": "JFK", "name": "John F. Kennedy International Airport", "time": "2026-09-15 8:15" },
      "arrivalAirport": { "id": "LHR", "name": "Heathrow Airport", "time": "2026-09-15 20:10" },
      "duration": 415,
      "airline": "Virgin Atlantic",
      "flightNumber": "VS 26",
      "airplane": "Boeing 787",
      "travelClass": "Economy"
    }
  ],
  "carbonEmissions": { "thisFlight": 367000, "typicalForThisRoute": 419000, "differencePercent": -12 },
  "bookingToken": "W1t7..."
}

priceInsightsは旅程の並びに存在し、lowestPricetypicalPriceRangetypicalなどのpriceLevel、そして[timestamp,price]の距列としてpriceHistoryを含みます。airportsは解決された出発・到着しても又その都市・国を補完します。

エラーと失敗パス

ツールの呼び出しでHTTPエラーコードが返ることは、ほぼありません。MCPレイヤーは200で応答し、失敗を結果の中に入れ、isErrortrueにして、理由をテキストで返します。エージェントは、ステータス行を期待する場面でメッセージを読み取ります。

誤ったキーは、接続エラーではなくツールの出として現れます。 tools/listは価値の空でなければ任意のキーを受け入し、トールを返すため、クライアントはハンドシェクを完了して緑色を表示します。そして最初のトール呼び出しではisError: trueHasData API error: 401 Unauthorizedというテキストが返ります。この文字列に注意して、なぜならそれ以前のプロセスは誰も問題を報告しないからです。

キーが欠けてる場のみが実質のHTTPエラーです。 認証はどのトールより先に実行され、接続自体が401で失敗します。CORSヘッダーか存在し、ブラウザのクライアントは、不透明なネットワーク誤りでなくステータスを読み取れます。

ツールのスキーマを破る引数は、スクレイピングの前に拒否されます。 サーバーはisError: trueと、問題のフィールドを指し示すMCP error -32602: Input validation errorというテキストで返します。returnDateなしのroundTripincludeAirlinesexcludeAirlinesを同時に指定するのは、ここで検出されます。

その日に便がないルートは、エラーではなく、itineraryの配列を空にした成功結果が返ります。 requestMetadata.statusはまだokです。順序を付ける前に便が存在するかをテストしてください。

不正な空港コードは、requestMetadata.statuserrorにヘッダ付きて400を返します。 IATAコードまたはkgmidを使い、都市名は使うないでください。

データが返った結果にはrequestMetadata.idも含まれており、サポートへの連絡時に引用が有効です。

価格・無料枠・制約

Google Flightsの呼び出しは、成功した呼び出し1回につき15クレジットかかります。レスポンスのサイズによって価格は変わらず、deep searchも標準と同額です。

無料トライアルはカードなしで30日間1,000クレジット(約66回のフライト検索)です。その後は、アカウントがアクティブであれば、残高が100を下回るたびに毎日100クレジットがトップアップされるため、低頻度のエージェントは無料ティアで無期限に動き続けられます。

有料プランは月額$49、200,000クレジット(約13,000回の検索)から始まります。単価はボリュームに応じて下がり、エントリー・プランの1,000コルあたり$3.68から、Businessでは**$1.49**、Growthでは**$1.25**、最大規模の大容量プランでは**$1.12**まで下がります。

お使いのプランによって同時実行数も決まります。無料トライアルでは同時1リクエスト、Startup では15、Business では30、Growth では50、大容量プランでは200〜1,500までです。自動運用など無人で動かすものでは、オーバーフローに防御的に備えてください。

ステータスコードが200以外で返ってきたリクエストは課金されません。往復は2回のコールになるので、予算に組み込んでおいてださい。

ツール選択

apis クエリパラメータが、エージェントに公開されるツールを決めます。ツールが少ないほど、ツール定義に使われるコンテキストが減り、モデルが誤ったツールに手を伸ばすこともありません。

?apis=google_travel_flights          the one tool in this repo
?apis=google_travel                   add Google Hotels
?apis=google_travel_flights,airbnb    flights plus Airbnb stays

このパラメータには、google_travel のようなプロバイダ名や、google_travel_flights のような個別のAPI名を指定します。スペルミスの名前は無視されます。すべての名前が間違っている場合はリクエストがて返され、本文には、認識できなかった名称と、有効な値のすべてが列挙されます。パラメータを省略すると、同じエンドポイントでHasDataの全57ツールが公開されます。

公式Google APIとの比較

Googleは2018年にQPX ExpressのフルハイトAPIを廃止し、それ以来後継を提供していないため、公式のGoogle APIは存在しません。残された手段は、公開された結果をスクレイピングするか、重くてコストのかかるGDSの生の運賃データをライセンスするかだけです。このサーバーは、サイトが表示するのと同じ結果を読み取り、JSONとして返します。

公式Google API

このサーバー

可用性

2018年にQPX一つ半から提供されたはなし

ライブ結果の保守されたスキーマ

排出量データ

提供されていない

旅程ごとに、ルート平均と復合した

価格履歴

提供されていない

典型的な価格帯をもつpriceInsights`

セットアップ

存在しないため、設定するものはない

キー1つとURL1つ

コスト

該当なし

トライアル後は有料、1コールあたり15クレジット

このサーバーがやらないこと。 予約も決済も行いません。運賃とフライト区間と、Google自身が予約へ進むために使うトークンを読み取り、予約ステップをあなたに返します。

FAQ

公式のGoogle APIは存在しますか?

No. Googleは2018年でQPX Expressを終了し、その後継はありません。あらゆる選択肢は、ウェブサイトが提供する同じ公開結果を読み取るだけです。これは HasData が保守しているもので、構造化JSONとして返します。

Google API MCPサーバーとは何ですか?

AIクライアントが呼び出せるツールとして、Google Flightsを公開するサーバーです。クライアントはModel Context Protocol経由でツール呼び出しを送り、サーバーが旅程を取得して構造化JSONを返し、モデルがその結果を扱います。このサーバーは単一のツールを公開し、リモートで動作します。

往復が2回のコールになるのはなぜですか?

Googleはまず行きの選択肢を返し、それぞれに departureToken が付いています。その中から1つ選びそのトークンを渡すと、ペアになる帰りのフライトが返ってきます。これはサイトの動作をそのまま反映したものであり、往復が30クレジットになる理由です。

炭素の数値はキログラムですか?

いいえ、グラムです。thisFlight: 43000 は433 kgの意味で、differencePercent はその運航班の数値をルート平均と比較します。

ディープ検索とは何ですか?

無視することができますまま。ブラウザに表示されるGoogle Flightsの内容をそのまま返すのがディープ検索です。

他のHasData APIと併用できますか?

はい。apis パラメータはリストを受け取ることができます。?apis=google_travel を指定すると、フライトに加えてGoogle Hotelsも使えます。パラメータを省略すれば、すべてのツールを使えます。

コンプライアンスと個人データ

HasDataは公開されているデータだけにアクセスします。プラットフォームの利用条件に自動アクセスを制限ている場合があり、コンプライアンス責任は利用者にあります。

プロダクトページとリクエストビルダー

Google Flights API

サーバー・ドキュメント

MCP server docs

1つのサーバーで全57ツール

HasData/hasdata-mcp

クライアント向けco通し

MCP clients and integrations

その他スクレイピング対象

Google Flights API and 54 more

プランとクレジット料金

Plans and plan

キーと利用状況

HasData dashboard

開発

このリポジトリは、リモート・サーバーの設定とドキュメントです。ビルドステップもありませんし、コンテナイザするものもありません。

リストは一切存在しません。

test/ 内のテストは、ツール契約(このリポジトリへのコミュがなくても壊れ得る部分)を検査します。それらのテストは、?apis=google_travel_flights が正確に1つのツールを返すこと、必須パラメータがまだ宣言されていること、名前が変わっていないこと、使用中のキーが実際に受け付けられることを確認します。最後のチェックはツールを実際に呼び出しするため、15クレジットを消費します。これは「正しい理由で失敗してくれるカナリー」にする対代金です。

# macOS and Linux
HASDATA_API_KEY=your_key_here npm test

# Windows PowerShell
$env:HASDATA_API_KEY="your_key_here"; npm test

同ーのテスト群は、プッシュのたびに CI で、また週1回のスケジュールで実行されます。このリポジトリに誰も触らなくても、上流のツール一覧が変わりうるためです。失敗した場合は、ツール一覧が変わったか、キーが機能失したか、エンドポイントに到達できなかったかを意味し、その原因をアサーション・メッセージが示します。

コントリビューション

パラメータ推定表とレスポンス例をまとめる修正が最も有用です。これらはズれやすい部分です。実行したコール内容と取得したレスポンスを明記してください。フォークからのPull Requestはキーなしでスイートを実行し、ライブチェックはレッドにならずスキップされます。

ライセンス

MIT。 LICENSE を参照してさい。

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

Related MCP Servers

  • A
    license
    C
    quality
    D
    maintenance
    Enables searching and retrieving detailed flight information using the Duffel API, supporting various flight types and flexible search parameters for efficient travel planning.
    3
    220
    MIT
  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables searching and retrieving flight information using Duffel API, supporting one-way, round-trip, and multi-city queries with flexible search parameters.
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI clients to explore cheapest destinations, optimize multi-leg flight itineraries, and reference airport/region data via MCP tools and resources.
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Searches multiple flight inventory sources concurrently and returns a normalized, deduplicated result set.
    4
    MIT

View all related MCP servers

Related MCP Connectors

  • AI marketplace — flights, tours, activities, transport & more via MCP. No auth required.

  • Flight Intelligence MCP — search, cheapest dates, multi-city, airline compare via Google Flights

  • Geo-based flight search MCP server. Find more flights between any two places on earth

View all MCP Connectors

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/HasData/google-flights-mcp'

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