Context7
Up-to-date docs for AI agents
作者提供的说明(英文原文)
Real-time Google Flights: one-way and round-trip fares over date ranges, with price verdicts.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
x-rapidapi-key标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
这个地址需要在请求的 header 中放入密钥,而添加连接器的菜单无法设置。请改用 Claude Code、Cursor 或 VS Code。
在终端中运行这条命令
claude mcp add --transport http google-flights https://flights.flightpowers.com/mcp --header 'x-rapidapi-key: your-value'运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"google-flights": {
"url": "https://flights.flightpowers.com/mcp",
"headers": {
"x-rapidapi-key": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"google-flights": {
"type": "http",
"url": "https://flights.flightpowers.com/mcp",
"headers": {
"x-rapidapi-key": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个地址需要在请求的 header 中放入密钥,而添加连接器的菜单无法设置。请改用 Claude Code、Cursor 或 VS Code。
你的选择通过 Cookie 保存在这台设备上,无需账户。
x-rapidapi-key 机密 HTTP header这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
我们还没有读取这个服务器的工具列表;我们会轮流检查各个端点。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月6日
发布者(flightpowers.com)不是仓库所有者(mtnrabi);可能是其他人代为上架的
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
尚未检查;我们会轮流检查各个端点
尚未检查;我们会轮流检查各个端点
尚未检查;我们会在检查端点时读取工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 0 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
你需要填写:x-rapidapi-key
它在作者的云端运行。通过互联网连接,无需安装,但你发送的内容会经过作者的服务器。
GitHub 仓库最后更新于–,最新版本(1.2.0)于2个月前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。
同一分类中有:Context7, Codebase Memory, Exa
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
Up-to-date docs for AI agents
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
An MCP server for live flight prices and hotel rates: Claude, Claude Code, Cursor, Cline and any other MCP client get real-time Google Flights fares and Booking.com room rates as tools. One call searches a date range and a list of destination airports, every fare carries Google's own low / typical / high verdict and price range, and a round trip is priced as one request (both legs, one total, one booking link). Hosted at https://flights.flightpowers.com/mcp (hotels at https://hotels.flightpowers.com/mcp), nothing to install. It finds and prices, it does not book.
Built by FlightPowers, a travel data API for developers and AI agents: REST, MCP servers and an n8n node on one RapidAPI key. Sign in with Google and your first 10 searches each day are free.
Where to get a key: Google Flights Live API and Booking Live API on RapidAPI. A free pack of 10 searches a month, then PRO is $10 for 2,500 flight searches, about a sixth of SerpApi's price per search (their cheapest plan is $25 for 1,000).
One URL, either way in:
claude mcp add --transport http google-flights https://flights.flightpowers.com/mcp
In a client that supports MCP authorization, a Sign in button appears: you sign in with Google, and your first 10 searches each day are free on our key, with nothing to paste. Paste your own RapidAPI key once on the /connect page when you want that cap gone, and nothing goes in your client config either way. In a client that shows no Sign in button, bring the key yourself:
claude mcp add --transport http google-flights https://flights.flightpowers.com/mcp --header "x-rapidapi-key: YOUR_RAPIDAPI_KEY"
Same URL, both times. A request carrying a credential of any kind is served; a request carrying nothing at all is answered 401 with the OAuth metadata, which is what makes the Sign in button appear. https://flights.flightpowers.com/mcp/oauth is still live and demands the sign-in on the first request, for clients whose auth mode is fixed when a server is added.
Hosted. Nothing to clone, nothing to build. Listed in the official MCP Registry as com.flightpowers/google-flights-mcp. Health check: /health.
No key yet? You do not need one to start. Add the URL above, sign in with Google, and the first 10 searches each UTC day run on our key, with nothing to paste. The exact unit counted is in Try it with no key.
Need a key? Subscribe to the Google Flights Live API on RapidAPI, free tier available, and copy your x-rapidapi-key: https://rapidapi.com/mtnrabi/api/google-flights-live-api
Want more free searches than that, and do not mind ads? There is a separate free, ad-supported server: claude mcp add --transport http google-flights-free https://free-trial.flightpowers.com/mcp (50 searches a day and 250 a month per signed-in account, one disclosed sponsored card per result, fan-out capped at 15, and clients that cannot render the sponsored card may be capped further.) Come back here when the ads, the 15-search cap, or those client restrictions get in your way.
Two tools that answer a *fare question*, not a *date lookup*.
nights value instead of a fixed return date, and expand them internally.price_insights_low, price_insights_high, and a price_range_in_relation_to_other_periods verdict of low / typical / high. That is what lets an agent answer "$209 is typical here, don't rush" instead of just quoting a number.buy_link to Google Flights.api_usage: requests used by this call, and what is left on the caller's plan. See Spend reporting.search_coverage, so the model can say honestly which dates and destinations the answer is based on.Results are live fares. They go stale within minutes: when you need a current price, search again rather than reusing an earlier result, and state when the data was fetched.
A signed-in account gets 10 free searches per UTC day on our key, with nothing to paste into your client. Sign in the way your client offers it, or at https://flights.flightpowers.com/connect, and ask for a fare. Ten is what the hosted deployment runs today; /health reports the live values as trial_enabled and trial_day_cap and is the number to trust. (The allowance is off by default in this code and needs both PAID_TRIAL_DAY_CAP and PAID_TRIAL_RAPIDAPI_KEY set on purpose, so a deployment you run yourself has none until you configure one.)
A search is one date x destination combination, so one call with a three-day range spends three. The allowance is held for the whole plan before the first request goes out and whatever the fan-out did not send is given straight back, so two calls at once cannot both spend it. Every result carries a trial block with the count and the cap. Past the cap the tools answer with search_status: "trial_exhausted" and no results -- never an error, and retrying does not help; the allowance renews at 00:00 UTC.
A free search is capped by what is left of the day: a range or grid larger than that (a whole month at three trip lengths is 93 searches) is refused before anything runs, with the counts and a smaller question to ask instead. With your own key the cap rises by itself to cover a month-sized request. Comparing several sources in one call (compare_hotel_rates, on a deployment that enables it) is not part of the allowance and asks for your own key.
Connecting your own RapidAPI key removes the cap entirely. That is the next section.
The server holds no upstream credential of its own. Every search beyond the free allowance is billed to *your* RapidAPI subscription, which is why the key travels with the request.
x-rapidapi-key.If a key is missing and the allowance is not available to you, the tools do not fail silently and do not spend anything. They return needs_api_key: true with the signup URL and these instructions, phrased for the model to read back to you.
| Way | How | When to use it |
|---|---|---|
| Header (preferred) | --header "x-rapidapi-key: YOUR_RAPIDAPI_KEY" | Anything that lets you set headers. Keys stay out of URLs, and therefore out of proxy and access logs. |
| Query parameter | https://google-flights-mcp.flightpowers.com/mcp?rapidapi_key=YOUR_RAPIDAPI_KEY | Hosts that only let you paste a URL: claude.ai's custom-connector dialog is the case that matters. |
| Client API-key field | Paste the key into the client's own "API key" box | Hosts that send authorization: Bearer or x-api-key. Smithery's saved-config form (config.rapidApiKey=) is also accepted. |
First non-empty source wins, in that order. The key is never logged, never echoed into an error message, and never returned in a tool response.
/connectThis is the page the sign-in URL at the top of this README sends you to. A client that speaks MCP authorization walks you through it on its own; the steps below are the same thing done by hand.
Where a deployment has it enabled (check connect_enabled on /health), there is a page at /connect that replaces all of the above with a sign-in:
…/mcp?fp_token=fpk_…, and use that as the server URL in your MCP client. Clients that let you set headers can send the same token as Authorization: Bearer fpk_… instead. (It is hidden until you ask for it: that URL is a 90-day bearer credential for your plan, and a page that prints one by default puts it in every screenshot and screen share.)If your client signed you in itself -- Claude, Cursor, ChatGPT and anything else that speaks MCP authorization -- there is no URL to copy. /connect says so: it shows the key you connected and tells you to go back to your assistant. There is a link on it for the case where a second client cannot sign in and does need a connect URL.
What that buys you: your RapidAPI key is not in your client config, not in a URL, and not in whatever logs that URL passes through. What it costs: the server stores your key, encrypted, and knows your Google account id and email address. Disconnect on the same page deletes the record and kills every connect token for your account, immediately. The full description is section 2a of the privacy policy.
Some details worth knowing:
x-rapidapi-key header (or any of the other channels above) *and* carry a connect token, the request's own key is used. Nothing you already have set up changes behaviour because you signed in.needs_api_key reply telling you to reconnect. It never falls back to somebody else's subscription and never spends anything./connect on your own deploymentOff unless all four of these are set. A half-configured deployment registers none of the routes and serves keyed callers exactly as before; /health reports connect_enabled so that is visible rather than guessed.
| Variable | What it is |
|---|---|
GOOGLE_OAUTH_CLIENT_ID | Google Cloud Console → Credentials → OAuth client ID, type Web application. Ends .apps.googleusercontent.com. |
GOOGLE_OAUTH_CLIENT_SECRET | The same client's secret (GOCSPX-…). |
MCP_KEY_MASTER | 32 bytes, base64: openssl rand -base64 32. Encrypts stored keys (AES-256-GCM) and derives the cookie and token signing keys. |
DATABASE_URL | Neon Postgres, pooled endpoint (…-pooler…). Schema: migrations/001_mcp_user_keys.sql. |
Optional: MCP_CONNECT_VALIDATE=0 stores a pasted key without checking it first.
Authorised redirect URIs to register on the Google client, one per product origin, exactly:
https://google-flights只显示了开头部分;其余内容请在仓库中阅读