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 分