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
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 |
|
トランスポート | HTTP・ストリーム可能 |
認証ヘッダー |
|
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、つまりurl・status・text・jsonを含み、スクレイピングしたデータはjsonの下にあります。生のJSON-RPCレスポンスからは、result.content[0].textをパースしてから.jsonへアクセスします。チャットクライアントはそこまで unpack してくれますが、エンドポイントに直接話すコードではそういきません。
Google Flights の結果を取得
Fiights data google_travel_flights_getGoogleFlights
あるルートと日付の旅程情報を、運賃・各レグ・排出量・価格履歴と共に返します。
パラメーター | 型 | 必須 | 説明 |
| string | はい |
|
| string | はい |
|
| string | はい |
|
| string | 既定はす | |
| string |
| |
| string |
| |
| string |
| |
| string | 既定の | |
| number | 乗客構成 | |
| number | 上限と持ち込み手荷物の数数 | |
| string | カンマで区切ったIATA航空会社コード。どちらか一方のみ | |
出発点 | string | 出発便の選択肢を選び、その復路便や次の区間を取得 | |
| string | 選択した旅程の予約オプションを取得 | |
通貨 | string | 通貨と、検索の国・地域と言語 | |
| boolean | ブラウザのGoogle表示と一致させる。返答が遅い |
さらに、リファレンスには、includeConnections、excludeConnections、layverDuration、outboundTimes、returnTimes、showHidden lessEmissions、multiCityJsonの説明もあります。
結果はbestFlightsとotherFlightsに分割されます。各行程には、price、type、単位分のtotalDuration、各区間のflights配列、carbonEmissionsオブジェクト、bookingTokenが含まれます。各区間には、departureAirportとarrivalAirport(それぞれにid、name、当地のtime)、duration、airline、flightNumber、air (airplane)、legRoom、travelClass、extensions配列、そして区間のフライト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は旅程の並びに存在し、lowestPrice、typicalPriceRange、typicalなどのpriceLevel、そして[timestamp,price]の距列としてpriceHistoryを含みます。airportsは解決された出発・到着しても又その都市・国を補完します。
エラーと失敗パス
ツールの呼び出しでHTTPエラーコードが返ることは、ほぼありません。MCPレイヤーは200で応答し、失敗を結果の中に入れ、isErrorをtrueにして、理由をテキストで返します。エージェントは、ステータス行を期待する場面でメッセージを読み取ります。
誤ったキーは、接続エラーではなくツールの出として現れます。 tools/listは価値の空でなければ任意のキーを受け入し、トールを返すため、クライアントはハンドシェクを完了して緑色を表示します。そして最初のトール呼び出しではisError: trueとHasData API error: 401 Unauthorizedというテキストが返ります。この文字列に注意して、なぜならそれ以前のプロセスは誰も問題を報告しないからです。
キーが欠けてる場のみが実質のHTTPエラーです。 認証はどのトールより先に実行され、接続自体が401で失敗します。CORSヘッダーか存在し、ブラウザのクライアントは、不透明なネットワーク誤りでなくステータスを読み取れます。
ツールのスキーマを破る引数は、スクレイピングの前に拒否されます。 サーバーはisError: trueと、問題のフィールドを指し示すMCP error -32602: Input validation errorというテキストで返します。returnDateなしのroundTrip、includeAirlinesとexcludeAirlinesを同時に指定するのは、ここで検出されます。
その日に便がないルートは、エラーではなく、itineraryの配列を空にした成功結果が返ります。 requestMetadata.statusはまだokです。順序を付ける前に便が存在するかをテストしてください。
不正な空港コードは、requestMetadata.statusがerrorにヘッダ付きて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は公開されているデータだけにアクセスします。プラットフォームの利用条件に自動アクセスを制限ている場合があり、コンプライアンス責任は利用者にあります。
HasData links
プロダクトページとリクエストビルダー | |
サーバー・ドキュメント | |
1つのサーバーで全57ツール | |
クライアント向けco通し | |
その他スクレイピング対象 | |
プランとクレジット料金 | |
キーと利用状況 |
開発
このリポジトリは、リモート・サーバーの設定とドキュメントです。ビルドステップもありませんし、コンテナイザするものもありません。
リストは一切存在しません。
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 を参照してさい。
Maintenance
Related MCP Servers
- AlicenseCqualityDmaintenanceEnables searching and retrieving detailed flight information using the Duffel API, supporting various flight types and flexible search parameters for efficient travel planning.3220MIT
- -licenseNot gradedqualityNot gradedmaintenanceEnables searching and retrieving flight information using Duffel API, supporting one-way, round-trip, and multi-city queries with flexible search parameters.
- AlicenseNot gradedqualityDmaintenanceEnables AI clients to explore cheapest destinations, optimize multi-leg flight itineraries, and reference airport/region data via MCP tools and resources.MIT
- AlicenseAqualityCmaintenanceSearches multiple flight inventory sources concurrently and returns a normalized, deduplicated result set.4MIT
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
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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