{
  "markdown": "# flightclaw\n\nTrack flight prices from Google Flights. Search routes, monitor prices over time, and get alerts when prices drop.\n\n## MCP Server\n\nFlightClaw runs as a local [MCP](https://modelcontextprotocol.io) server, giving any MCP-compatible client (Claude Code, Claude Desktop, etc.) access to flight search and tracking tools.\n\n### Setup\n\n```bash\n# Install dependencies\npip install \"flights==0.9.0\" \"mcp[cli]<2\" fastmcp pydantic-settings\n\n# Add to Claude Code\nclaude mcp add flightclaw -- python3 /path/to/flightclaw/server.py\n```\n\nOr in Claude Desktop, add to `claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"flightclaw\": {\n      \"command\": \"python3\",\n      \"args\": [\"/path/to/flightclaw/server.py\"]\n    }\n  }\n}\n```\n\n### Tools\n\n| Tool | Description |\n|------|-------------|\n| `search_flights` | Search Google Flights for prices on a route |\n| `search_dates` | Find cheapest dates to fly across a date range (calendar view) |\n| `track_flight` | Add a route to price tracking with optional target price |\n| `check_prices` | Check all tracked flights for price changes and alerts |\n| `list_tracked` | List all tracked flights with price history |\n| `remove_tracked` | Remove a route from tracking |\n\n### Search filters\n\nAll search tools support:\n\n- **Passengers** - adults, children, infants (in seat or on lap)\n- **Airlines** - filter to specific carriers (e.g. `BA,AA,DL`)\n- **Price limit** - max price in USD\n- **Duration** - max total flight time in minutes\n- **Times** - earliest/latest departure and arrival hours\n- **Layovers** - max layover duration in minutes\n- **Sorting** - by BEST, CHEAPEST, DEPARTURE, ARRIVAL, or DURATION\n- **Multi-airport** - comma-separated codes (e.g. `LHR,MAN`)\n- **Date ranges** - `date_to` for searching each day in a range\n\n### Example prompts\n\n- \"Search flights from LHR to JFK on 2025-08-01 in business class\"\n- \"Find nonstop BA or VS flights LHR to JFK departing after 8am\"\n- \"What are the cheapest dates to fly LHR to JFK in July?\"\n- \"Search for 2 adults and 1 child, LHR to JFK, under $500\"\n- \"Track LHR to SFO on 2025-07-01 with a target price of $400\"\n- \"Check my tracked flights for price drops\"\n\n## CLI Scripts\n\nThe original CLI scripts are still available in `scripts/`:\n\n```bash\n# Search flights\npython scripts/search-flights.py LHR JFK 2025-07-01 --cabin BUSINESS\n\n# Multiple airports and date ranges\npython scripts/search-flights.py LHR,MAN JFK,EWR 2025-07-01 --date-to 2025-07-05\n\n# Track a route\npython scripts/track-flight.py LHR JFK 2025-07-01 --target-price 400\n\n# Check for price drops (good for cron)\npython scripts/check-prices.py --threshold 5\n\n# List tracked flights\npython scripts/list-tracked.py\n```\n\n## How it works\n\n- Queries Google Flights via the `fli` library\n- Prices returned in user's local currency (auto-detected from IP)\n- Price history persists in `data/tracked.json`\n- Supports one-way and round trips, all cabin classes (economy to first)\n- Filter by airline, price, duration, departure/arrival times, layover duration\n- Multi-airport and date-range searches expand into all combinations\n- Date search finds the cheapest day to fly across a range\n\n## Install (OpenClaw)\n\n```bash\nnpx skills add jackculpan/flightclaw\n```\n\n## Install (Grok)\n\n```\n/plugin marketplace add xai-org/plugin-marketplace\n/plugin install flightclaw\n```\n\n## Install (Claude Code)\n\n```\n/plugin marketplace add jackculpan/flightclaw\n/plugin install flightclaw@flightclaw\n```\n\n## Install (Cursor)\n\n```\n/plugin marketplace add jackculpan/flightclaw\n/plugin install flightclaw\n```\n\n## Install (Gemini CLI)\n\n```bash\ngemini extensions install https://github.com/jackculpan/flightclaw\n```\n\nEach client reads its own manifest from this repo — `.grok-plugin/`,\n`.claude-plugin/`, `.cursor-plugin/` and `gemini-extension.json` — and they all\nstart the same MCP server.\n\n## The connector\n\nThe connector runs `server.py` through `uv`, which resolves the pinned\ndependencies at start-up. Install [uv](https://docs.astral.sh/uv/) first; no\nother setup step runs on your machine.\n\n### What the connector reaches, and what it needs\n\n| Endpoint | Purpose | Credentials |\n|---|---|---|\n| `google.com/travel/flights` (via the `fli` library) | Flight search and price tracking | none |\n| `FLIGHTCLAW_API_URL` (the private flightclaw-api Worker) | Traveller profiles, preferences, cards, groups, trip history, Duffel booking and Link virtual-card payment | `FLIGHTCLAW_API_KEY` |\n| Kiwi Tequila (`api.tequila.kiwi.com`) | Optional bookability check; hand-off deep links to `kiwi.com` and `skyscanner.net` | `KIWI_API_KEY`, `KIWI_AFFILID` |\n\nSearch and price tracking work with no credentials at all. Every other group of\ntools stays inactive until its variables are set:\n\n| Variable | Effect when unset |\n|---|---|\n| `FLIGHTCLAW_API_URL`, `FLIGHTCLAW_API_KEY` | Profile, booking and payment tools return \"not configured\" |\n| `FLIGHTCLAW_TENANT` | Server default tenant is used |\n| `KIWI_API_KEY`, `KIWI_AFFILID` | Kiwi coverage is skipped |\n| `HOST`, `PORT` | Only read in HTTP transport mode; the connector runs over stdio |\n\nFlightClaw reads no other environment variable, writes only to its own `data/`\ndirectory, and runs no install-time script.\n\n## License\n\nMIT — see [LICENSE](LICENSE).\n",
  "bytes": 5238,
  "sha": "dbcf1ac138fd426b6c50be8451d01f8ad6d35e45fb1436f892b3b7d641af82fa",
  "repo_slug": "jackculpan/flightclaw",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/skl_jackculpan_flightclaw_flightclaw_9425387c/readme"
}