fli
Original:🇺🇸 English
Translated
Guidance for installing and using Fli correctly as a CLI and MCP server. Use when: setting up Fli with pipx, running `fli` flight searches, configuring Claude Desktop with `fli-mcp`, using the HTTP MCP server, or troubleshooting Fli command availability and common usage mistakes.
4installs
Sourcepunitarani/fli
Added on
NPX Install
npx skill4agent add punitarani/fli fliTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →Fli install and usage skill
Use this skill when the goal is to install Fli and use its CLI or MCP server correctly.
The primary path is:
- install with
pipx install flights - use for terminal searches
fli - use for Claude Desktop or other STDIO MCP clients
fli-mcp - use only when an HTTP MCP endpoint is specifically needed
fli-mcp-http
Do not default to cloning the repository or using a source checkout. Only mention cloning the repo when the user explicitly wants to contribute to Fli itself.
What Fli is
Fli is a Python package for accessing Google Flights data through direct API interaction.
It has three public surfaces:
- CLI via
fli - Python library via the package
fli - MCP server via and
fli-mcpfli-mcp-http
For this skill, focus on the CLI and MCP server first.
Core install rule
If the user wants to use Fli as a tool, recommend .
pipx install flightsWhy:
- it is the documented recommended install path for CLI and MCP usage
- it keeps the install isolated from other Python projects
- it exposes ,
fli, andfli-mcpon the user's PATHfli-mcp-http
Only fall back to or when:
pip install flightsuvx- is unavailable
pipx - the user wants library-only usage
- the user explicitly prefers another Python package manager
Standard installation flow
Preferred install
bash
python3 -m pip install --user pipx
python3 -m pipx ensurepath
pipx install flightsIf is already installed, skip directly to:
pipxbash
pipx install flightsVerify installation
Run these checks after install:
bash
fli --help
fli-mcp --help
which fli-mcpIf the commands are not found after , have the user run:
pipx install flightsbash
python3 -m pipx ensurepathThen restart the terminal session.
What the install provides
After , these commands should be available:
pipx install flights- - main CLI for flight searches
fli - - MCP server over STDIO
fli-mcp - - MCP server over HTTP, defaulting to
fli-mcp-httphttp://127.0.0.1:8000/mcp/
Important naming detail:
- the package to install is
flights - the commands to run are ,
fli, andfli-mcpfli-mcp-http
Do not tell users to run .
pipx install fliCLI usage
Basic flight search
Use:
bash
fli flights JFK LAX 2026-10-25Cheapest-date search
Use:
bash
fli dates JFK LAX --from 2026-01-01 --to 2026-01-31Common filters
Use filters like these when the user asks for them:
bash
fli flights JFK LHR 2026-10-25 \
--time 6-20 \
--airlines BA KL \
--class BUSINESS \
--stops NON_STOP \
--sort DURATIONSupported language to map correctly:
- cabin classes: ,
ECONOMY,PREMIUM_ECONOMY,BUSINESSFIRST - stop filters: ,
ANY,NON_STOP,ONE_STOPTWO_PLUS_STOPS - sort options: ,
CHEAPEST,DURATION,DEPARTURE_TIMEARRIVAL_TIME
CLI shorthand
Fli supports a convenience shorthand where a non-command invocation is treated as a flights search.
Example:
bash
fli JFK LAX 2026-05-15This behaves like:
bash
fli flights JFK LAX 2026-05-15Use the explicit subcommand in examples unless the user asks for shortcuts.
flightsMCP usage
Default MCP mode
Use for Claude Desktop and other STDIO-based MCP clients.
fli-mcpbash
fli-mcpThis is the default recommendation for local assistant integration.
HTTP MCP mode
Use only when the user needs an HTTP endpoint.
fli-mcp-httpbash
fli-mcp-httpBy default, it serves at:
http://127.0.0.1:8000/mcp/
For HTTP integrations, the client should send:
Accept: application/json, text/event-stream
Claude Desktop setup
When the user wants Claude Desktop integration, recommend this config first:
json
{
"mcpServers": {
"fli": {
"command": "fli-mcp",
"args": []
}
}
}Suggested config paths:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\\Claude\\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
After editing the config:
- fully quit Claude Desktop
- relaunch it
- start a new conversation
- ask for a flight search
Good validation prompt:
Can you search for flights from JFK to LHR on 2026-03-15?Optional MCP environment variables
If the user wants defaults, these environment variables are relevant:
FLI_MCP_DEFAULT_PASSENGERSFLI_MCP_DEFAULT_CURRENCYFLI_MCP_DEFAULT_CABIN_CLASSFLI_MCP_DEFAULT_SORT_BYFLI_MCP_DEFAULT_DEPARTURE_WINDOWFLI_MCP_MAX_RESULTS
Example:
json
{
"mcpServers": {
"fli": {
"command": "fli-mcp",
"args": [],
"env": {
"FLI_MCP_DEFAULT_CURRENCY": "EUR",
"FLI_MCP_DEFAULT_CABIN_CLASS": "BUSINESS",
"FLI_MCP_MAX_RESULTS": "10"
}
}
}
}How to guide users well
If the user asks to install Fli
Give them the path first.
pipx install flightsIf the user asks how to use the command line tool
Show and examples first.
fli flights ...fli dates ...If the user asks how to connect Claude or another assistant
Show and the Claude Desktop config first.
fli-mcpIf the user asks for a web endpoint
Then show and mention the path and header.
fli-mcp-http/mcp/AcceptIf the user asks how to contribute or hack on the codebase
That is outside the primary scope of this skill. Only then discuss cloning the repository and using development commands.
Common mistakes to prevent
- telling users to clone the repository when they only want the tool
- telling users to install instead of
fliflights - focusing on the Python API when the user asked for CLI or MCP setup
- giving HTTP MCP instructions when STDIO MCP is enough
- forgetting to tell Claude Desktop users to fully restart the app
- omitting the PATH fix when installs successfully but commands are not found
pipx
Troubleshooting
fli
or fli-mcp
not found
flifli-mcpTry:
bash
python3 -m pipx ensurepathThen restart the terminal.
Python version problems
Fli requires Python 3.10 or newer.
Check with:
bash
python3 --versionClaude Desktop does not show the tools
Check these in order:
- works in a terminal
fli-mcp --help - the Claude Desktop config file path is correct
- the JSON is valid
- Claude Desktop was fully quit and reopened
Rate limiting or temporary failures
Fli includes automatic rate limiting and retries, but live Google Flights requests can still fail temporarily.
If a query fails:
- retry after a short delay
- reduce repeated back-to-back searches
- do not assume the CLI or MCP setup is broken just because one upstream request failed
Public docs
Use these docs for product-facing guidance:
- introduction:
https://punitarani-fli.mintlify.app/introduction - installation:
https://punitarani-fli.mintlify.app/installation - MCP setup:
https://punitarani-fli.mintlify.app/mcp/setup - docs index:
https://punitarani-fli.mintlify.app/llms.txt
Use product docs for examples and onboarding. Use the actual installed command names when writing instructions.
Summary
The default recommendation is . After that, use for terminal searches, for Claude Desktop and other STDIO MCP clients, and only when an HTTP MCP endpoint is specifically needed.
pipx install flightsflifli-mcpfli-mcp-http