mcpField
H
HasData Google Flights Deals

HasData Google Flights Deals

远程服务
hasdata.com地图与出行02 周前更新

关于 HasData Google Flights Deals

HasData Google Flights Deals 是托管的 MCP 服务,可将自然语言旅行描述转换为带日期的航班优惠和预订链接。适合仍在构思目的地与出行时间的旅行规划者,并返回票价、航司、经停等结构化信息。

主要功能

  1. 01以自然语言描述行程
  2. 02返回日期、票价和典型价格
  3. 03显示航司、经停与航程信息
  4. 04提供 Google Flights 预订链接
  5. 05通过资源读取筛选参数选项

适用场景

  1. 01从出发机场探索旅行目的地
  2. 02比较不同出发机场的航班优惠
  3. 03查找指定目的地和舱位的票价
  4. 04按日期窗口探索行程

MCP 相关

该远程 MCP 服务向 MCP 客户端提供航班优惠查询工具,以及筛选参数选项资源。客户端通过 HTTP 连接,并使用 HasData API key 验证。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://mcp.hasdata.com/mcp?apis=google_travel_flights_deals
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

全部服务地址
Streamable HTTPhttps://mcp.hasdata.com/mcp?apis=google_travel_flights_deals需要授权
安装包
npm@hasdata/google-flights-deals-mcp1.0.0
pypihasdata-google-flights-deals-mcp1.0.0

工具

2
参数类型必填说明
petsnumber否宠物数量。
neLatnumber否地图边界框东北角的纬度。提供全部四个边界框坐标后,将在框内搜索房源,而不是按位置搜索。
neLngnumber否地图边界框东北角的经度。
swLatnumber否地图边界框西南角的纬度。
swLngnumber否地图边界框西南角的经度。
adultsnumber否成人数量。
checkInstring是房源的入住日期。
infantsnumber否婴幼儿数量。
checkOutstring否房源的退房日期。
childrennumber否子女数量。
locationstring否用于搜索房源的地点。除非提供完整地图边界框(neLat、neLng、swLat、swLng),否则必填。
nextPageTokenstring否用于获取下一页结果的令牌。

详细介绍

Google Flights Deals MCP Server

一个托管式模型上下文协议(MCP)服务,为 Claude、Cursor、Windsurf 及任何其他 MCP 客户端提供一个 Google Flights Deals 工具。用通俗语言描述一次旅行,例如“日本樱花”或“海滩度假”,即可获取从一个出发机场出发的带日期票价、典型价格、航空公司、经停次数和预订链接,并以结构化 JSON 返回。

每月免费获得 1,000 点额度,无需信用卡,约可进行 66 次搜索。

https://mcp.hasdata.com/mcp?apis=google_travel_flights_deals

Glama score tool contract MCP Tools

目录

所需条件

一个 MCP 客户端和一个 HasData API 密钥,可在控制面板免费创建,无需信用卡;免费套餐按每次调用 15 点额度计算,每月约可调用 66 次。这是一个远程服务,因此最简单的接入方式是使用 URL 和 x-api-key 请求头,无需运行容器,整个流程也不需要 Google 账号。仅支持 stdio 的客户端可通过轻量启动器连接该服务;启动器发布在 npm 上,名称为 @hasdata/google-flights-deals-mcp,在 PyPI 上的名称为 hasdata-google-flights-deals-mcp,如下所示。

快速开始

所有客户端使用相同的服务 URL。我们已在 Claude Code 和 Claude Desktop 中实际运行。其他代码块则遵循各客户端关于远程服务的官方格式。

字段值
URLhttps://mcp.hasdata.com/mcp?apis=google_travel_flights_deals
传输方式HTTP,可流式传输
身份验证请求头x-api-key: HASDATA_API_KEY

支持 OAuth 的客户端可以将同一 URL 添加为连接器,并登录使用,无需将密钥写入配置文件。

Claude Code
claude mcp add --transport http google-flights-deals "https://mcp.hasdata.com/mcp?apis=google_travel_flights_deals" \
  --header "x-api-key: HASDATA_API_KEY"
Claude Desktop
{
  "mcpServers": {
    "google-flights-deals": {
      "type": "http",
      "url": "https://mcp.hasdata.com/mcp?apis=google_travel_flights_deals",
      "headers": { "x-api-key": "HASDATA_API_KEY" }
    }
  }
}
Cursor
{
  "mcpServers": {
    "google-flights-deals": {
      "type": "streamable-http",
      "url": "https://mcp.hasdata.com/mcp?apis=google_travel_flights_deals",
      "headers": { "x-api-key": "HASDATA_API_KEY" }
    }
  }
}
VS Code
{
  "servers": {
    "google-flights-deals": {
      "type": "http",
      "url": "https://mcp.hasdata.com/mcp?apis=google_travel_flights_deals",
      "headers": { "x-api-key": "HASDATA_API_KEY" }
    }
  }
}
## 示例提示词

提示词,而非代码。粘贴一条提示词,Agent 就会自行选择工具。每条提示词都标注了所需的调用次数,因为每次成功调用都会消耗 15 个点数。

我想去日本看樱花,从 LAX 出发。哪些日期最便宜?

一次调用,15 个点数。Google 会根据描述选择目的地和日期范围。

2 月从伦敦出发去海滩度假,价格不超过 600 英镑,只要直飞。

一次调用,15 个点数。价格上限和经停筛选条件都需要通过 arrivalId 固定目的地,因此 Agent 必须指定目的地或移除筛选条件。

同样的行程,但目的地指定为东京,十天,商务舱。

一次调用,15 个点数。设置 arrivalId 后,就可以指定行程时长和舱位。

比较从 LAX 和 JFK 出发的赏樱行程。

两次调用,30 个点数。每次调用只能指定一个出发地。

工具

工具返回内容
hasdata_google_travel_flights_deals_getGoogleFlightsDeals带日期的优惠信息,包括票价、该航线的常见价格、飞行时长、行程时长、经停次数、承运航空公司、机场和 Google Flights 预订链接,以及 Google 根据查询推导出的目的地和日期范围。每次调用消耗 15 个点数

一个工具,每次成功调用消耗 15 个点数。

查找机票优惠

hasdata_google_travel_flights_deals_getGoogleFlightsDeals

参数类型必填说明
qstring是自由格式的行程描述,可以是单独的地名,也可以是完整句子
departureIdstring是出发地,使用三字母大写 IATA 代码,例如 LAX
arrivalIdstring固定目的地,而不是让 Google 自行选择。以下所有筛选条件都需要此参数
typestringroundTrip(默认)或 oneWay
travelClassstringeconomy、premiumEconomy、business 或 first
outboundDatestring确切日期,或使用 2026-12-01,2026-12-10 表示日期范围
returnDatestring格式与 outboundDate 相同,且必须与之同时提供
travelDurationstring预设时长:week、weekend 或 twoWeeks
tripLengthstring行程天数,不能与 returnDate 或 travelDuration 同时使用
stopsstringnonStop、oneStopOrFewer 或 twoStopsOrFewer
maxDurationnumber每段航班的时长上限,单位为分钟
maxPricenumber价格上限,币种与请求中的币种相同
includeAirlines / excludeAirlinesstring两者只能选其一,不能同时使用

筛选条件是需要正确处理的关键。所有筛选条件都需要 arrivalId。 如果提示词要求直飞且价格不超过上限,同时又让 Google 选择目的地,那么这两个要求无法同时满足;API 会返回 422 错误,并指出冲突的参数对。固定目的地或移除筛选条件。

searchInformation 会报告 Google 对查询的解读:完整的 departure 机场信息,包括所在城市和坐标、确定的 dateRange、找到的 priceRange 和涉及的 airlines。

{
  "searchInformation": {
    "query": "cherry blossom in Japan",
    "departure": { "airport": "LAX", "city": "Los Angeles", "country": "United States" },
    "dateRange": { "from": "2027-03-01", "to": "2027-04-30" }
  },
  "flightDeals": [
    {
      "outboundDate": "2027-03-01",
      "returnDate": "2027-03-08",
      "price": { "value": 960, "currency": "USD" },
      "typicalPrice": { "value": 1335, "currency": "USD" },
      "discountPercent": 28,
      "durationMinutes": 1320,
      "tripLengthDays": 7,
      "stops": 1,
      "airlineCode": "CX",
      "airline": "Cathay Pacific",
      "multipleAirlines": false,
      "departureAirport": "LAX",
      "arrivalAirport": "HIJ",
      "destination": { "city": "Hiroshima", "country": "Japan", "highlight": "Peace Park Memorial & Shukkei-en garden" },
      "bookingLink": "https://www.google.com/travel/flights?tfs=…"
    }
  ]
}

提示词和资源

该服务公开了 7 个资源,每个资源对应一个取值范围固定的参数。读取资源比从被拒绝的调用中摸清可用值更省事,而且不消耗积分。每个 URI 的格式都是 hasdata://google_travel_flights_deals/<parameter>。

参数取值数量选择内容
type4航班类型。需要 arrivalId。- 1 / roundTrip — 往返(默认)- 2 / oneWay — 单程 单程优惠不包含 returnDate 和 tripLengthDays。
travelClass8舱位等级。需要 arrivalId。- 1 / economy — 经济舱(默认)- 2 / premiumEconomy — 超级经济舱 - 3 / business — 商务舱 - 4 / first — 头等舱 票价涨幅很大:同一次 LAX-NRT 搜索中,经济舱为 $730,商务舱为 $2882。
travelDuration6预设行程时长。需要 arrivalId。不能与 returnDate 或 tripLength 同时使用。- 1 / week — 约一周(6-8 天)- 2 / weekend — 周末(2-3 天)- 3 / twoWeeks — 约两周(13-15 天)与 outboundDate 搭配使用可限制出发日期范围。若 type 为 oneWay,则会被忽略。
stops6中转次数上限。需要 arrivalId。省略时允许任意中转次数。- 1 / nonStop — 仅直飞 - 2 / oneStopOrFewer — 最多中转一次 - 3 / twoStopsOrFewer — 最多中转两次 如果某条航线在该中转次数范围内没有航班,返回的是空的 flightDeals 数组,而不是错误 — 对于没有直飞航班的航线,nonStop 会返回有效的空结果。
gl245用于限制搜索范围的国家/地区两字母代码。
hl159搜索所用语言的两字母代码。
currency71此参数定义返回价格所用的货币。

此列表无需 API 密钥即可获取,因此客户端可以在用户注册之前读取。

错误和失败路径

工具调用几乎不会向客户端返回 HTTP 错误代码。MCP 层会返回 200,并将失败信息放在结果中,设置 isError 为 true,并以文本说明原因。

discountPercent 是例外,而非常态。 在 2026-10-05 测量的 351 个优惠中,该字段仅出现在 109 个优惠里。该字段存在时,其值与 price 和 typicalPrice 之间的差额相符,误差不超过一个舍入单位;该字段缺失时,差额为 4% 到 15%,因此 Google 似乎只会在超过其内部阈值时发布此字段。每个优惠都有 typicalPrice,因此应自行计算差价,而不是因为缺少该键就报告“无折扣”。

airline 和 airlineCode 会同时缺失。 同一组样本中,269 个优惠列出了航空公司,82 个没有,比例恰好对应 multipleAirlines 标志:每个将其设为 true 的优惠都省略了这两个字段,而未设置该标志的优惠则都有这两个字段。报告航空公司之前应先检查此标志;若有多家航空公司,应写“多家航空公司”,而不是留空。

没有 arrivalId 的筛选条件会在执行前被拒绝。 API 会返回 422,且 rule: "requiredIfExists" 会同时列出 arrivalId 和触发错误的筛选条件,并且不会扣费。所有十一种筛选条件都会如此处理,因此此类失败会明确报错,且不会造成损失。

除非你指定日期,否则日期由 Google 决定。 searchInformation.dateRange 是实际搜索的日期范围,可能距离今天有几个月。展示价格时应注明该日期范围,因为明年三月的票价不等于下个月的票价。

每次成功调用都会从已连接的账户扣除积分。根据调用前后读取余额的结果,无论是验证导致的 422,还是上游返回的 400,都不会扣费。

定价、免费额度和限制

Google Flights Deals 工具每次成功调用需 15 个积分,与 Google Flights API 相同。返回的优惠数量不会影响价格。

免费额度为每月 1,000 个积分,无需绑定银行卡,约可搜索 66 次。

付费方案起价为每月 $59,含 200,000 个积分,约可搜索 13,000 次。购买更大额度的方案时,单价会更低。当前价格请查看方案页面。

对比

Google Flights API此服务
输入出发地、目的地和日期一句话,目的地可选
谁来选择目的地你Google 根据描述选择
谁来选择日期你Google,除非你指定日期
最适合已经确定行程的旅行还在构思中的旅行

两者相辅相成,而非相互竞争。先用此服务查找目的地和出行时间,再在确定行程后使用 Google Flights API 为行程查询价格。

常见问题

我需要 Google 账号吗?

不需要。唯一需要的凭据是你的 HasData 密钥。

为什么我的筛选条件被忽略了?

最有可能的原因是请求中没有传入 arrivalId。此工具的所有筛选条件都需要指定目的地,即使省略该参数,请求仍会成功。

我可以同时搜索多个出发地吗?

不可以。departureId 只接受一个机场,因此比较不同出发地需要分别调用一次。

它会搜索多长时间后的航班?

搜索范围由 Google 根据查询内容决定。请查看 searchInformation.dateRange,不要假设它只涵盖接下来几周。

HasData 与 Google 有关联吗?

没有。HasData 是独立的网络数据提供商,与 Google 无关联,也未获其认可或赞助。所有商标均归其所有者所有。

合规与个人数据

此服务读取 Google Flights 公开的优惠界面。它不处理乘客数据,也不会预订任何行程。

HasData 链接

产品页面和请求构建器Google Flights API
端点文档Google Flights Deals API docs
服务文档MCP server docs
一个服务包含所有工具HasData/hasdata-mcp
客户端使用指南MCP clients and integrations
方案与积分费用Plans and credit costs

开发

npm install
npm test

test/ 中的测试会验证工具契约,也就是此处无需提交代码就可能发生变化的部分。测试会检查 ?apis=google_travel_flights_deals 是否返回唯一预期工具、工具名称和必需参数是否保持不变、工具是否带有描述,以及实际搜索是否仍会返回包含文档所述字段的 flightDeals。

贡献

上方的参数表和示例取自实时架构和实际调用,而非文档。如果字段或故障模式发生变化,欢迎提出修正。请提交 issue,并附上你看到的响应。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。