# Fli (Google Flights search) MCP server

> Search Google Flights fares with filters and find the cheapest travel dates across a flexible date range.

- Listing: https://mcp.tc/i/fli
- Connect: this is a local (stdio) server; install it on your machine (see Install). The listing link is a page, not an MCP endpoint.
- Type: local (stdio)
- Auth: no API key needed
- Category: [Travel & Maps](https://mcp.tc/c/travel-maps)
- Vendor: Punit Arani
- Homepage: <https://punitarani.github.io/fli>
- Docs: <https://punitarani.github.io/fli>
- Repository: <https://github.com/punitarani/fli>
- Package: pypi `flights`

## About

Fli is a Python library, CLI and MCP server that queries Google Flights data directly through its internal API instead of scraping pages. The MCP server offers flight search for a specific date and a cheapest-dates search over a date range. Filters include cabin class, stops, airlines, alliances, layover length, departure window, currency, language and country.

It runs locally over stdio with uvx (uvx --from flights fli-mcp), or over streamable HTTP with fli-mcp-http, which serves at http://127.0.0.1:8000/mcp/. No sign-in or API key is needed. This is a community project and is not affiliated with Google.

## What it can do

- Search flights on a specific date, one-way or round trip
- Find the cheapest travel dates across a date range
- Filter by cabin class, stops, airlines and alliances
- Set layover limits and departure time windows
- Sort results by price, duration, departure or arrival time
- Set currency, language and country for results

## Example prompts

- "Find non-stop business class flights from JFK to LHR on 2026-10-25"
- "What are the cheapest dates to fly SFO to NRT in January?"
- "Search round trips from SEA to HKG, exclude Delta, sorted by price"
- "Show one-stop flights from BOS to FCO leaving between 6 and 12, priced in EUR"

## Install

### Claude Code

1. Run this in a terminal, in your project folder:

```bash
claude mcp add --transport stdio fli -- uvx --from flights fli-mcp
```

2. Start Claude Code and type `/mcp`. **fli** should show as connected.

Add `--scope user` to make it available in every project.

### Claude Desktop

1. Open **Settings → Developer → Edit Config**. It opens `claude_desktop_config.json`. Add:

`claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "fli": {
      "command": "uvx",
      "args": [
        "--from",
        "flights",
        "fli-mcp"
      ]
    }
  }
}
```

2. Save the file and restart Claude Desktop.

Needs uv (Python) on your computer. The file lives in `~/Library/Application Support/Claude/` on macOS and `%APPDATA%\Claude\` on Windows.

### Cursor

[Add to Cursor](<https://cursor.com/install-mcp?name=fli&config=eyJjb21tYW5kIjoidXZ4IiwiYXJncyI6WyItLWZyb20iLCJmbGlnaHRzIiwiZmxpLW1jcCJdfQ%3D%3D>) (opens Cursor)

Or add it by hand to `~/.cursor/mcp.json` (all projects) or `.cursor/mcp.json` (this project):

`mcp.json`:

```json
{
  "mcpServers": {
    "fli": {
      "command": "uvx",
      "args": [
        "--from",
        "flights",
        "fli-mcp"
      ]
    }
  }
}
```

Needs uv (Python) on your computer.

### VS Code

[Install in VS Code](<https://vscode.dev/redirect/mcp/install?name=fli&config=%7B%22type%22%3A%22stdio%22%2C%22command%22%3A%22uvx%22%2C%22args%22%3A%5B%22--from%22%2C%22flights%22%2C%22fli-mcp%22%5D%7D>) (opens VS Code)

Or from a terminal:

```bash
code --add-mcp '{"name":"fli","type":"stdio","command":"uvx","args":["--from","flights","fli-mcp"]}'
```

Or commit it to the repo in `.vscode/mcp.json`:

`.vscode/mcp.json`:

```json
{
  "servers": {
    "fli": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "--from",
        "flights",
        "fli-mcp"
      ]
    }
  }
}
```

Needs uv (Python) on your computer.

### Devin Desktop

1. Add it to `~/.config/devin/mcp_config.json` (macOS and Linux) or `%APPDATA%\devin\mcp_config.json` (Windows):

`mcp_config.json`:

```json
{
  "mcpServers": {
    "fli": {
      "command": "uvx",
      "args": [
        "--from",
        "flights",
        "fli-mcp"
      ]
    }
  }
}
```

2. Refresh the MCP server list in Cascade.

Devin Desktop is the new name for Windsurf.

### Codex

```bash
codex mcp add fli -- uvx --from flights fli-mcp
```

Or edit `~/.codex/config.toml` directly:

`config.toml`:

```toml
[mcp_servers.fli]
command = "uvx"
args = ["--from", "flights", "fli-mcp"]
```

Needs uv (Python) on your computer.

### Gemini CLI

```bash
gemini mcp add fli uvx -- --from flights fli-mcp
```

This adds it to the current project. Add `-s user` to use it everywhere.

### Any client

Most clients that start local servers accept this shape:

```json
{
  "mcpServers": {
    "fli": {
      "command": "uvx",
      "args": [
        "--from",
        "flights",
        "fli-mcp"
      ]
    }
  }
}
```

Zed puts servers under `context_servers` in its settings, with the same `command`, `args` and `env` fields.

Needs uv (Python) on your computer.

## Details

- Server version: 0.9.0
- Last checked: 2026-10-03
- Listed: 2026-10-03
- Updated: 2026-10-03

---
Source: https://mcp.tc/i/fli (mcp.tc is an independent directory, not affiliated with this server's publisher). Corrections: https://mcp.tc/report
