← Back to directory
T

Trvl

Community
Real travel search for your AI assistant — flights, hotels, trains, cars, ferries, no API keys, single Go binary.
Category
Other #106 of 230
Stars
★ 87 Popular
Transport
stdio (local process)
Runtime
Prebuilt binary · Go · Docker · Node.js
Credentials
Optional API key
License
Other / unspecified
Last commit
Tools
1
55FMRS · C

trvl is a powerful and innovative travel MCP server, offering comprehensive travel search without API keys. Its single-tool design reduces token usage, and optimization features (e.g., split airlines, date shifting) are practical. However, it has privacy risks (automatic browser cookie reading) and compliance concerns (provider ToS). It's well-suited for personal and developer use, but commercial use is restricted.

Strongest · Documentation 14/20 Weakest · Reliability 8/20

Reliability
8/20
Security and permissions
10/20
Maintenance
10/20
Documentation
14/20
Setup experience
13/20
Why each score
Reliability 8/20
The README describes one smart `travel` router tool plus 66 legacy-compatible aliases, and the manifest lists OCI and npm packages; the architecture (concurrent multi-provider fetching with typed failure statuses) is plausible. However, this static review received no committed tests or CI workflow files — the README's claims of more test code than source and a pre-release smoke gate are self-reported and therefore untrusted; the server also depends on scraping third-party endpoints (Google Flights, rail operators) that sit behind bot protection and rate limits, which is inherently flaky. Deductions: no verifiable execution evidence, scraping fragility, and no test artifacts supplied. Conservative score: 8.
Security and permissions 10/20
The README prominently discloses automatic browser-cookie reads on launch (opt-out via TRVL_NO_BROWSER_COOKIES=1), a daily anonymous heartbeat carrying a random install ID (client IP visible to the collector; multiple opt-out switches), local state under ~/.trvl written atomically via temp-file rename, optional credentials read from environment variables by default (AF-KLM being the sole exception, gated behind an explicit --provider afklm flag), and no destructive book/pay defaults. No red line is triggered: no covert exfiltration, no irreversible default action, and install examples contain no real tokens. Deductions: cookie reads are broad and require no per-run confirmation; a same-host https→http downgrade would keep cookies in cleartext (disclosed honestly, but still a weakness); the telemetry request exposes the client IP. This matches anchor 10: main risks visible, but permission/confirmation/scoping incomplete.
Maintenance 10/20
Version 1.21.0, referenced CI/release/download badges, 19 open issues, and a non-archived repository indicate an active project. Deductions: repository metadata reports License: NOASSERTION, contradicting the README's claimed PolyForm Noncommercial 1.0 — a governance ambiguity; no security-response channel (e.g., SECURITY.md) is evidenced; commit cadence and dependency-update history cannot be verified from the supplied static material. Matches anchor 10: active but with governance/versioning gaps.
Documentation 14/20
The README itself is well-layered: install paths, privacy and telemetry disclosure, cookie-reading mechanics and opt-outs, troubleshooting, starter prompts, an optional-provider environment-variable table, disclosed limitations (rate limiting, empty results, the cost of disabling cookies, noncommercial license constraints), and links to remote/OAuth docs. Deductions: the referenced docs (CLI.md, PROVIDERS.md, ARCHITECTURE.md, MCP-TOOLS-REFERENCE.md) were not supplied and cannot be verified; the license metadata contradicts the README; concrete per-tool parameter documentation is absent from the supplied material. Score: 14.
Setup experience 13/20
Multiple install paths are documented — Homebrew tap, curl binary, Go install, Docker, npm/npx (per manifest), and source build — plus `trvl mcp install` auto-detection for 10 clients, manual JSON config examples for Claude/Cursor-style clients, and VS Code/Cursor install deep-links. Steps are few and mainstream-client friendly. Deductions: the static calibration caps setup at 15 and no committed execution evidence was supplied; the `trvl mcp install` auto-detection cannot be verified from static files; on macOS the automatic cookie read may trigger a Keychain prompt at first launch, which can surprise users during setup; no Windows-specific instructions appear in the supplied text. Score: 13.

Static review · not runListed 2026-08-07

Read the FMRS scoring method →

Fit and risk

What it can accessWrites / deletes local filesUses the networkControls a browser

Best for

  • Personal users who already plan trips with AI assistants and want real data.
  • Developers who need travel search in their apps without expensive APIs.
  • Users who value no-API-key, local-first, privacy-conscious tools.

Not for

  • Users who just want to book on a website (e.g., Google Flights).
  • Teams needing a hosted product with accounts and dashboards.
  • Commercial or internal use without a separate license due to PolyForm Noncommercial license.

Required permissions

  • Reads browser cookies (automatic, to access bot-protected APIs)
  • Accesses local filesystem (reads/writes state files under ~/.trvl)
  • Sends anonymous telemetry (can be disabled)
  • Optionally reads credential managers (only for AFKLM, explicitly requested)
  • Optionally writes to Google Calendar (via calendar helper)

Risks and side effects

  • Automated access to some providers may violate their Terms of Service; user responsible for compliance.
  • Browser cookie reading may raise privacy concerns; it's enabled by default but can be disabled via environment variable.
  • Telemetry sends anonymous usage data, but can be turned off.
  • Prices and availability may be inaccurate or change; always verify before booking.

Setup

Before you start

Runtime:Prebuilt binary · Go · Docker · Node.js

AFKLM_KEY optionalsecret Optional key for AF-KLM native round-trip and rail+fly fares; apply for your own.
AFKL_KLM_COOKIES optionalsecret Optional cookies for AF-KLM Flying Blue award/miles search; under explicit `--provider afklm` it may also come from macOS Keychain or 1Password.
SERPAPI_KEY optionalsecret Enables detail-verified hotel provider prices (`trvl serpapi`); get it from serpapi.com.
TRAVELPAYOUTS_TOKEN optionalsecret Enables historical price trends; get it from Travelpayouts.
TRANSAVIA_API_KEY optionalsecret Enables Transavia flights; apply with Transavia.
DISTRIBUSION_API_KEY optionalsecret Enables bus and coach ground legs; apply with Distribusion.
FOURSQUARE_API_KEY optionalsecret Enables nearby places; get it from the Foursquare developer platform.
GEOAPIFY_API_KEY optionalsecret Enables destination geo data; get it from geoapify.com.
OPENTRIPMAP_API_KEY optionalsecret Enables attractions data; get it from opentripmap.com.
TICKETMASTER_API_KEY optionalsecret Enables events data; get it from the Ticketmaster developer platform.
TRVL_GMAIL_APP_PASSWORD optionalsecret App password for emailing trip digests; generate it in your Google account security settings.
Other optional settings (10)
TRVL_NO_TELEMETRY optional Set to 1 to disable the daily anonymous heartbeat telemetry.
NO_TELEMETRY optional Common-convention telemetry off switch; set to 1.
DO_NOT_TRACK optional Cross-tool Do-Not-Track signal; set to 1 to disable telemetry.
TRVL_TELEMETRY_ENDPOINT optional Overrides the telemetry heartbeat endpoint, for running your own collector.
TRVL_NO_BROWSER_COOKIES optional Set to 1 to never read browser cookies or open a window in your real browser; costs results on bot-protected sites.
TRVL_NO_TIER2_CDP optional Set to 1 to never start its own headless browser; also costs results.
TRVL_WATCH_MAX_POINTS_PER_WATCH optional Max price-history points kept per watch, default 1000; tunable.
TRVL_WATCH_MAX_POINTS_TOTAL optional Total cap on points across all watches, default 50000; 0 is refused at startup.
TRVL_WATCH_ROUTE_TTL_DAYS optional Days a dateless route watch keeps being re-checked, default 90.
TRVL_STEALTH_ALLOWLIST optional Host allowlist (e.g. `.google.com`) for the opt-in `--stealth` Chrome HTTP/2 fingerprint transport; empty means it never activates.
  1. Install via Homebrew: brew install MikkoParkkola/tap/trvl or download the binary directly.
  2. Run trvl mcp install to auto-detect and configure your AI client.
  3. Restart your AI client.
  4. Alternatively, add the MCP config manually:
{
  "mcpServers": {
    "trvl": {
      "command": "trvl",
      "args": ["mcp"]
    }
  }
}
claude_desktop_config.json
{"mcpServers":{"trvl":{"command":"trvl","args":["mcp"]}}}

Shown for Claude Desktop. Other clients may use a different file or key (VS Code uses "servers") — the configurator below converts it.

.vscode/mcp.json
{
  "servers": {
    "trvl": {
      "command": "trvl",
      "args": [
        "mcp"
      ]
    }
  }
}

Goes in your project's .vscode/mcp.json (VS Code uses a "servers" key).

Terminal
claude mcp add trvl -- trvl mcp

Run it in a terminal; replace any <…> placeholders with your own values first.

Check that it works

Restart your AI client after `trvl mcp install` and confirm a single tool named `travel` appears in the client's tool list; you can also run `trvl status` to see per-provider health, or `trvl flights HEL LHR 2026-07-01` to confirm real flight results come back.

Troubleshooting

  1. No tools showing? Restart your AI client after running `trvl mcp install`, and confirm `trvl` is in your PATH.
  2. Empty flight results? Try a major route like `trvl flights HEL LHR 2026-07-01`.
  3. Ground transport timeouts? Might be rate-limited; retry after 30s or use `--timeout 3m`.
  4. Blocked by bot protection? Check provider status with `trvl status` and follow hints.
  5. If you encounter cookie-related errors, set `TRVL_NO_BROWSER_COOKIES=1` to disable browser cookie reading.

Things to try

Once connected, you can ask your AI assistant things like:

  • Find the cheapest realistic trip from Helsinki for the long weekend of July 1–5, nonstop, with a 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.
  • I have €300 and a free weekend — surprise me.

Tools 1

travel read-only
A natural-language router that handles flight, hotel, train, car, ferry searches and returns optimized results.

Use cases

Plan door-to-door multi-modal trips with flights, hotels, trains, and cars.
Compare flight prices across providers to find the cheapest dates.
Set up price watches for error fares or low-price alerts.
Search hotels, view room details, and prices.
Find train, bus, and ferry schedules and fares.
Discover travel hacks like hidden-city ticketing, split-airline optimizations, and more.

Supported clients

Claude Desktop
Claude Code
Cursor
Windsurf
Codex
VS Code
Zed
Gemini
Amazon Q
LM Studio

Listed from the project's documentation, not tested by this site.

Overview

trvl is an open-source travel MCP server that enables AI assistants (like Claude, Cursor, Windsurf, Codex, etc.) to search real travel information including flights, hotels, trains, buses, ferries, car rentals, and price alerts. It exposes a single smart tool (the 'travel' router) that aggregates multiple travel data sources (Google Flights, Google Hotels, Kiwi, etc.) in parallel, then merges, de-duplicates, and optimizes results. No API keys, no signup, no per-call cost. It runs locally as a binary, keeps most data on your machine, but automatically reads your browser cookies to access bot-protected sites.

Similar servers

BioMCP 75 · B

One binary. One grammar. Evidence from the biomedical sources you already trust.

★ 654 · Tools 11 Compare with this →

Source revision 23fc6de34410 Data synced 2026-10-12 Read the FMRS scoring method