====== Fli: MCP server pro vyhledávání letů přes Google Flights ====== //Vytvořeno: **16.5.2026** | Aktualizováno: **~~LASTMOD~~**// [[https://github.com/punitarani/fli|Fli]] je Python knihovna, CLI a MCP server pro vyhledávání letů nad daty Google Flights. Projekt podle README nepoužívá web scraping ani browser automation, ale komunikuje s reverzně analyzovaným Google Flights API. ===== K čemu slouží ===== Fli umožňuje připojit vyhledávání letů do AI klienta přes MCP. Praktický use-case je dotazování přirozeným jazykem, například hledání letů na konkrétní datum, vyhledávání nejlevnějších termínů nebo filtrování podle aerolinek, aliance, kabinové třídy a počtu přestupů. Projekt obsahuje tři vrstvy: * **Python knihovna** pro programové použití. * **CLI nástroj** ''fli'' pro použití z terminálu. * **MCP server** pro napojení do Claude Desktopu nebo jiných MCP klientů. ===== Instalace ===== Balíček se na PyPI jmenuje ''flights'', i když projekt a CLI používají název Fli. Doporučená instalace pro CLI a MCP server: pipx install flights Alternativně lze použít běžnou instalaci přes pip: pip install flights Podle ''pyproject.toml'' projekt vyžaduje Python 3.10 nebo novější. MCP část používá volitelné závislosti jako ''fastmcp'', ''fastapi'' a ''uvicorn''. ===== Spuštění MCP serveru ===== Fli poskytuje dvě varianty MCP serveru. STDIO server: fli-mcp Streamable HTTP server: fli-mcp-http HTTP varianta podle README naslouchá na: http://127.0.0.1:8000/mcp/ ===== Konfigurace pro Claude Desktop ===== Ukázková konfigurace pro Claude Desktop: { "mcpServers": { "flight-search": { "command": "fli-mcp", "args": [] } } } README uvádí také variantu s absolutní cestou k binárce nainstalované přes pipx: { "mcpServers": { "fli": { "command": "/Users//.local/bin/fli-mcp" } } } Cestu k binárce lze ověřit příkazem: which fli-mcp ===== Dostupné MCP nástroje ===== MCP server podle README vystavuje dva hlavní nástroje: ^ Nástroj ^ Účel ^ | ''search_flights'' | Vyhledání letů pro konkrétní datum s filtry. | | ''search_dates'' | Hledání nejlevnějších termínů v rozsahu dat. | ==== search_flights ==== ''search_flights'' slouží pro klasické vyhledání letu. Podporuje zejména: * odletové a cílové letiště podle IATA kódu, * datum odletu a volitelně datum návratu, * kabinovou třídu: ''ECONOMY'', ''PREMIUM_ECONOMY'', ''BUSINESS'', ''FIRST'', * počet přestupů: ''ANY'', ''NON_STOP'', ''ONE_STOP'', ''TWO_PLUS_STOPS'', * časové okno odletu ve formátu například ''6-20'', * filtrování podle aerolinek a vyloučených aerolinek, * filtrování podle aliancí: ''ONEWORLD'', ''SKYTEAM'', ''STAR_ALLIANCE'', * minimální a maximální délku přestupu, * měnu, jazyk a zemi pro Google parametry, * řazení podle ceny, délky letu, času odletu nebo času příletu, * počet dospělých cestujících. ==== search_dates ==== ''search_dates'' slouží pro flexibilní hledání termínů. Kromě podobných filtrů jako ''search_flights'' přidává: * začátek a konec rozsahu dat, * délku cesty ve dnech, * přepínač pro round-trip hledání, * řazení podle ceny. ===== CLI příklady ===== Základní hledání letu: fli flights JFK LHR 2026-10-25 Pokročilé hledání s filtry: fli flights JFK LHR 2026-10-25 \ --time 6-20 \ --airlines BA,KL \ --class BUSINESS \ --stops NON_STOP \ --sort DURATION Hledání nejlevnějších termínů: fli dates JFK LHR \ --from 2026-01-01 \ --to 2026-02-01 \ --monday --friday Multi-city hledání: fli multi \ --leg SEA,HKG,2026-12-26 \ --leg PEK,SEA,2027-01-02 ===== Poznámky a omezení ===== * Projekt je podle metadat v ''pyproject.toml'' ve stavu Beta. * Přístup ke Google Flights je založený na reverzně analyzovaném API. To může být praktické, ale zároveň to znamená riziko změn na straně Google. * CLI přepínač ''--format json'' je v README označený jako experimentální a JSON schéma se může měnit. * README zmiňuje ochranné mechanismy jako rate limiting, automatické retry, ošetření chyb a validaci vstupů. ===== Zdroje ===== * [[https://github.com/punitarani/fli|punitarani/fli – GitHub repozitář]] * [[https://punitarani.github.io/fli|Fli – dokumentace]] * [[https://deepwiki.com/punitarani/fli|Fli na DeepWiki]]