Viajante

io.github.felipebasurto由 GitHub 账号 felipebasurto 发布v1.5.5更新于 Nov 5, 2026

Flight and hotel search for the terminal, Python, and AI assistants.

概览

AI 生成的概览

本地 MCP 服务器,让助手搜索航班与酒店、比较日期和目的地,并从 Google Flights、Google Hotels 和 Booking.com 获取价格。

可以做什么
  • 搜索航班:单程、往返、多城市、区间内最便宜日期、弹性日期以及从出发地探索目的地
  • 搜索住宿:含整段住宿总价与取消条款的酒店报价、房型价格,以及机票加酒店的合并行程
  • 复核与校验:重新核查先前报价、校验拟定行程、标出搜索未返回的金额或链接,并比较里程兑换价值与转点伙伴
  • 规划与追踪:分摊住宿费用、按同住人合并连续夜晚、离线查询机场代码,并可选记录价格历史或监控已保存的搜索
适用场景
适合让助手调研机票与住宿选项、比较日期或周边目的地,并让数字始终对应供应商实际返回的结果。做行程规划时,可在一处获得价格、行程详情和链接。
运行要求
以 stdio 在本地运行;需要 Python 3.10+,以及 Node.js(npm 包)或 uv(uvx)。Booking.com 与详细抓取需要可选的浏览器扩展及 Playwright Chromium。未声明需要 API 密钥或账号。
安装前请注意
它直接读取旅行网站,页面可能变动、拦截请求或价格随时更新;预订前请向供应商确认最终票价、行李、酒店总价与取消条款。拆分机票、隐藏城市票价和 Skiplagged 等需主动开启的模式各有风险。可选的 streamable-HTTP 传输没有身份验证,应仅限本机回环地址。价格历史与监控为可选功能,数据保存在本机。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Viajante,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

[Viajante: flight and hotel search for your terminal, Python, and AI assistants. Runs on your machine, no API keys.]

It reads Google Flights, Google Hotels, and Booking.com directly, and Skiplagged when you opt in. It returns prices, itinerary details, and links. It reports what the provider returned and says so when something is unknown; it never invents a fare.

Quick start

Requires Python 3.10+.

bash
pip install viajante
viajante flights JFK-LHR:2026-11-15 --fetch sweepviajante hotels London 2026-11-15 2026-11-20 --currency GBP --source google

Use future dates. Not sure of a code? viajante airports london.

Prefer not to install? uvx --from viajante viajante airports JFK, or npx -y -p @viajante/mcp viajante airports JFK (both need uv).

These searches use plain HTTP. Booking.com and --fetch detail need the browser extra.

Connect an AI assistant

Add this to your assistant's MCP configuration (needs uv and Python 3.10+):

json
{  "mcpServers": {    "viajante": {      "command": "npx",      "args": ["-y", "@viajante/mcp"]    }  }}

Without Node, use "command": "uvx" with "args": ["--from", "viajante[mcp]", "viajante-mcp"]. That covers Google Flights and Hotels with no Chromium. The npm entry also includes the browser extra, which search_explore needs.

Then ask in plain language:

Find a seven-night round trip from BOS to LHR, departing any day in November 2026. Compare the dates.

Hotels in Tokyo, November 12 to 16, two adults, free cancellation, in JPY.

Every tool result (except lookup_airports) carries one envelope: status, completeness, empty_reason, retry_after, observed_at. Only empty_reason: provider_empty means the provider found nothing. A client that only takes a URL can use viajante-mcp --transport streamable-http; it has no auth, so keep it on loopback (details).

All 22 MCP tools
ToolWhat it does
search_flightsOne-way, round-trip, or multi-city flights
search_datesCheapest fare per departure date in a window
search_flexDates around a target, then flights for the cheapest day
search_exploreDestinations from an origin, with a priced shortlist
search_hotelsStays with total-stay prices and cancellation terms
search_hotel_roomsSkiplagged room rates for one named hotel
get_hotel_detailsA hotel offer from this session, plus an optional room quote
search_tripFlights and hotel together, summed when compatible
search_split_ticketsOpt-in separately ticketed itineraries (connections not protected)
search_hidden_cityOpt-in Skiplagged hidden-city fares
recheck_offerOne fresh search to re-check an earlier offer
validate_itineraryCheck a proposed itinerary against search evidence
compare_awardsCents-per-point math for a named award offer
lookup_transfersPoints transfer-partner table
lookup_airportsAirport and metro codes, offline
plan_stay_blocksGroup consecutive nights with the same people
split_stay_costsSplit stay totals among who slept there
verify_answerFlag amounts, codes, dates, or links no search returned
price_historyPrices this machine recorded for a query (opt-in)
watch_priceRe-run a saved search and report the change
get_runtime_infoInstalled version, offline
get_guideLong operational guide

Command line

Run viajante <command> --help for options. Add --save FILE to write a JSON report.

CommandPurpose
flightsSpecific routes and dates (--nearby-days compares ±N days when N is set; --split-tickets is opt-in)
datesCheapest departure day across a window of up to 31 days
flexA few days either side of a target date
exploreDestinations from an origin airport
hotels, hotel-roomsGoogle Hotels, Booking.com, or Skiplagged
tripFlights and a hotel stay in one request
recheck-offerRe-check a saved offer against a fresh search
airportsFind airport codes
hidden-city, awards, pointsSkiplagged fares, award value, transfer partners
history, watchRecorded prices and saved re-runs (opt-in)
feedbackOpen a prefilled GitHub issue (viajante sends nothing itself)
bash
viajante dates BOS-LHR --from 2026-11-01 --to 2026-11-30 --nights 7

Python

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, and the search_* functions are exported too; see the Python examples.

Optional browser support

bash
pip install 'viajante[browser]'playwright install chromium

For uvx, use viajante[mcp,browser] in --from and install Chromium from that same environment.

Good to know

  • Currency. Taken from --currency, or from a named origin airport's country. Hotels always need one. Viajante never converts between currencies.
  • Baggage. --carry-on asks Google to price one carry-on. Checked bags (--bags) are refused, because no transport can verify them. --baggage-buffer only affects ranking; it is not a quoted fee.
  • Hotels. Prices are for the whole stay. Free cancellation is required unless you opt out. Google rates 0–5, Booking.com 0–10.
  • Recommendation. Flight results may include a short recommendation block. It adds to the offer list and never replaces it.
  • Price level. Flight results may include Google's own price level (low, typical, or high) from the results page already fetched. It is Google's label for that price against its typical range. --price-history adds the page's price history. No extra request.
  • Unknown stays unknown. Missing fields are left out or marked unknown.

Travel sites change their pages, block requests, and update prices at any time. Confirm the final fare, baggage, hotel total, and cancellation terms with the provider before you book.

Contributing

Bug reports and focused pull requests are welcome; see CONTRIBUTING.md.

License

MIT. Independent project, not affiliated with Google, Booking.com, or any airline. Use of those services is subject to their terms: Google, Booking.com.

来源:README.md,提交 9a00446

工具

0
SourceWeft 曾在隔离沙箱中以无凭据方式启动该软件包一次,以列出其工具,但未能完成:服务器未能启动。

版本历史

11
  1. v1.5.5最新Nov 5, 2026
  2. v1.5.4Nov 4, 2026
  3. v1.5.2Oct 19, 2026
  4. v1.5.0Oct 9, 2026
  5. v1.4.7Oct 8, 2026
  6. v1.4.6Oct 7, 2026
  7. v1.4.5Oct 7, 2026
  8. v1.4.1Oct 5, 2026
  9. v1.4.0Oct 5, 2026
  10. v1.3.1Oct 2, 2026
  11. v1.2.0Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分