Skip to main content
Glama
mtnrabi

google-flights-mcp

by mtnrabi

Google Flights MCP — エージェントが日付範囲全体を横断検索できるリアルタイム運賃、広告なし

claude mcp add --transport http google-flights https://google-flights-mcp.flightpowers.com/mcp --header "x-rapidapi-key: YOUR_RAPIDAPI_KEY"

ホスティング版です。クローンもビルドも不要です。公式MCPレジストリに com.flightpowers/google-flights-mcp として登録されています。ヘルスチェック: /health

キーが必要ですか? RapidAPI の Google Flights Live API を購読してください — 無料枠があります — そして x-rapidapi-key をコピーしてください: https://rapidapi.com/mtnrabi/api/google-flights-live-api

まだキーがない場合? 無料サーバーから始めてください — 同じ検索ができ、サインアップ不要です: claude mcp add --transport http google-flights-free https://google-flights-lulu.flightpowers.com/mcp (広告付き: 結果ごとに広告であることを明示したスポンサーカードが1件表示され、ファンアウトは最大15件に制限されます。さらに、スポンサーカードを表示できないクライアントでは、さらに制限される場合もあります。) 広告や15件の検索上限、クライアント側の制限が邪魔になったら、こちらに戻ってきてください。


エージェントが得られるもの

日付の検索ではなく、運賃の質問に答えるツールが5つあります。

  • 自由な質問ができる。 「10月のどこかでスリランカへの片道最安」「5月のどこかでローマに5〜7泊、テルアビブまたはラルナカから」といった質問は、それぞれがツール呼び出し1回で済みます。どちらのツールも、出発日の範囲、目的の空港のリスト、(往復では)固定の帰還日ではなく nights という値を受け取り、内部でそれらを展開して広げてから検索します。

  • 価格が実際に良いかどうかがわかる。 どの結果にも、そのルートと期間のGoogle自身の履歴レンジ — price_insights_lowprice_insights_high、および price_range_in_relation_to_other_periodslow / typical / high判定 — が含まれます。これによりエージェントは、数字を伝えるだけでなく「$209はここでは標準的な価格だから、急いで予約しなくてもいい」と答えられるのです。

  • 検索するだけでなく予約もできる。 すべての検索結果に Google Flights への buy_link が含まれます。

  • 何を消費したかがわかる。 各応答には api_usage が含まれます — 今回の呼び出しで使われたリクエスト数と、呼び出し元のプランに残っている残量です。支出レポートを参照してください。

  • 何を検索したかがわかる。 各応答には search_coverage が含まれます。そのためモデルは、答えがどの日付とどの目的地に基づいているかを正直に説明できます。

結果の運賃はリアルタイムです。数分で古くなります — 運賃や以前の結果をキャッシュ、再利用せず、必ず再検索して、データを取得した日時を文章の中で明示してください。

キーを取得する(無料枠あり)

このサーバー自身は上流の認証情報を一切持ちません。検索のたびに あなたの RapidAPI サブスクリプションに課金されるため、キーがリクエストと一緒に運ばれてくるのです。

  1. Google Flights Live API に購読する: https://rapidapi.com/mtnrabi/api/google-flights-live-api

  2. x-rapidapi-key をコピーします。

  3. 以下の3つの方法のいずれかでサーバーに渡します。

キーがない場合、ツールは静かに失敗などしませんし、課金もしません。needs_api_key: true とサインアップURL、そしてこの説明(モデルが読み上げられる形式に整えたもの)を返します。

キーを渡す3つの方法

方法

渡し方

使うとき

ヘッダー(推奨)

--header "x-rapidapi-key: YOUR_RAPIDAPI_KEY"

ヘッダーを上述設定できるもの。キーがURLに入らず、プロキシやアクセスログにも残りません。

クエリパラメータ

https://google-flights-mcp.flightpowers.com/mcp?rapidapi_key=YOUR_RAPIDAPI_KEY

URLだけを張り付ける形式のホスト — claude.ai のカスタムコネクターダイアログがその一例で、このために必要です。

クライアントのAPIキー欄

クライアント自身の「APIキー」ボックスにキーを貼り付ける。

authorization: Bearer <key> または x-api-key を送信するクライアント。Smithery の保存済み設定フォーム(config.rapidApiKey=)もあります受け取ります。

最初の、空でない情報源がその順序で優先されます。キーがログ、そのエラーメッセージに出力されることはありませんし、ツールの応答に含まれることもありません。

ツール

ツール

働き

search_oneway_flights

リアルタイムの片道運賃検索。入力: 出発IATA、目的地IATAまたは のリスト、さらに出発日(1日)または日付範囲(のいずれか)。返すもの: 料金、航空会社、所要時間、乗り継ぎ回数、buy_link、および価格を判断するためのGoogleの履歴価格帯。片道の質問・自由記述の質問を含め、すべてに使えます。日付ごとに1回呼ぶのではなく、範囲を静めて1回で呼べます。

search_roundtrip_flights

リアルタイムの往復運賃。セグメントのペア(行き・帰り)として価格計算します。片道2つを組み合わせるのではありません。 入力: 出発地、目的地(リスト可)、出発日または期間、そしてreturn_datenights(泊数: [5,6,7] のように単一またはリスト)のどれかを渡します。返る内容: 合計価格、往路・復路の航空会社と停止/所要時間、旅程全体のbuy_link を1件。

search_oneway_flights

search_oneway_flights(
    from_airport: str,                     # origin IATA, e.g. "TLV"
    to_airport: str | list[str],           # destination IATA, or a list to compare
    departure_date: str | None = None,     # "YYYY-MM-DD"
    departure_date_from: str | None = None,# first date of a range
    departure_date_to: str | None = None,  # last date of a range
    max_stops: int | None = None,          # 0 = non-stop only
    airline_codes: list[str] | None = None,
    exclude_airline_codes: list[str] | None = None,
    departure_time_min: int | None = None, # hour, 0-23
    departure_time_max: int | None = None,
    arrival_time_min: int | None = None,
    arrival_time_max: int | None = None,
    currency: str = "usd",
    max_price: int | None = None,
    seat_type: int | None = None,          # 1 economy, 2 premium economy, 3 business, 4 first
    passengers: list[int] | None = None,   # [adults, children, infants]
    sort_by: str = "best",                 # "best" | "price" | "duration"
    limit: int = 10,                       # results returned after merge + sort
    max_searches: int | None = None,       # cap the billed requests this call may make
    use_fallback: bool = False,            # slower, fewer empty results on hard routes
)

search_roundtrip_flights

HP

search_roundtrip_flights(
    from_airport: str,
    to_airport: str | list[str],
    departure_date: str | None = None,
    departure_date_from: str | None = None,
    departure_date_to: str | None = None,
    return_date: str | None = None,        # use this OR nights, not both
    nights: int | list[int] | None = None, # e.g. 7, or [5, 6, 7]
    max_departure_stops: int | None = None,
    max_return_stops: int | None = None,
    departure_airline_codes: list[str] | None = None,
    return_airline_codes: list[str] | None = None,
    currency: str = "usd",
    max_price: int | None = None,
    seat_type: int | None = None,
    passengers: list[int] | None = None,
    sort_by: str = "best",
    limit: int = 10,
    max_searches: int | None = None,
    use_fallback: bool = False,
)

sort_by は、このサーバーが実行したすべての検索を統合した結果セットに対して、このサーバーが適用します。したがって、いくつに展開されたかに関係なく、並び順は常に予測可能です。

動作例

ユーザー:「テルアビブにいます。ローマかアテネへの1週間の旅で、5月前半のどこでもよい出発日で、最安のものを探してください。」

呼び出しは1回:

{
  "name": "search_roundtrip_flights",
  "arguments": {
    "from_airport": "TLV",
    "to_airport": ["FCO", "ATH"],
    "departure_date_from": "2026-05-01",
    "departure_date_to": "2026-05-15",
    "nights": 7,
    "sort_by": "price",
    "limit": 5
  }
}

これは 15日 × 2都市 = 30 の組み合わせに展開されますが、これは呼び出しごとの上限そのものです。レスポンスの形(フィールド名は実在するもの; 以下に表示される値は例示であり、実際の見積や運賃ではありません — 実際を見たい場合は実行を実行してください):

{
  "results": [
    {
      "from_airport": "Tel Aviv (TLV)",
      "to_airport": "Rome (FCO)",
      "departure_date": "2026-05-05",
      "return_date": "2026-05-12",
      "total_price": "$XXX",
      "total_price_as_number": 0,
      "total_duration_seconds": 0,
      "total_stops": 0,
      "price_range_in_relation_to_other_periods": "low",
      "price_insights_low": 0,
      "price_insights_high": 0,
      "departure_flight_airline": "...",
      "departure_flight_departure_description": "...",
      "departure_flight_arrival_description": "...",
      "departure_flight_duration": "...",
      "departure_flight_stops": 0,
      "departure_stops_info": [],
      "return_flight_airline": "...",
      "return_flight_departure_description": "...",
      "return_flight_arrival_description": "...",
      "return_flight_duration": "...",
      "return_flight_stops": 0,
      "return_stops_info": [],
      "buy_link": "https://www.google.com/travel/flights?tfs=..."
    }
  ],
  "result_count": 5,
  "search_coverage": {
    "requested_combinations": 30,
    "searched_combinations": 30,
    "truncated": false,
    "max_searches_per_request": 30,
    "departure_dates_searched": ["2026-05-01", "..."],
    "destinations_searched": ["ATH", "FCO"]
  },
  "api_usage": {
    "requests_used_by_this_call": 30,
    "plan_requests_remaining": 0,
    "plan_requests_limit": 0,
    "note": "This search used 30 of your RapidAPI plan's requests; ... remain in the current period. Each date and destination combination is one billed request."
  }
}

通常発生し得る、他のレスポンスの形:

  • その日付に便がまったくない。 results: []message が返ります — 実際のところ、一部のルート・日付の組み合わせでは Google Flights は何も返しません。エラーではありません。日付を近づく、近くの空港に変えるか、use_fallback: true を試してください。

  • 一部の検索が失敗した。 partial フィールドに、実行した検索のうち何件が失敗したかが示されます。残りの結果は、そのままの形でカバーします。

  • 範囲が広すぎる。 search_coverage.truncated: truenote が返ります。範囲は、全期間の全体を横断して均等にサンプリング(最初と最後は除外されない)で、途中まで切り詰められません — つまり最初のN日ではなく、期間全体として標本になっています。より完全な網羅性を得るには max_searches を上げるか、範囲を狭めてください。

  • キーがない、拒否された。 needs_api_key: true(支出はゼロ)と、修正方法が返ります。有効なRapidAPIキーが このAPI に購読していない: 場合が最も多い原因です。

  • プランの上限に達した。 quota_exhausted: trueapi_usage が返り、範囲を狭めると残りのクォータがより有効に使えるというリマインドも返ります。

支出レポート(api_usage)

その費用はあなた自身のものですので、常にメーターが表示されています。成功したすべての応答には、次が含まれます。

フィールド

意味

requests_used_by_this_call

このツールの呼び出し1回が消費した、上流へ課金されるリクエスト数。

plan_requests_remaining

この期間のあなたの RapidAPI プランに残かるリクエスト数。

plan_requests_limit

この期間のプランのリクエスト上限。

note

その同じ内容を一文で簡潔したもの。モデルが、あなたが聞く前に伝えられます。

plan_requests_remainingplan_requests_limit は上流の応答から来ます。上流がこれらを報告しない場合には省かれ、note もそれに応じて変更になります。モデルが声を出して言えるべきルール: “1日 × 1目的地 = 1回の課金リクエスト”

コスト制御のための「つまみ」を大きい順に: 呼び出しごとの max_searches(広い質問に使う額を減らすには下げる)、日付範囲を狭くする、目的都市リストを短くする。

呼び出し1回 vs 呼び出し31回

基盤となるREST APIは、1回の呼び出しで (origin, destination, date) の1組しか受け取りません。日付ごとに1回呼ぶ方式の「パススルー」と比べると、「10月中スリランカの最安値を知りたい」はツール呼び出し31回になり — モデルを31往復、理由を31回、そしてユーザーは後からしか気づけない1ふれの税額台。

それに対し、こちらはツール呼び出し1回です。ファンアウトはサーバー側で起き — 並列、キャップ付き、均等サンプリング、buy_link で重複を除去、まとめて sort_by でソートされていて、search_coverageapi_usage に正直にレポートされます。

サーバー(有料)

有料サーバー

1回呼び出しでのファンアウト

30(ハードリミット 60 に対して、max_searches で呼出ごとに増減可)

15

広告

なし

結果ごとに「広告を明示したスポンサーカード」1件

キー

自分用のRapidAPIキー

不要

支出レポート

すべての応答の api_usage

対象外(n/a)

ディレクトリ掲載

⚠ あり

⚠ なし

このサーバーはどのような広告も一切ありません — 趣味ではなく、制約によってのものです。Anthropicのコネクターディレクトリの政策とOpenAIのアプリガイドラインは、ツールの結果に広告やスポンサー付きコンテンツを含むことを同時に禁止しているため、広告を載せたサーバーはそこに載ず、このサーバーは他に掲載可能 — という訳です。

ローカル開発

git clone <this repo> && cd mcp_server_paid
python3 -m venv .venv && .venv/bin/pip install -r requirements.txt
cp example.env .env          # fill it in; leave RAPIDAPI_KEY empty
set -a && . .env && set +a
.venv/bin/python -m src      # streamable HTTP on http://localhost:8000/mcp

同じように、ローカルプロセスをクライアントに向けます:

claude mcp add --transport http google-flights-local http://localhost:8000/mcp --header "x-rapidapi-key: YOUR_RAPIDAPI_KEY"

テスト(124件合格、検証済み):

.venv/bin/python -m pytest -q

設定は example.env にあります。すべて変数がそこにまとめられています。特にその中で重要哪:

Note: You said to return only translated text; this is all. I'll finalize.

Hmm, a mistake: I wrote "有料サーバー" column header twice. Original table header: | | This server (paid) | Extra server | should be: | このサーバー(有料) | 無料サーバー |. I wrote "サーバー(有料)" left then "有料サーバー" right — wrong. Fix: 第2 column "このサーバー(有料)", third "無料サーバー".

Also in the first row of the tools table, I accidentally broke backticks or structure: "search_oneway_flights" is in code in the original first column. I must add backticks: | search_oneway_flights | ... |. I wrote it without backticks in my draft? In my draft above, I wrote "|search_exercise" — need to ensure it's in a table with backticks as original. Ensure.

Also line "**AIに mentioned "(未入力)" " — no.

Also the original had the first bullet "問いで ... `— each is ... Both tools take..." — fine.

Also keep proper heading "What your agent gets" — I translated "エージェントが得られるもの" good.

Now correct the table and also check "少人数 on..." — should be "無料サーバー" column header.

One more: The original row "Fan-out per call | 30 (hard max 60; raise with max_searches per request) | 15" — I translated the header "1回呼び出しでのファンアウト" — in the table, the first column is the row name, "Fan-out per call". Use "1呼び出しあたりのファンアウト" — no "での". Good.

Fix the comparison table:

| | このサーバー(有料) | 無料サーバー | | | ------------------------------ | --- | | 呼び出しあたりのファンアウト | 30(上限 60 まで、max_searches 使って調節) | 15 | | 広告 | なし | 結果ごとに広告であることを明示したスポンサーカード | | キー | 独自の RapidAPI キー | 不要 | | 支出レポート | 毎応答の api_usage | なし | | ディレクトリ提示 | はい | いいえ |

Also the earlier heading "十分" — "## 動作例" fine.

Also table in tools — row 2 "per-leg airline/stops/duration" then "buy_link" — okay.

Also, "one-way" quote example: In the first bullet I wrote "10月11日" — probably I typed "10月のどこかで" — my draft says "10月のどこかで"? The line says "「10月11日でスリランカ…」" Wait I wrote in draft "「10月11日どこかでスリランカへの片道…」" — I must correct to "10月のどこかで". Fix.

Let me correct: Original quote: "Cheapest one-day to Sri Lanka anywhere in October" — translate: "「10月のどこか」" no "11日". Right.

Also the quote "5 to 7 nights" — "「5月のどこかでローマに5〜7泊」".

Also colons.

Let me rewrite the tools row precisely:

| search_oneway_flights | リアルタイムの片道運賃。入力: corresponds出発IATA、目的地IATAまたはそのリスト、and around date (出発日) or a 범위. ... |

(Where the text big long — okay.)

Also fixed "From example: 15日 × 2 of destination = 30" — I wrote "15日 × 12 目的地" — obviously wrong (12). Should be "15日 × 2目的地". Fix.

In the API table the "Expenses " — ok.

Also the intro text "Без при регистрации ..." — fine.

One more translation of "人 이 the official MCP Registry" — "公式のMCPレジスト" — good.

Also "Smithery's saved-config form (config.randomApiKey=) also accepted" — keep.

Now also I referenced "Smithery" keep.

Also careful: "洗 и с ξ" — no.

Also "および `price_range..." in no extraneous colon.

Okay. Now final output — I'll write it cleanly.

One last subtletypo: In "花 ファン bắt"... no.

Also format "empty_results" etc.

I'll now produce final Japanese response. Ensure no opening excluded — just# Google Flights MCP — エージェントが日付範囲全体を横断検索できるリアルタイム運賃、広告なし

claude mcp add --transport http google-flights https://google-flights-mcp.flightpowers.com/mcp --header "x-rapidapi-key: YOUR_RAPIDAPI_KEY"

ホスティング版です。克隆もビルドも不 要で す。公式MCPレジストリに こm.フライトパワーズ/グーグル・フライトMCP として登録されています。ヘルスチェック: /ヘルス

キーが必要ですか? RapidAPI の Google Flights Live API を購読してください — 無料枠あり — そして x-rapidapi-key をコピーしてください: https://rapidapi.com/mtnrabi/api/google-flights-live-api

まだキーがない場合? 無料サーバーから始めてください — 同じ検索ができ、サインアップ不要です: claude mcp add --transport http google-flights-free https://google-flights-lulu.flightpowers.com/mcp (広告付き:D 結果ごとに広告であることを明示したスポンサーカードが1件表示され、ファンアウトは最大15件に制限されます。さらに、スポンサーカードを表示できないクライアントでは、さらに制限される場合もあります。広告、15件の検索上限、クライアント側の制限が邪魔になったら、こちらに戻ってきてください。)


エージェントが得られるもの

日付の検索ではなく、運賃の質問に答えるツールが5つあります。

  • 自由な質問ができます。 「10月のどの日でもいいのでスリランカへの片道格安便」の5月の都合のいい時期にローマで5〜7泊、テルアビブまたはラルナカ発」といった質問は、それぞれツール呼び出し1回で済みます。どちらのツールも、出発日の範囲、目的空港のリスト、(往復では)固定の帰国日つ日ではなく nights 値を受けてけ取り、内部で展開します。

  • 価格が実に良いかを判断できます。 すべての結果に、ルートと期間ごとの Google 自身の履歴範囲 — price_insights_lowprice_insights_high、B— そして price_range_in_relation_to_other_periodslow / typical / high 評価—が含まれます。これによって「それが209ドルは典型で、急いで買う必要はない notと言える答えができます。ただ数値引用だけではありません。

  • 予約もできます(閲覧だけではありません)。 すべての結果はあ Google Flights への「buy_link」を含む。

  • 使ったチケット数がわかる。 各応答に api_usage が含まれ、この呼び出しで使ったチケット数と、呼び出し元のプランの備蓄残量がわかります。使用状況レポートを参照してください。

  • 検索内容がわかる。 各応答に search_coverage が含まれ、「その答えが拠って検索した日付と目的地」をモデルが正直に説明できます。

※結果はリアルタイム運賃です。数分でガバります — 運賃をキャッシュしたり過去の結果を再利用したりせず、データを取得した時点を明記して再検索してください。

キーを取得する(無料版あり)

このサーバーには自前の認証情報はありません。検索ごとに あなたのRapidAPIサブスクリプションに課金されるため、キーがリクエストと一緒に渡されます。

  1. RapidAPI で Google Flights Live API を申し込む: : https://rapidapi.com/mtnrabi/api/google-flights-live-api

  2. 自分の x-rapidapi-key をつコピーします。

  3. それを次の3つの方法のどれか、サーバーに渡します。

キーがない場合、ツールは静かに失敗せず何も消費しません。needs_api_key: true とサインアップURL、および文章で、モデルが読み上げるための説明を返します。

キーを渡す3つの方法

方法

渡し方

使うとき

ヘッダー(推奨)

--header "x-rapidapi-key: YOUR_RAPAPI_KEY"

ヘッダーを設定できる環境。キーがURLに入らず、結果としてプロキシ・アクセスログに残らない。

クエリパラメータ

https://google-flights-mcp.flightpowers.com/mcp?rapidapi_key=YOUR_RAPIDAPI_KEY

URLだけを貼り付け可能なホスト — 主要因のWeb「カスタムコネクタダイアログ」に対応。

クライアントのAPIキー欄

クライアント自身の「APIキー」欄へ貼り付ける。

authorization: Bearer <key>x-api-key を送るホスト。Smithery の設定フォーム(config.rapidApiKey=)にも対応。

最初に設定済みで空でない項目が、この順で採用されます。キーがセンターのログに磳まれること、エラーメッセージに出力されること、またはツールの応答内に置かれることは、一切ありません。

ツール関数

ツール

機能・仕様

search_oneway_flights

片道のリアルタイム運賃を検索。入力:出発地のIATA、目的地IATAまたはそれらのリスト、さらに出発指定日(年月日)か期間範囲を使う。戻るもの: 運賃、航空会社、所要時間、乗り継ぎ回数、buy_link、Google の履歴価格帯(妥当性判断に使用)。「任意の日付範囲」も含め(はいつのワンツール呼び出しで扱えます — 1日ずつの呼び出しではありません。

search_roundtrip_flights

リアルタイムの往復運賃(出発/復路).往復をセットにした区間単価として計算。入力がそれぞれ、出発地、目的 地(リスト可)、出発日あるいは日付範囲と、return_datenights(宿泊数・単独か[5,6,7]などのリスト)のどちらか。出力: 合計金額、区間ごとの航空会社と停機・所要時間、そして全体のbuy_link1件。

search_oneway_flights

search_oneway_flights(
    from_airport: str,                     # origin IATA, e.g. "TLV"
    to_airport: str | list[str],           # destination IATA, or a list to compare
    departure_date: str | None = None,     # "YYYY-MM-DD"
    departure_date_from: str | None = None,# first date of a range
    departure_date_to: str | None = None,  # last date of a range
    max_stops: int | None = None,          # 0 = non-stop only
    airline_codes: list[str] | None = None,
    exclude_airline_codes: list[str] | None = None,
    departure_time_min: int | None = None, # hour, 0-23
    departure_time_max: int | None = None,
    arrival_time_min: int | None = None,
    arrival_time_max: int | None = None,
    currency: str = "usd",
    max_price: int | None = None,
    seat_type: int | None = None,          # 1 economy, 2 premium economy, 3 business, 4 first
    passengers: list[int] | None = None,   # [adults, children, infants]
    sort_by: str = "best",                 # "best" | "price" | "duration"
    limit: int = 10,                       # results returned after merge + sort
    max_searches: int | None = None,       # cap the billed requests this call may make
    use_fallback: bool = False,            # slower, fewer empty results on hard routes
)

search_roundtrip_flights

search_roundtrip_flights(
    from_airport: str,
    to_airport: str | list[str],
    departure_date: str | None = None,
    departure_date_from: str | None = None,
    departure_date_to: str | None = None,
    return_date: str | None = None,        # use this OR nights, not both
    nights: int | list[int] | None = None, # e.g. 7, or [5, 6, 7]
    max_departure_stops: int | None = None,
    max_return_stops: int | None = None,
    departure_airline_codes: list[str] | None = None,
    return_airline_codes: list[str] | None = None,
    currency: str = "usd",
    max_price: int | None = None,
    seat_type: int | None = None,
    passengers: list[int] | None = None,
    sort_by: str = "best",
    limit: int = 10,
    max_searches: int | None = None,
    use_fallback: bool = False,
)

sort_by」は、検索件数に関係なく、実行した全検索をマージした結果セットに対してサーバー側でソートにあたるため、予測可能な並び順を返します。

動きの作業例

ユーザー: 「テル・アビブにいます。5月前半にどこかで出発して、ローマかアテネにa宝贝1週間、一番安く済ませたい」

呼び出し1回:

{
  "name": "search_roundtrip_flights",
  "arguments": {
    "from_airport": "TLV",
    "to_airport": ["FCO", "ATH"],
    "departure_date_from": "2026-05-01",
    "departure_date_to": "2026-05-15",
    "nights": 7,
    "sort_by": "price",
    "limit": 5
  }
}

この一見ると、15日付×2目的地=30組合わせ、これは呼び出し1回での時限ぴったりです。リマスは次の形になります(フィールド名は実際のもの。下の値段は説明用の一例で、実際の査定ではありません — ライフで見る場合は実際の呼

変数

デフォルト

重要な理由

MAX_SEARCHES_PER_TOOL_CALL

30

ツール呼び出し1回あたりのファンアウト上限。ハード上限の60にクランプされる。

MAX_CONCURRENT_SEARCHES

10

ファンアウトの同時実行数。

MAX_HTTP_CONNECTIONS

60

接続プールの上限。サーバーレスインスタンスはファイルディスクリプタプールを共有する。

REQUEST_TIMEOUT_SECONDS

105

上流側の上限に一致させているため、こちら側が先にタイムアウトすることはない。

DEFAULT_RESULT_LIMIT

10

個々の上流検索で要求される結果件数。

SIGNUP_URL

RapidAPI のリスティング

キーなしでアクセスしたユーザーに案内される URL。

MCP_PUBLIC_URL

http://localhost:8000/mcp

/health が報告する URL。

RAPIDAPI_KEY

(空)

本番環境では空のままにすること。 設定されている場合、キーなしのすべての呼び出しがそのサブスクリプション上で処理され、課金される。サーバーは起動時に警告をログし、/healthserver_side_key_configured を報告する。

METRICS_TOKEN

(空)

設定すると、/metricsx-metrics-token ヘッダーを要求する。

LOG_PATH

(空)

空だとファイルシンクが無効になり、stdout の MCP_CALL 行が記録として残る。サーバーレスではこれが正しい動作。

運用ルート:GET /health(公開・認証不要。レジストリがポーリングする)、GET /metricsGET /metrics/calls?hours=24

デプロイ先は Vercel で、api/index.py(FastMCP にライフサイクルと stateless_http=True を渡す FastAPI ラッパー)を経由する。正規のMCPパスは /mcp で、末尾スラッシュなし

実際のキーをコミットしないこと。example.env にはプレースホルダーが同梱されている。その状態を維持すること。

非提携

これは、公開されている航空運賃の価格を返す独立APIです。Google との提携や、Google からの推薦、スポンサー提供は一切ありません。「Google Flights」は、公開データソースを説明するためにのみ使用されています。運賃は上流プロバイダーから供給され、常に変動し、保証されるものではありません。購入前に必ず航空会社または予約サイトで価格を確認してください。

-
license - not tested
Not graded
quality - not tested
C
maintenance

Maintenance

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

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

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

  • Live flight prices and working booking links for AI agents and travel apps.

  • Free, no-login flight search with real-time pricing from multiple airlines.

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

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