SkillAgentSearch skills...

viajante

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

Install / Use

claude mcp add felipebasurto -- npx -y github:felipebasurto/viajante

If the server publishes to npm under a different name, use that package instead โ€” check the repo README.

About this skill
๐Ÿ”Œ

MCP Server

Model Context Protocol server

Quality Score

83/100

Supported Platforms

Claude Code
Claude Desktop

Our assessment of viajante

viajante scores 83/100 on our quality scale, 3046th of 4,656 Development & Engineering skills we index.

Its MCP Server is 8.3 KB long, well organised into 8 sections with 5 code examples: a thorough specification that gives an agent plenty to work with.

It has 44 GitHub stars, so there is little community track record yet; judge it on its content.

Substance
29/30
Structure
20/20
Description
12/15
Adoption
7/20
Freshness
15/15

Maintenance, license and trust

  • The repository was last updated today, so viajante is actively maintained.
  • It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
  • Its trust signals score 92/100, with 1 caution from licensing, adoption, age or documentation. These come from repository metadata, not a code audit โ€” read the skill file before letting an agent act on it.

viajante compared with similar skills

All 4 of these similar skills score higher than viajante; compare them before choosing.

SkillScoreStarsUpdatedFormat
viajante (this skill)by felipebasurto8344todayMCP Server
Agent-Reachby Panniantong100107.2k6d agoCLAUDE.md
taste-skillby Leonxlnx100106.9ktodayCLAUDE.md
headroomby headroomlabs-ai10078.5k1d agoCLAUDE.md
ai-job-searchby ai-job-search-dev10068.4ktodayCLAUDE.md

Frequently asked questions

How do I install viajante?
Run claude mcp add felipebasurto -- npx -y github:felipebasurto/viajante. The install tabs above show the steps for each supported agent.
Which AI agents does viajante work with?
It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
Is viajante safe to use?
It is MIT-licensed and scores 92/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
Is viajante still maintained?
The repository was last updated today, so viajante is actively maintained.
<h1 align="center"> <img src="https://raw.githubusercontent.com/felipebasurto/viajante/main/docs/assets/viajante-hero.svg" alt="Viajante: flight and hotel search for your terminal, Python, and AI assistants. Runs on your machine, no API keys." width="100%"> </h1> <div align="center">

Flight and hotel search for your terminal, Python, and AI assistants. Runs on your machine, no API keys.

PyPI Python npm Tests

Website ยท Usage guide ยท Architecture ยท Changelog

<img src="https://raw.githubusercontent.com/felipebasurto/viajante/main/docs/assets/viajante-features.svg" alt="Four points: runs on your machine with no API keys; returns evidence, not advice; only provider_empty means nothing was found; three ways in, a terminal command, a Python call, or an AI assistant over MCP." width="100%"> </div>

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+.

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

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+):

{
  "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).

<details> <summary>All 22 MCP tools</summary>

| Tool | What it does | | --- | --- | | search_flights | One-way, round-trip, or multi-city flights | | search_dates | Cheapest fare per departure date in a window | | search_flex | Dates around a target, then flights for the cheapest day | | search_explore | Destinations from an origin, with a priced shortlist | | search_hotels | Stays with total-stay prices and cancellation terms | | search_hotel_rooms | Skiplagged room rates for one named hotel | | get_hotel_details | A hotel offer from this session, plus an optional room quote | | search_trip | Flights and hotel together, summed when compatible | | search_split_tickets | Opt-in separately ticketed itineraries (connections not protected) | | search_hidden_city | Opt-in Skiplagged hidden-city fares | | recheck_offer | One fresh search to re-check an earlier offer | | validate_itinerary | Check a proposed itinerary against search evidence | | compare_awards | Cents-per-point math for a named award offer | | lookup_transfers | Points transfer-partner table | | lookup_airports | Airport and metro codes, offline | | plan_stay_blocks | Group consecutive nights with the same people | | split_stay_costs | Split stay totals among who slept there | | verify_answer | Flag amounts, codes, dates, or links no search returned | | price_history | Prices this machine recorded for a query (opt-in) | | watch_price | Re-run a saved search and report the change | | get_runtime_info | Installed version, offline | | get_guide | Long operational guide |

</details>

Command line

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

| Command | Purpose | | --- | --- | | flights | Specific routes and dates (--nearby-days compares ยฑN days when N is set; --split-tickets is opt-in) | | dates | Cheapest departure day across a window of up to 31 days | | flex | A few days either side of a target date | | explore | Destinations from an origin airport | | hotels, hotel-rooms | Google Hotels, Booking.com, or Skiplagged | | trip | Flights and a hotel stay in one request | | recheck-offer | Re-check a saved offer against a fresh search | | airports | Find airport codes | | hidden-city, awards, points | Skiplagged fares, award value, transfer partners | | history, watch | Recorded prices and saved re-runs (opt-in) | | feedback | Open a prefilled GitHub issue (viajante sends nothing itself) |

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

Optional browser support

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.

<!-- mcp-name: io.github.felipebasurto/viajante -->

Related Skills

View on GitHub
GitHub Stars44
CategoryDevelopment
Updated8h ago
Forks2

Languages

Python

Trust signals

92/100

From repository metadata: license, adoption, age and documentation. Not a code audit โ€” see the Safety scan above for what the skill file itself contains.

1 low1 info
viajante โ€” MCP Server: Install & Safety Check | SkillAgent