JSON by default
A stable, versioned schemaVersion envelope when piped; readable tables at a TTY.
uvx gfly search JFK LHR --depart 2026-08-15That’s the whole onboarding. The default backend is unauthenticated — the agent (or you) just runs it.
JSON by default
A stable, versioned schemaVersion envelope when piped; readable tables at a TTY.
Self-describing
gfly schema and an embedded gfly agent contract — zero external files.
Semantic exit codes
Real failures get real codes: BLOCKED, SCHEMA_DRIFT, RATE_LIMITED + retryAfterSeconds.
Token-bounded
--limit / --offset / --select so an agent never drowns in itineraries.
Polite by design
A persistent, cross-process throttle that survives the fresh-process-per-call model.
Read-only
It searches. It cannot book or mutate. Safe to hand an autonomous agent.
Google has had no public flights API since QPX shut down in 2018. The community tools that fill
the gap are built for humans (Rich TUIs) or hand agents an MCP server with a self-declared-unstable
JSON shape. gfly is engineered for an LLM agent in a loop — see Design & risks.