maviapi
Live JSON from sites with no API (Booking, Airbnb, Tripadvisor…), plus agent-built APIs for any site
Description from the maker (original English)
Flight and hotel search for the terminal, Python, and AI assistants.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"viajante": {
"command": "npx",
"args": [
"-y",
"@viajante/mcp"
]
}
}
}Run this in your terminal
claude mcp add viajante -- npx -y @viajante/mcpPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"viajante": {
"command": "npx",
"args": [
"-y",
"@viajante/mcp"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"viajante": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@viajante/mcp"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026
The registry name was verified with the GitHub account felipebasurto, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (1.5.5) reached the registry 3 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv), Node.js on your computer.
In the same category: maviapi, GeoTok Trips, ViaFrei
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Live JSON from sites with no API (Booking, Airbnb, Tripadvisor…), plus agent-built APIs for any site
Plan trips: flights, hotels, transfers, sights and food spots from TikTok food videos.
The German Real-Time Mobility Context Platform for AI: traffic, trains, charging, parking, weather.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Flight and hotel search for your terminal, Python, and AI assistants. Runs on your machine, no API keys.
Website · Usage guide · Architecture · Changelog
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.
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.
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).
All 22 MCP tools
| 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 |
Run viajante --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
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.
pip install 'viajante[browser]'
playwright install chromium
For uvx, use viajante[mcp,browser] in --from and install Chromium from that same environment.
--currency, or from a named origin airport's country. Hotels always need one. Viajante never converts between currencies.--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.recommendation block. It adds to the offer list and never replaces it.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.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.
Bug reports and focused pull requests are welcome; see CONTRIBUTING.md.
MIT. Independent project, not affiliated with Google, Booking.com, or any airline. Use of those services is subject to their terms: Google, Booking.com.