Sandbox
@jackculpan/flightclaw

MCP server for Google Flights search and tracking

FlightClaw connects an agent to flight search and fare tracking through a local MCP server. It can search routes, find cheapest dates, track trips, and check tracked prices for drops. The repo also includes plugin manifests for multiple clients so the same server can be installed in different tools.

72 stars12 forksPythonUpdated 14d ago
Who it's for

Builders who want their agent to search flights, track routes, and alert them when prices change.

What it delivers

You can ask your agent to watch flight prices instead of checking Google Flights yourself.

What it does

Flight search tools

`search_flights` looks up routes on Google Flights with filters for cabin, airlines, passengers, price, duration, times, layovers, and sorting.

Cheapest-date search

`search_dates` finds the cheapest day to fly across a date range in a calendar-style search.

Price tracking and alerts

`track_flight`, `check_prices`, `list_tracked`, and `remove_tracked` manage tracked routes and price changes.

Multi-client packaging

The repo includes `.claude-plugin/`, `.cursor-plugin/`, `.grok-plugin/`, and `gemini-extension.json` so different clients can load the same server.

Local data storage

Price history is saved in `data/tracked.json`, with `data/.gitkeep` keeping the folder in the repo.

CLI scripts

The `scripts/` folder keeps the original command-line entry points such as `search-flights.py`, `track-flight.py`, `check-prices.py`, and `list-tracked.py`.

How to get it

  1. 1Run
    # Install dependencies
    pip install "flights==0.9.0" "mcp[cli]<2" fastmcp pydantic-settings
    
    # Add to Claude Code
    claude mcp add flightclaw -- python3 /path/to/flightclaw/server.py
  2. 2Run
    npx skills add jackculpan/flightclaw
  3. 3Run
    /plugin marketplace add xai-org/plugin-marketplace
    /plugin install flightclaw
  4. 4Run
    /plugin marketplace add jackculpan/flightclaw
    /plugin install flightclaw@flightclaw
  5. 5Run
    /plugin marketplace add jackculpan/flightclaw
    /plugin install flightclaw
  6. 6Run
    gemini extensions install https://github.com/jackculpan/flightclaw

README

flightclaw

Track flight prices from Google Flights. Search routes, monitor prices over time, and get alerts when prices drop.

MCP Server

FlightClaw runs as a local MCP server, giving any MCP-compatible client (Claude Code, Claude Desktop, etc.) access to flight search and tracking tools.

Setup

# Install dependencies
pip install "flights==0.9.0" "mcp[cli]<2" fastmcp pydantic-settings

# Add to Claude Code
claude mcp add flightclaw -- python3 /path/to/flightclaw/server.py

Or in Claude Desktop, add to claude_desktop_config.json:

{
  "mcpServers": {
    "flightclaw": {
      "command": "python3",
      "args": ["/path/to/flightclaw/server.py"]
    }
  }
}

Tools

ToolDescription
search_flightsSearch Google Flights for prices on a route
search_datesFind cheapest dates to fly across a date range (calendar view)
track_flightAdd a route to price tracking with optional target price
check_pricesCheck all tracked flights for price changes and alerts
list_trackedList all tracked flights with price history
remove_trackedRemove a route from tracking

Search filters

All search tools support:

  • Passengers - adults, children, infants (in seat or on lap)
  • Airlines - filter to specific carriers (e.g. BA,AA,DL)
  • Price limit - max price in USD
  • Duration - max total flight time in minutes
  • Times - earliest/latest departure and arrival hours
  • Layovers - max layover duration in minutes
  • Sorting - by BEST, CHEAPEST, DEPARTURE, ARRIVAL, or DURATION
  • Multi-airport - comma-separated codes (e.g. LHR,MAN)
  • Date ranges - date_to for searching each day in a range

Example prompts

  • "Search flights from LHR to JFK on 2025-08-01 in business class"
  • "Find nonstop BA or VS flights LHR to JFK departing after 8am"
  • "What are the cheapest dates to fly LHR to JFK in July?"
  • "Search for 2 adults and 1 child, LHR to JFK, under $500"
  • "Track LHR to SFO on 2025-07-01 with a target price of $400"
  • "Check my tracked flights for price drops"

CLI Scripts

The original CLI scripts are still available in scripts/:

# Search flights
python scripts/search-flights.py LHR JFK 2025-07-01 --cabin BUSINESS

# Multiple airports and date ranges
python scripts/search-flights.py LHR,MAN JFK,EWR 2025-07-01 --date-to 2025-07-05

# Track a route
python scripts/track-flight.py LHR JFK 2025-07-01 --target-price 400

# Check for price drops (good for cron)
python scripts/check-prices.py --threshold 5

# List tracked flights
python scripts/list-tracked.py

How it works

  • Queries Google Flights via the fli library
  • Prices returned in user's local currency (auto-detected from IP)
  • Price history persists in data/tracked.json
  • Supports one-way and round trips, all cabin classes (economy to first)
  • Filter by airline, price, duration, departure/arrival times, layover duration
  • Multi-airport and date-range searches expand into all combinations
  • Date search finds the cheapest day to fly across a range

Install (OpenClaw)

npx skills add jackculpan/flightclaw

Install (Grok)

/plugin marketplace add xai-org/plugin-marketplace
/plugin install flightclaw

Install (Claude Code)

/plugin marketplace add jackculpan/flightclaw
/plugin install flightclaw@flightclaw

Install (Cursor)

/plugin marketplace add jackculpan/flightclaw
/plugin install flightclaw

Install (Gemini CLI)

gemini extensions install https://github.com/jackculpan/flightclaw

Each client reads its own manifest from this repo — .grok-plugin/, .claude-plugin/, .cursor-plugin/ and gemini-extension.json — and they all start the same MCP server.

The connector

The connector runs server.py through uv, which resolves the pinned dependencies at start-up. Install uv first; no other setup step runs on your machine.

What the connector reaches, and what it needs

EndpointPurposeCredentials
google.com/travel/flights (via the fli library)Flight search and price trackingnone
FLIGHTCLAW_API_URL (the private flightclaw-api Worker)Traveller profiles, preferences, cards, groups, trip history, Duffel booking and Link virtual-card paymentFLIGHTCLAW_API_KEY
Kiwi Tequila (api.tequila.kiwi.com)Optional bookability check; hand-off deep links to kiwi.com and skyscanner.netKIWI_API_KEY, KIWI_AFFILID

Search and price tracking work with no credentials at all. Every other group of tools stays inactive until its variables are set:

VariableEffect when unset
FLIGHTCLAW_API_URL, FLIGHTCLAW_API_KEYProfile, booking and payment tools return "not configured"
FLIGHTCLAW_TENANTServer default tenant is used
KIWI_API_KEY, KIWI_AFFILIDKiwi coverage is skipped
HOST, PORTOnly read in HTTP transport mode; the connector runs over stdio

FlightClaw reads no other environment variable, writes only to its own data/ directory, and runs no install-time script.

License

MIT — see LICENSE.

Files in the repo

Repository payload30 top-level entries
  • .claude-plugin
  • .cursor-plugin
  • .grok-plugin
  • data
  • scripts
  • .gitignore
  • .mcp.json
  • cards_tools.py
  • duffel_api.py
  • duffel_fmt.py
  • duffel_link.py
  • duffel_tools.py
  • fulfillment.py
  • gemini-extension.json
  • group_tools.py
  • helpers.py
  • LICENSE
  • link_payment.py
  • mcp.json
  • passenger_profiles.py
  • preferences_tools.py
  • profile_api.py
  • README.md
  • recommend.py
  • server.py
  • setup.sh
  • SKILL.md
  • tracking.py
  • traveler_tools.py
  • trip_tools.py

Discussion (0)

Ask about usage, or say what you built with it

Sign in to join the discussion.

No comments yet. Be the first to say what this is good for.

More connectors

Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface

86k

High-performance code intelligence MCP server. Indexes codebases into a persistent knowledge graph — average repo in milliseconds. 158 languages, sub-ms queries, 99% fewer tokens. Single static binary, zero dependencies.

43k

Universal provider proxy for OpenAI Codex & Claude Code — use any LLM (Claude, Gemini, Grok, DeepSeek, Ollama…) with Codex CLI, App, SDK, and Claude Code

14k
okf-memory/
okf-agent-memory

Git-native persistent memory for AI coding agents. Implements Google OKF v0.2 with sub-300µs in-memory BM25 search, embedded MCP server, and progressive disclosure. Slashes token bloat by 80% with zero external databases or dependencies. Built in pure Go.

547
2akouwu/
reverify

Stop your AI from making things up — it proposes, deterministic tools decide, every claim checked against ground truth with evidence. Grounded facts and context survive resets. Reverse engineering is the proving ground. MCP server + CLI.

1.1k

x64dbg-MCP Server is a native MCP (Model Context Protocol) plugin for x64dbg that exposes the debugger's full functionality over HTTP. Connect any MCP-compatible AI assistant and control x64dbg programmatically: set breakpoints, step through code, read memory, dump registers, and more. Built with Zig — zero dependencies, single-binary output, cros

1.9k