关于 Viajante
Viajante 是本地运行的航班和酒店搜索工具,适用于命令行用户、Python 开发者和 AI 助手。它从旅行网站获取报价与行程详情;未知信息会保持未知,不会自行补出。
主要功能
- 01按日期和航线搜索航班
- 02搜索酒店与房价
- 03比较机票和酒店组合行程
- 04重新核验报价并验证行程
- 05可选记录和监控价格
适用场景
- 01比较日期范围内的票价
- 02查找带取消条款的住宿
- 03依据搜索结果核对拟定行程
- 04跟踪已保存搜索的价格变化
MCP 相关
MCP 服务提供 22 个航班、酒店、行程、机场和价格查询工具。支持 stdio 或 Streamable HTTP;HTTP 传输没有身份验证,应仅绑定本机回环地址。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
它会直接读取 Google Flights、Google Hotels 和 Booking.com;选择启用后,也会读取 Skiplagged。它会返回价格、行程详情和链接,并如实报告服务提供方返回的内容,以及未知的信息;绝不会捏造票价。
快速开始
需要 Python 3.10+。
pip install viajante
viajante flights JFK-LHR:2026-11-15 --fetch sweep
viajante hotels London 2026-11-15 2026-11-20 --currency GBP --source google
请使用未来日期。不确定机场代码?运行 viajante airports london。
不想安装?可以运行 uvx --from viajante viajante airports JFK,或
npx -y -p @viajante/mcp viajante airports JFK(两者都需要 uv)。
这些搜索使用普通 HTTP。Booking.com 和 --fetch detail 需要
浏览器扩展。
连接 AI 助手
将以下内容添加到助手的 MCP 配置中(需要
uv 和 Python 3.10+):
{
"mcpServers": {
"viajante": {
"command": "npx",
"args": ["-y", "@viajante/mcp"]
}
}
}
无需 Node 时,使用 "command": "uvx" 和
"args": ["--from", "viajante[mcp]", "viajante-mcp"]。这涵盖了 Google
Flights 和 Hotels,且无需 Chromium。npm 条目还包含浏览器附加组件,这是 search_explore 所需的。
然后用自然语言提出请求:
查找 BOS 到 LHR 的七晚往返行程,出发日期为 2026 年 11 月的任意一天。比较不同日期。
东京酒店,11 月 12 日至 16 日,两位成人,可免费取消,使用 JPY。
除 lookup_airports 外,每个工具结果都包含一个信封:status、
completeness、empty_reason、retry_after、observed_at。只有
empty_reason: provider_empty 才表示服务提供方没有找到结果。只接受 URL 的客户端可以使用 viajante-mcp --transport streamable-http;它没有身份验证,因此请将其限制在环回地址上(详情)。
全部 22 个 MCP 工具
| 工具 | 功能 |
|---|---|
search_flights | 单程、往返或多城市航班 |
search_dates | 指定时间范围内每个出发日期的最低票价 |
search_flex | 搜索目标日期前后的日期,再查询最便宜日期的航班 |
search_explore | 搜索从出发地出发的目的地,并提供带价格的精选列表 |
search_hotels | 搜索住宿,并显示整个住宿期间的价格和取消条款 |
search_hotel_rooms | 查询指定酒店在 Skiplagged 上的客房价格 |
get_hotel_details | 获取本次会话中的酒店优惠,可选附带客房报价 |
search_trip | 同时搜索航班和酒店,并在条件兼容时计算总价 |
search_split_tickets | 可选搜索分别出票的行程(转机保障不受保护) |
search_hidden_city | 可选搜索 Skiplagged 隐藏城市票价 |
recheck_offer | 重新搜索一次,以复核之前的优惠 |
validate_itinerary | 根据搜索证据检查拟定的行程 |
compare_awards | 计算指定奖励优惠的每点价值(美分) |
lookup_transfers | 积分转移合作伙伴表 |
lookup_airports | 离线查询机场和都市区代码 |
plan_stay_blocks | 按同一批入住人员分组连续住宿晚数 |
split_stay_costs | 按实际入住人员分摊住宿总费用 |
verify_answer | 标记搜索结果中未出现的金额、代码、日期或链接 |
price_history | 查询本机为某个搜索记录的价格(可选) |
watch_price | 重新运行已保存的搜索并报告价格变化 |
get_runtime_info | 离线查看已安装版本 |
get_guide | 详细操作指南 |
命令行
运行 viajante <command> --help 查看选项。添加 --save FILE 可写入 JSON 报告。
| 命令 | 用途 |
|---|---|
flights | 查询指定航线和日期(设置 N 时,--nearby-days 会比较前后 ±N 天;--split-tickets 为可选项) |
dates | 在最长 31 天的时间范围内查找最低价出发日期 |
flex | 查询目标日期前后几天 |
explore | 搜索从某机场出发的目的地 |
hotels、hotel-rooms | Google Hotels、Booking.com 或 Skiplagged |
trip | 在一次请求中查询航班和酒店住宿 |
recheck-offer | 使用新搜索复核已保存的优惠 |
airports | 查找机场代码 |
hidden-city、awards、points | Skiplagged 票价、奖励价值、积分转移合作伙伴 |
history、watch | 已记录的价格和已保存的重新搜索(可选) |
feedback | 打开预填内容的 GitHub 问题(viajante 本身不会发送任何内容) |
viajante dates BOS-LHR --from 2026-11-01 --to 2026-11-30 --nights 7
Python
from viajante import get_flights
report = get_flights("JFK-LHR:2026-11-15", fetch="sweep", top=5)
for result in report.queries:
if result.status == "ok":
for offer in result.offers:
print(offer.price, report.currency, offer.airline, offer.duration)
else:
print(result.error)
FlightQuery、HotelQuery 和 search_* 函数也已导出;
请参阅 Python 示例。
可选的浏览器支持
pip install 'viajante[browser]'
playwright install chromium
使用 uvx 时,在 --from 中指定 viajante[mcp,browser],并从同一环境安装 Chromium。
需要了解的信息
- 货币。 取自
--currency,或取自具名出发机场所在的国家。酒店查询始终需要指定货币。Viajante 不会进行货币兑换。 - 行李。
--carry-on会请求 Google 为一件随身行李报价。拒绝托运行李(--bags),因为没有交通方式可以核实。--baggage-buffer只影响排名,并非报价费用。 - 酒店。 价格为整个住宿期间的总价。除非选择退出,否则必须支持免费取消。Google 的评分范围为 0–5,Booking.com 的评分范围为 0–10。
- 推荐。 航班结果可能包含简短的
recommendation区块。该区块会添加到报价列表中,不会取代报价列表。 - 价格水平。 航班结果可能包含 Google 自己的价格水平(
low、typical或high),取自已获取的结果页面。这是 Google 根据该价格相对于典型范围给出的标签。--price-history会添加页面上的价格历史记录。不会额外发起请求。 - 未知信息保持未知。 缺失字段会被省略或标记为未知。
旅游网站可能随时更改页面、屏蔽请求并更新价格。预订前,请向服务提供方确认最终票价、行李费用、酒店总价和取消条款。
贡献
欢迎提交错误报告和有针对性的拉取请求;请参阅 CONTRIBUTING.md。
许可证
MIT。这是一个独立项目,与 Google、Booking.com 或任何航空公司均无关联。使用这些服务须遵守其条款: Google、 Booking.com。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。