Vibeleaderboard
Index / app
Visit github.com
Category
Developer Tools
Rank

Previous survey · No. 901 ·

Type
APP
Builder
punitarani
Latest release
fli-js-v0.0.4
Date

About

A Google Flights MCP server, CLI, and Python library.

What it does

Fli turns structured trip requirements into Google Flights queries without parsing pages or driving a browser. It handles one-way, round-trip, multi-city, and flexible-date searches, with filters for cabins, stops, airlines, alliances, layovers, passengers, timing, sorting, currency, and locale. Results can include itinerary details and links back to Google Flights.

Why it's ranked here

Fli is compelling when detailed flight search must fit into code or an assistant workflow. Direct protocol access avoids browser automation, while validation, throttling, retries, and broad filters make it more than a thin request wrapper. The verdict stays mixed because the protocol is reverse-engineered, machine-readable command output remains experimental, and vendor fares may be unavailable without a browser-created session token.

What's good

The search model covers practical constraints that simpler fare tools omit: airline exclusions, alliance rules, layover bounds, cabin classes, departure windows, and locale settings. Flexible-date search supports fare discovery across a window. Python and TypeScript share models, filter encoding, and response decoding. The clients add rate limiting, exponential retry behavior, validation, and typed failures. MCP supports local standard input and streamable HTTP transports.

Tradeoffs

Direct access still depends on a reverse-engineered Google Flights protocol, so avoiding HTML changes does not remove upstream dependency risk. Vendor booking options often return empty without a browser-created session token. Command-line JSON is explicitly experimental, making it a weak contract for durable automation. TypeScript airport fields mirror the wire format with triple nesting, and Node usage requires a TypeScript loader. Booking lookup reruns searches, so filters must match.

How to use it well

Use Fli for developer tools, fare exploration, travel assistants, and scripts that need structured filtering without browser automation. Search broadly for flights or cheap dates, then request booking options for a chosen itinerary while preserving the original filters. Treat Google Flights deep links as the reliable handoff when vendor fares are absent. It does not replace the final airline or agency booking flow, nor guarantee direct vendor prices.

Technical notes+

pyproject.toml defines the Python package flights, requires Python 3.10 or newer, uses Hatchling, and exposes fli, fli-mcp, and fli-mcp-http; MCP dependencies are optional. docs/index.md describes fli-js as a 1:1 TypeScript port with matching models, filter encoding, and wire-format decoders. docs/guides/mcp.md documents STDIO and streamable HTTP transports plus search_flights, search_dates, and get_booking_options; it also warns that vendor options may be empty without a browser-minted token. docs/typescript/quickstart.md documents ESM types, Bun support, Node execution through a TypeScript loader, 10 requests per second throttling, retries, proxy configuration, and typed client errors. Makefile provides uv-based lint, test, MCP, documentation, and fuzz-test targets.

Observed

License
MIT
Primary implementation
Python package requiring Python 3.10 or newer
Additional language surface
TypeScript and JavaScript port published as fli-js
Installation
Python package installs as flights through pip or pipx; TypeScript package installs through bun, npm, or pnpm
Interfaces
Python library, TypeScript library, command-line interface, and MCP over standard input or streamable HTTP
Packaging
Hatchling builds the Python wheel; MCP dependencies are an optional package extra
Search coverage
One-way, round-trip, multi-city, and flexible-date flight searches

Read from README.md, Makefile, pyproject.toml, docs/index.md, docs/guides/mcp.md, docs/python/examples.md, docs/python/quickstart.md, docs/typescript/examples.md, docs/typescript/quickstart.md, docs/python/api/models.md, docs/python/api/search.md, scripts/bump_version.py, scripts/generate_enums.py, scripts/update_airports.py.

Tech Stack

PythonDocker

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.