mcpField
F
flightclaw

flightclaw

github.com/flightclawProductivity781.1k installsUpdated 2d ago
Repository

About flightclaw

FlightClaw is a personal travel-booking agent for travelers who want flight recommendations based on saved profiles, preferences, companions, and loyalty balances. Its hosted service supports booking and payment, while the local server is limited to flight search and price tracking.

Key features

  1. 01Store traveler profiles and preferences
  2. 02Recommend flights using saved preferences
  3. 03Search flights and track price changes
  4. 04Create hosted bookings and checkouts
  5. 05Record trips and learn from feedback

Use cases

  1. 01Compare flight options for a planned trip
  2. 02Track a flight for price drops
  3. 03Book a selected offer through hosted checkout
  4. 04Use trip feedback to refine future recommendations

MCP support

FlightClaw exposes travel personalization, flight search, tracking, booking, payment, and trip-history tools to MCP clients. The hosted MCP endpoint handles profiles and bookings; the local server supports search and price tracking only.

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/flightclaw/agents --skill flightclaw

After installing, type/flightclawin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

LICENSE
.mcp.json
.gitignore
README.md
mcp.json
helpers.py
gemini-extension.json
glama.json
server.json
setup.sh
server.py
smithery.yaml
tracking.py
.claude-plugin/
marketplace.json
plugin.json
.cursor-plugin/
plugin.json
marketplace.json
.grok-plugin/
plugin.json
data/
.gitkeep
scripts/
list-tracked.py
check-prices.py
search-flights.py
search_utils.py
track-flight.py

Details

From the project README

flightclaw

FlightClaw is a personal travel-booking agent. It remembers who you are, who you travel with, the loyalty programs and cards you hold, and how you like to fly — then recommends, books, pays for, and learns from each trip.

Profiles, booking and payment run on the hosted server (https://mcp.flightclaw.com/mcp, OAuth sign-in). The local server in this repo only searches and price-tracks flights.

The flow

1. Onboarding (one time)

Set this up once, then reuse forever.

  1. Who you are — save_traveler for yourself (full passport-accurate name, DOB, contact, loyalty programmes), then set_me to mark that profile as you and record home airports.
  2. Companions — save_traveler for each person you travel with (relationship: spouse/partner/child/parent/friend/colleague). Group them with save_group (e.g. family = jack,jane).
  3. Preferences — set_preferences: cabin by haul (e.g. short-haul ECONOMY, long-haul BUSINESS), preferred/avoided airlines, alliance, seat, departure window, max stops, red-eye tolerance, baggage, meal, and budget sensitivity (cheapest / balanced / comfort).
  4. Cards & points — save_card for each card; set_points_balance for each loyalty/transfer program. Then enrich with the Card Links MCP (find_transfer_programs_for_airline, list_transfer_partners) so you know which airlines each card's points can reach.
2. Planning a trip
  1. Ask where they want to go and who's coming — reuse a group with get_group (it returns the exact passengers string for booking) or make a new one with save_group.
  2. Recommend — recommend_flights(origin, destination, date, ...). It loads the saved preferences, picks the cabin by haul, drops avoided airlines, and ranks options on price/duration/stops/preferred-airline/departure-window/ red-eye, returning the top 3 with a "why this fits you" for each.
  3. Awards / points option — if they want to spend points, call the Award Travel Finder MCP (search_availability, search_all_airlines, get_pricing) using their stored loyalty programs and points balances, and present award options alongside the cash fares ("best overall / cheapest / best points value").
3. Booking & paying

Hosted server (https://mcp.flightclaw.com/mcp)

  1. search_flights / search_multi_city / recommend_flights → pick an offer → get_offer to confirm price, bags and fare rules. Offers expire in about 30 minutes.
  2. Confirm the choice with the user, then create_checkout(offer_id, passengers). It returns checkout_id, checkout_url and the exact total_amount + total_currency (airline fare + FlightClaw booking fee). Nothing is charged yet.
  3. Pay one of two ways:
    • Checkout link — give the user checkout_url and total_amount. The user pays there by card.
    • Link virtual card — create a Link spend request for exactly total_amount in total_currency. The amount must include the booking fee; the fare alone is too low. The user approves the spend in Link. Then pay on checkout_url with the Link virtual card.
  4. get_checkout_status(checkout_id) until completed, then get_order. failed means no payment was taken and you can retry.

Payment rules:

  • Use the total_amount from create_checkout. Never compute the price yourself.
  • Never pay more than the amount the user approved in Link. If the total changes, stop, create a new checkout and ask for a new approval.
  • Never ask for or type card numbers from the user.

After booking, call log_trip (route, dates, travelers, cabin, price, order_id) so the trip enters history and the follow-up queue.

4. Post-trip follow-up & learning (the real magic)
  1. trips_pending_followup surfaces trips that have completed/returned.
  2. Ask how each went, then record_trip_feedback(id, feedback, learnings=...). Durable lessons (e.g. "prefers window on long-haul", "dislikes early departures") are appended to the user's preferences, so the next recommend_flights is sharper. Over time FlightClaw learns the traveler.

Tools

Personalization (hosted)

  • Travelers: save_traveler, list_travelers, get_traveler, delete_traveler, set_me, get_me.
  • Preferences: set_preferences, get_preferences, update_preferences.
  • Cards/points: save_card, list_cards, delete_card, set_points_balance, list_points.
  • Groups: save_group, list_groups, get_group, delete_group.
  • Trips: log_trip, list_trips, get_trip, trips_pending_followup, record_trip_feedback.
  • Recommendation: recommend_flights.

Search & tracking — search_flights, search_dates, track_flight, check_prices, list_tracked, remove_tracked.

Hosted booking — get_offer, get_seat_map, create_checkout, get_checkout_status, list_orders, get_order, request_change, cancel_order. Hosted price tracking: track_flight, list_tracked, remove_tracked (checked daily, email alert on a drop).

External MCP integration

FlightClaw stores the user's cards/points; the agent enriches and acts on them using two other MCP servers when present:

  • Card Links — transfer partners and card comparisons for the user's stored cards.
  • Award Travel Finder — award availability and points pricing across airlines/programs.

When surfacing card recommendations from Card Links, always include its disclaimers: not financial advice; affiliate links may earn commission; card terms change — verify current offers with the issuer.

Setup

Hosted: claude mcp add --transport http flightclaw https://mcp.flightclaw.com/mcp (sign in with OAuth; no keys needed).

Local (search and price tracking only, no account):

pip install "flights==0.9.0" "mcp[cli]<2" fastmcp pydantic-settings
claude mcp add flightclaw -- python3 /path/to/agents/server.py

Data

The local server stores price-tracking history in data/tracked.json (gitignored).

Comments

Markdown supported