Ask your AI assistant to plan a real trip, and it actually can. trvl gives Claude, Cursor, Windsurf, Codex, or any MCP-compatible client one smart tool — the travel router — with live access to flights, hotels, rental cars, trains, buses, ferries, price alerts, award sweet spots, weather, and destination intel. Free, no API keys, no signup. One binary.
You: I have €300 and a free weekend. Surprise me.
Claude (with trvl): Dubrovnik, Croatia 🇭🇷 —
✈️ Ryanair HEL→DBV €167 RT · 🏨 Old Town Studios 4.6★ €84 · 🌡️ 26°C, sunny. 📊 Naive €350 → optimized €251 → saved €99 (28%) by flying Friday and splitting airlines.
▶ Try it live, no install: socialistic.ai/trvl-travel-mcp (community-hosted).
Let your AI do it — paste into Claude Code, Cursor, Windsurf, or Codex:
Read https://raw.githubusercontent.com/MikkoParkkola/trvl/main/AGENTS.md and set up trvl
It installs the binary, wires the MCP server, installs the skill, and verifies everything. Under a minute.
Or by hand:
brew install MikkoParkkola/tap/trvl # install
trvl mcp install # auto-detects your AI clientRestart your client. trvl mcp install --client <name> targets a specific one (10 supported: Claude Desktop/Code, Cursor, Windsurf, Codex, VS Code, Zed, Gemini, Amazon Q, LM Studio).
More ways to install (Go, Docker, raw binary, manual config)
# Direct binary (no Homebrew)
curl -fsSL https://github.com/MikkoParkkola/trvl/releases/latest/download/trvl_$(uname -s | tr '[:upper:]' '[:lower:]')_$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/').tar.gz | tar xz -C /usr/local/bin trvl
# Go
go install github.com/MikkoParkkola/trvl/cmd/trvl@latest
# Docker
docker run --rm ghcr.io/mikkoparkkola/trvl flights HEL NRT 2026-06-15
# Build from source
git clone https://github.com/MikkoParkkola/trvl.git && cd trvl && make build
# Claude Code CLI
claude mcp add trvl --transport stdio -- trvl mcp
# Manual JSON (Claude Desktop, Cursor, Windsurf, etc.)
# { "mcpServers": { "trvl": { "command": "trvl", "args": ["mcp"] } } }Paste any of these to your assistant once trvl is wired:
Find the cheapest realistic trip from Helsinki for the long weekend of July 1–5, nonstop, hotel near the center.
Compare award sweet spots HEL→LHR business on Aug 15 with 80k Amex MR + 20k Virgin points.
Create a mistake-fare watch for HEL→BCN, July 1–8, and alert me below €90.
More starter prompts and what good answers look like: docs/DEMO.md.
- Whole journey, door to door. It plans the entire trip across modes — home to airport, flight, arrival transfer, hotel, onward train — and prices each leg in its real mode. Most tools stop at one flight, one hotel.
- No API keys, no signup, no bill. Works the moment you install it. No Amadeus key to apply for, no subscription, no per-call cost.
- Your assistant, your machine. One local binary, any MCP client. Not locked to a vendor; your trips and preferences never leave your computer.
- It optimizes, not just lists. Shift-day pricing, split-airline routing, hidden-city checks, award sweet spots, round-trip fares. It hands back the cheaper option and shows what it saved.
- It is honest when a source fails. Typed statuses and labelled estimates, never an empty result dressed up as "nothing found."
Full head-to-head against Google Flights, KAYAK, Skyscanner, Kiwi, and other travel MCPs: docs/COMPARISON.md.
An AI agent acts on trvl's output without a human checking every result, so the bar is correctness, not just coverage.
- It tells you when it can't. A blocked or rate-limited provider returns a typed status (
AKAMAI_BLOCK,RATE_LIMITED,BOOKING_COOKIES_MISSING) with a fix hint, instead of a fake "nothing found." Estimated values are labelled; currency-mismatched totals are skipped, not faked. - Tested more than it is written. More test code than source, race-checked on macOS, Linux, and Windows. A smoke gate runs the packaged binary before any release — a build that doesn't run can't ship.
- It degrades gracefully. Providers run concurrently with per-provider timeouts; one source failing returns partial results instead of aborting the search.
- It's observable.
trvl status(or the local/dashboardin HTTP mode) shows per-provider success rate, latency, freshness, and circuit-breaker state.
Hotel metasearch exposes list-level rates first; some are real, some only firm up after the property detail page reveals the room/tax/cancellation matrix. So trvl separates discovery (search_hotels — fast, lead-in prices) from decisions (search_accommodations — verifies room-level offers before ranking) and drill-down (search_hotels_with_details, hotel_rooms). It provides booking links for manual handoff but never books, holds, or guarantees a rate. Detail: docs/PROVIDERS.md.
| Area | Highlights | Reference |
|---|---|---|
| MCP tools | 1 smart travel router + 66 compatibility aliases; 98.9% smaller tools/list footprint (~378 vs ~33,500 tokens) |
MCP-TOOLS-REFERENCE.md |
| Flights | Google Flights + Kiwi + Skiplagged merged; LCC fares, AFKLM award scan, round-trip (both legs) | PROVIDERS.md |
| Ground | 20 train/bus/ferry providers across Europe, API-first | PROVIDERS.md |
| Hotels | 6 sources, discovery → verification trust model | PROVIDERS.md |
| Travel hacks | 37 parallel detectors (hidden-city, positioning, stopover, multimodal, error-fare…) | PROVIDERS.md |
| CLI | Standalone tool, 56 commands, table/JSON output | CLI.md |
| Profile | Learns home airports, FF status, luggage, preferences from your booking history | traveller-workspace.md |
Yes if you already plan trips with an AI assistant and want it to search real flights, hotels, trains, buses, ferries, and transfers instead of guessing — or if you're building an app that needs travel intent without a paid travel API.
Probably not if you just want to book on a website (use Google Flights), or you want a hosted product with an account and dashboard. trvl is a tool you run, not a service you log into.
Full positioning: docs/POSITIONING.md.
Local stdio is the default and safest transport. trvl mcp --http binds to 127.0.0.1, requires a bearer token, and generates one at startup if unset. Remote exposure, scoped read/write tokens, and OAuth 2.1 introspection: docs/REMOTE-MCP-OAUTH.md.
Glama · LobeHub · Smithery · MCPHub · Cursor Directory · PulseMCP · MCP Market · pkg.go.dev
Independent coverage: Roberto Reale's Budget Travel Pipeline — an independent build-and-test that surfaced real fixes and shaped the v1.10 trust roadmap.
- No tools showing? Restart your AI client after
trvl mcp install; confirmwhich trvlis on$PATH. - Empty flight results? Some routes have no Google Flights data — try a major pair like
trvl flights HEL LHR 2026-07-01. - Ground transport times out? Rail/ferry providers throttle; retry after 30s or pass
--timeout 3m.
Full troubleshooting: docs/CLI.md.
Part of a suite of MCP tools: mcp-gateway (universal gateway) · nab (web extraction with anti-bot) · axterminator (macOS GUI automation).
trvl is a personal-use tool that reads public-facing web APIs (Google Flights, Google Hotels, and others). It does not bypass authentication or circumvent rate limits; request patterns are throttled to look like manual browsing. Automated access may violate some providers' Terms of Service — you are responsible for compliance in your jurisdiction.
Licensed under PolyForm Noncommercial 1.0 — free for personal and noncommercial use. Commercial use (company-internal, hosted service, embedding in paid platforms) requires a separate license: EUR 500/month per named project via GitHub Sponsors, see COMMERCIAL.md.
Built on fli, utls, and SerpAPI's parameter reference.
If trvl saved you a browser tab or an API subscription, a star helps other travellers (and their assistants) find it. That's the whole ask.
