关于 Google Flights
用于搜索 Google Flights 票价和航班时刻的 MCP 服务,支持灵活日期查询和机场代码查找。默认数据源无需 API 密钥,也可选用 SerpApi 获取更多航班详情。
主要功能
- 01搜索票价和航班时刻
- 02查找最低价出行日期
- 03将机场名称转换为 IATA 代码
- 04在两种数据源间选择
适用场景
- 01比较行程的航班选项
- 02查找日期范围内的低价出行日
- 03将城市或机场名称转换为代码
MCP 相关
向 MCP 客户端提供航班搜索、最低价日期查询和机场搜索工具,也可通过 HTTP 为远程连接器运行。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
3收录的工具列表 · 更新于 1 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| adults | integer | 否 | |
| origin | string | 否 | |
| infants | integer | 否 | |
| sort_by | enum | 否 | price | duration |
| children | integer | 否 | |
| currency | string | 否 | |
| max_stops | any | 否 | |
| cabin_class | enum | 否 | economy | premium | business | first |
| destination | string | 是 | |
| return_date | any | 否 | |
| departure_date | string | 是 |
详细介绍
google-flights-mcp
用于从 Claude 搜索 Google Flights 价格和时刻表的 MCP 服务。
同一接口(google_flights_mcp/providers/base.py)下有两种可互换的数据源:
fast-flights(默认)——直接抓取 Google Flights 的内部 protobuf 搜索 API。无需 API 密钥,开箱即用。- SerpApi——设置
SERPAPI_KEY环境变量后自动使用。可提供航班号、中转详情和碳排放信息。
工具
search_flights——origin(默认值为LIS)、destination、departure_date、可选的return_date、乘客人数、cabin_class、currency(默认值为EUR)、max_stops、sort_by。返回按价格排序的列表:价格、航空公司、出发/抵达时间、时长、中转次数,以及 Google Flights 链接。cheapest_dates——指定日期范围内最便宜的出行日(最多 21 天),采用价格日历样式。每天执行一次搜索——详见下方“已知限制”。airport_search——将城市或机场名称(“Lisbon”)转换为 IATA 代码(LIS),数据由离线airportsdata软件包提供。
已知限制
- 往返行程:对于包含
return_date的搜索,两个数据源都会返回去程航班选项,并附上预估往返总价(与最便宜的匹配返程航班配对),而不是单独定价的返程航段。stops/duration/legs仅描述去程航班。打开结果中的booking_link,即可在 Google Flights 上选择具体返程航班。 cheapest_dates:fast-flights和 SerpApi 的 Google Flights 引擎都没有提供真正的批量价格日历接口,因此此工具会针对每个候选日期执行一次search_flights调用。日期范围最多为 21 天,以限制调用次数。- 欧盟/英国 Cookie 同意拦截页:来自这些地区的请求会先遇到 Google 的 Cookie 同意中间页,之后才会返回真实结果。
fast-flights数据源能够检测到这一情况,并在重试前自动提交“全部拒绝”(保护隐私的选项)——如果 Google 方面有变更导致此功能需要更新,请参阅providers/fast_flights_provider.py。
安装
最快方式(需要 uv):无需克隆,可直接从 PyPI 运行。
claude mcp add google-flights -- uvx google-flights-search-mcp
对于 Claude Desktop,请使用 "command": "uvx", "args": ["google-flights-search-mcp"]。
从源代码安装:
需要 Python 3.11+ 和 uv。
git clone https://github.com/ThiagoJacobLannes/google-flights-mcp
cd google-flights-mcp
uv sync --extra dev
在 Windows 上,如果代码存放在云同步文件夹(Google Drive、OneDrive)中,请在该文件夹之外创建虚拟环境——同步客户端会在文件夹中放入 desktop.ini 标记文件,这可能导致软件包启动时崩溃:
uv venv C:\dev\google-flights-mcp-venv
uv pip install --python C:\dev\google-flights-mcp-venv -e ".[dev]"
下方的命令路径假定虚拟环境位于该位置;请根据实际位置进行调整。
添加到 Claude Desktop
将 claude_desktop_config.snippet.json 合并到 Claude Desktop 配置文件(%APPDATA%\Claude\claude_desktop_config.json)中:
{
"mcpServers": {
"google-flights": {
"command": "C:\\dev\\google-flights-mcp-venv\\Scripts\\python.exe",
"args": ["-m", "google_flights_mcp.server"]
}
}
}
编辑后重启 Claude Desktop。若要改用 SerpApi 而非默认抓取器,请添加 env 配置块:
{
"mcpServers": {
"google-flights": {
"command": "C:\\dev\\google-flights-mcp-venv\\Scripts\\python.exe",
"args": ["-m", "google_flights_mcp.server"],
"env": { "SERPAPI_KEY": "your-serpapi-key" }
}
}
}
请前往 serpapi.com 获取密钥(提供免费套餐)。
其他环境变量:GOOGLE_FLIGHTS_DEFAULT_ORIGIN(默认值为 LIS)、GOOGLE_FLIGHTS_DEFAULT_CURRENCY(默认值为 EUR)。
通过 HTTP 运行(用于远程连接器)
C:\dev\google-flights-mcp-venv\Scripts\python.exe -m google_flights_mcp.server --http
或者设置 MCP_TRANSPORT=streamable-http。使用 MCP_HOST(默认值为 127.0.0.1)和 MCP_PORT(默认值为 8000)配置绑定地址;服务会在 http://<host>:<port>/mcp 上监听。在将其暴露到 localhost 之外之前,请先将其置于你用于其他远程连接器的反向代理/身份验证机制之后。
冒烟测试
实际网络调用(不使用模拟)——搜索约一个月后的 LIS → GRU 航班:
C:\dev\google-flights-mcp-venv\Scripts\python.exe tools\google-flights-mcp\examples\smoke_test.py
测试
C:\dev\google-flights-mcp-venv\Scripts\python.exe -m pytest tools\google-flights-mcp\tests
这些是针对数据源抽象层的单元测试(工厂选择、乘客人数验证、共享的 cheapest_dates 按日循环、机场解析)——无需网络访问。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。