====== 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]]