Skip to content
Data
Skill

/fli

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.

BOOST
From plugin
fli
3.2k1 skill
Install
$ npx -y skills add punitarani/fli --skill fli --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/fli

Context preview

The summary Claude sees to decide when to auto-load this skill.

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.

SKILL.md

fli.SKILL.md
name: fli
description: >
  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.
license: MIT

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:

1. install with `pipx install flights` 2. use `fli` for terminal searches 3. use `fli-mcp` for Claude Desktop or other STDIO MCP clients 4. use `fli-mcp-http` only when an HTTP MCP endpoint is specifically needed

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 `fli` package
  • MCP server via `fli-mcp` and `fli-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 flights`.

Why:

  • it is the documented recommended install path for CLI and MCP usage
  • it keeps the install isolated from other Python projects
  • it exposes `fli`, `fli-mcp`, and `fli-mcp-http` on the user's PATH

Only fall back to `pip install flights` or `uvx` when:

  • `pipx` is unavailable
  • the user wants library-only usage
  • the user explicitly prefers another Python package manager

Standard installation flow

Preferred install

python3 -m pip install --user pipx
python3 -m pipx ensurepath
pipx install flights

If `pipx` is already installed, skip directly to:

pipx install flights

Verify installation

Run these checks after install:

fli --help
fli-mcp --help
which fli-mcp

If the commands are not found after `pipx install flights`, have the user run:

python3 -m pipx ensurepath

Then restart the terminal session.

What the install provides

After `pipx install flights`, these commands should be available:

  • `fli` - main CLI for flight searches
  • `fli-mcp` - MCP server over STDIO
  • `fli-mcp-http` - MCP server over HTTP, defaulting to `http://127.0.0.1:8000/mcp/`

Important naming detail:

  • the package to install is `flights`
  • the commands to run are `fli`, `fli-mcp`, and `fli-mcp-http`

Do not tell users to run `pipx install fli`.

CLI usage

Basic flight search

Use:

fli flights JFK LAX 2026-10-25

Cheapest-date search

Use:

fli dates JFK LAX --from 2026-01-01 --to 2026-01-31

Common filters

Use filters like these when the user asks for them:

fli flights JFK LHR 2026-10-25 \
  --time 6-20 \
  --airlines BA,KL \
  --class BUSINESS \
  --stops NON_STOP \
  --sort DURATION

Supported language to map correctly:

  • cabin classes: `ECONOMY`, `PREMIUM_ECONOMY`, `BUSINESS`, `FIRST`
  • stop filters: `ANY`, `NON_STOP`, `ONE_STOP`, `TWO_PLUS_STOPS`
  • sort options: `CHEAPEST`, `DURATION`, `DEPARTURE_TIME`, `ARRIVAL_TIME`

CLI shorthand

Fli supports a convenience shorthand where a non-command invocation is treated as a flights search.

Example:

fli JFK LAX 2026-05-15

This behaves like:

fli flights JFK LAX 2026-05-15

Use the explicit `flights` subcommand in examples unless the user asks for shortcuts.

MCP usage

Default MCP mode

Use `fli-mcp` for Claude Desktop and other STDIO-based MCP clients.

fli-mcp

This is the default recommendation for local assistant integration.

HTTP MCP mode

Use `fli-mcp-http` only when the user needs an HTTP endpoint.

fli-mcp-http

By 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:

{
  "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:

1. fully quit Claude Desktop 2. relaunch it 3. start a new conversation 4. 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_PASSENGERS`
  • `FLI_MCP_DEFAULT_CURRENCY`
  • `FLI_MCP_DEFAULT_CABIN_CLASS`
  • `FLI_MCP_DEFAULT_SORT_BY`
  • `FLI_MCP_DEFAULT_DEPARTURE_WINDOW`
  • `FLI_MCP_MAX_RESULTS`

Example:

{
  "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 `pipx install flights` path first.

If the user asks how to use the command line tool

Show `fli flights ...` and `fli dates ...` examples first.

If the user asks how to connect Claude or another assistant

Show `fli-mcp` and the Claude Desktop config first.

If the user asks for a web endpoint

Then show `fli-mcp-http` and mention the `/mcp/` path and `Accept` header.

If 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 `fli` instead of `flights`
  • focusing on the
Read more
Ships withfli

A powerful Python library that provides programmatic access to Google Flights data with an elegant CLI interface. Search flights, find the best deals, and filter results with ease. 🚀 What makes fli special?

Get the whole plugin
Stats
3,210
Stars
400
Forks
Active
Maintenance
Python
Language
MIT
License
17d ago
Last commit
1y ago
Created
11h ago
Added

Repo: punitarani/fli