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
- 01Store traveler profiles and preferences
- 02Recommend flights using saved preferences
- 03Search flights and track price changes
- 04Create hosted bookings and checkouts
- 05Record trips and learn from feedback
Use cases
- 01Compare flight options for a planned trip
- 02Track a flight for price drops
- 03Book a selected offer through hosted checkout
- 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 flightclawAfter installing, type/flightclawin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
LICENSE.mcp.json.gitignoreREADME.mdmcp.jsonhelpers.pygemini-extension.jsonglama.jsonserver.jsonsetup.shserver.pysmithery.yamltracking.py.claude-plugin/marketplace.jsonplugin.json.cursor-plugin/plugin.jsonmarketplace.json.grok-plugin/plugin.jsondata/.gitkeepscripts/list-tracked.pycheck-prices.pysearch-flights.pysearch_utils.pytrack-flight.pyDetails
From the project READMEflightclaw
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.
- Who you are —
save_travelerfor yourself (full passport-accurate name, DOB, contact, loyalty programmes), thenset_meto mark that profile as you and record home airports. - Companions —
save_travelerfor each person you travel with (relationship: spouse/partner/child/parent/friend/colleague). Group them withsave_group(e.g.family=jack,jane). - 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). - Cards & points —
save_cardfor each card;set_points_balancefor 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
- Ask where they want to go and who's coming — reuse a group with
get_group(it returns the exactpassengersstring for booking) or make a new one withsave_group. - 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. - 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)
search_flights/search_multi_city/recommend_flights→ pick an offer →get_offerto confirm price, bags and fare rules. Offers expire in about 30 minutes.- Confirm the choice with the user, then
create_checkout(offer_id, passengers). It returnscheckout_id,checkout_urland the exacttotal_amount+total_currency(airline fare + FlightClaw booking fee). Nothing is charged yet. - Pay one of two ways:
- Checkout link — give the user
checkout_urlandtotal_amount. The user pays there by card. - Link virtual card — create a Link spend request for exactly
total_amountintotal_currency. The amount must include the booking fee; the fare alone is too low. The user approves the spend in Link. Then pay oncheckout_urlwith the Link virtual card.
- Checkout link — give the user
get_checkout_status(checkout_id)untilcompleted, thenget_order.failedmeans no payment was taken and you can retry.
Payment rules:
- Use the
total_amountfromcreate_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)
trips_pending_followupsurfaces trips that have completed/returned.- 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 nextrecommend_flightsis 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).