google-flights-mcp
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_low、price_insights_high、およびprice_range_in_relation_to_other_periodsのlow/typical/high判定 — が含まれます。これによりエージェントは、数字を伝えるだけでなく「$209はここでは標準的な価格だから、急いで予約しなくてもいい」と答えられるのです。検索するだけでなく予約もできる。 すべての検索結果に Google Flights への
buy_linkが含まれます。何を消費したかがわかる。 各応答には
api_usageが含まれます — 今回の呼び出しで使われたリクエスト数と、呼び出し元のプランに残っている残量です。支出レポートを参照してください。何を検索したかがわかる。 各応答には
search_coverageが含まれます。そのためモデルは、答えがどの日付とどの目的地に基づいているかを正直に説明できます。
結果の運賃はリアルタイムです。数分で古くなります — 運賃や以前の結果をキャッシュ、再利用せず、必ず再検索して、データを取得した日時を文章の中で明示してください。
キーを取得する(無料枠あり)
このサーバー自身は上流の認証情報を一切持ちません。検索のたびに あなたの RapidAPI サブスクリプションに課金されるため、キーがリクエストと一緒に運ばれてくるのです。
Google Flights Live API に購読する: https://rapidapi.com/mtnrabi/api/google-flights-live-api
x-rapidapi-keyをコピーします。以下の3つの方法のいずれかでサーバーに渡します。
キーがない場合、ツールは静かに失敗などしませんし、課金もしません。needs_api_key: true とサインアップURL、そしてこの説明(モデルが読み上げられる形式に整えたもの)を返します。
キーを渡す3つの方法
方法 | 渡し方 | 使うとき |
ヘッダー(推奨) |
| ヘッダーを上述設定できるもの。キーがURLに入らず、プロキシやアクセスログにも残りません。 |
クエリパラメータ |
| URLだけを張り付ける形式のホスト — claude.ai のカスタムコネクターダイアログがその一例で、このために必要です。 |
クライアントのAPIキー欄 | クライアント自身の「APIキー」ボックスにキーを貼り付ける。 |
|
最初の、空でない情報源がその順序で優先されます。キーがログ、そのエラーメッセージに出力されることはありませんし、ツールの応答に含まれることもありません。
ツール
ツール | 働き |
| リアルタイムの片道運賃検索。入力: 出発IATA、目的地IATAまたは のリスト、さらに出発日(1日)または日付範囲(のいずれか)。返すもの: 料金、航空会社、所要時間、乗り継ぎ回数、 |
| リアルタイムの往復運賃。セグメントのペア(行き・帰り)として価格計算します。片道2つを組み合わせるのではありません。 入力: 出発地、目的地(リスト可)、出発日または期間、そして |
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: trueとnoteが返ります。範囲は、全期間の全体を横断して均等にサンプリング(最初と最後は除外されない)で、途中まで切り詰められません — つまり最初のN日ではなく、期間全体として標本になっています。より完全な網羅性を得るにはmax_searchesを上げるか、範囲を狭めてください。キーがない、拒否された。
needs_api_key: true(支出はゼロ)と、修正方法が返ります。有効なRapidAPIキーが このAPI に購読していない: 場合が最も多い原因です。プランの上限に達した。
quota_exhausted: trueとapi_usageが返り、範囲を狭めると残りのクォータがより有効に使えるというリマインドも返ります。
支出レポート(api_usage)
その費用はあなた自身のものですので、常にメーターが表示されています。成功したすべての応答には、次が含まれます。
フィールド | 意味 |
| このツールの呼び出し1回が消費した、上流へ課金されるリクエスト数。 |
| この期間のあなたの RapidAPI プランに残かるリクエスト数。 |
| この期間のプランのリクエスト上限。 |
| その同じ内容を一文で簡潔したもの。モデルが、あなたが聞く前に伝えられます。 |
plan_requests_remaining と plan_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_coverage と api_usage に正直にレポートされます。
サーバー(有料) | 有料サーバー | |
1回呼び出しでのファンアウト | 30(ハードリミット 60 に対して、 | 15 |
広告 | なし | 結果ごとに「広告を明示したスポンサーカード」1件 |
キー | 自分用のRapidAPIキー | 不要 |
支出レポート | すべての応答の | 対象外(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_low、price_insights_high、B— そしてprice_range_in_relation_to_other_periodsのlow/typical/high評価—が含まれます。これによって「それが209ドルは典型で、急いで買う必要はない notと言える答えができます。ただ数値引用だけではありません。予約もできます(閲覧だけではありません)。 すべての結果はあ Google Flights への「
buy_link」を含む。使ったチケット数がわかる。 各応答に
api_usageが含まれ、この呼び出しで使ったチケット数と、呼び出し元のプランの備蓄残量がわかります。使用状況レポートを参照してください。検索内容がわかる。 各応答に
search_coverageが含まれ、「その答えが拠って検索した日付と目的地」をモデルが正直に説明できます。
※結果はリアルタイム運賃です。数分でガバります — 運賃をキャッシュしたり過去の結果を再利用したりせず、データを取得した時点を明記して再検索してください。
キーを取得する(無料版あり)
このサーバーには自前の認証情報はありません。検索ごとに あなたのRapidAPIサブスクリプションに課金されるため、キーがリクエストと一緒に渡されます。
RapidAPI で Google Flights Live API を申し込む: : https://rapidapi.com/mtnrabi/api/google-flights-live-api
自分の
x-rapidapi-keyをつコピーします。それを次の3つの方法のどれか、サーバーに渡します。
キーがない場合、ツールは静かに失敗せず何も消費しません。needs_api_key: true とサインアップURL、および文章で、モデルが読み上げるための説明を返します。
キーを渡す3つの方法
方法 | 渡し方 | 使うとき |
ヘッダー(推奨) |
| ヘッダーを設定できる環境。キーがURLに入らず、結果としてプロキシ・アクセスログに残らない。 |
クエリパラメータ |
| URLだけを貼り付け可能なホスト — 主要因のWeb「カスタムコネクタダイアログ」に対応。 |
クライアントのAPIキー欄 | クライアント自身の「APIキー」欄へ貼り付ける。 |
|
最初に設定済みで空でない項目が、この順で採用されます。キーがセンターのログに磳まれること、エラーメッセージに出力されること、またはツールの応答内に置かれることは、一切ありません。
ツール関数
ツール | 機能・仕様 |
| 片道のリアルタイム運賃を検索。入力:出発地のIATA、目的地IATAまたはそれらのリスト、さらに出発指定日(年月日)か期間範囲を使う。戻るもの: 運賃、航空会社、所要時間、乗り継ぎ回数、 |
| リアルタイムの往復運賃(出発/復路).往復をセットにした区間単価として計算。入力がそれぞれ、出発地、目的 地(リスト可)、出発日あるいは日付範囲と、 |
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回での時限ぴったりです。リマスは次の形になります(フィールド名は実際のもの。下の値段は説明用の一例で、実際の査定ではありません — ライフで見る場合は実際の呼
変数 | デフォルト | 重要な理由 |
|
| ツール呼び出し1回あたりのファンアウト上限。ハード上限の60にクランプされる。 |
|
| ファンアウトの同時実行数。 |
|
| 接続プールの上限。サーバーレスインスタンスはファイルディスクリプタプールを共有する。 |
|
| 上流側の上限に一致させているため、こちら側が先にタイムアウトすることはない。 |
|
| 個々の上流検索で要求される結果件数。 |
| RapidAPI のリスティング | キーなしでアクセスしたユーザーに案内される URL。 |
|
|
|
| (空) | 本番環境では空のままにすること。 設定されている場合、キーなしのすべての呼び出しがそのサブスクリプション上で処理され、課金される。サーバーは起動時に警告をログし、 |
| (空) | 設定すると、 |
| (空) | 空だとファイルシンクが無効になり、stdout の |
運用ルート:GET /health(公開・認証不要。レジストリがポーリングする)、GET /metrics、GET /metrics/calls?hours=24。
デプロイ先は Vercel で、api/index.py(FastMCP にライフサイクルと stateless_http=True を渡す FastAPI ラッパー)を経由する。正規のMCPパスは /mcp で、末尾スラッシュなし。
実際のキーをコミットしないこと。example.env にはプレースホルダーが同梱されている。その状態を維持すること。
非提携
これは、公開されている航空運賃の価格を返す独立APIです。Google との提携や、Google からの推薦、スポンサー提供は一切ありません。「Google Flights」は、公開データソースを説明するためにのみ使用されています。運賃は上流プロバイダーから供給され、常に変動し、保証されるものではありません。購入前に必ず航空会社または予約サイトで価格を確認してください。
This server cannot be installed
Maintenance
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.
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/mtnrabi/google-flights-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server