Skip to content
Business
MCP

seats-aero

Ships with travel-hacker: AI-powered travel hacking with points, miles, and award flights. Drop-in skills and MCP servers for OpenCode, Claude Code, and Codex. Ask your AI to find you a 60,000-mile…

From plugin
travel-hacker
94848 skills1 agent7 MCP

Claude Code

> /plugin marketplace add borski/travel-hacking-toolkit
> /plugin install travel-hacker@borski

Security report

Found

Low risk

  • Known flaws

    Not published

  • Signed build

    Not published

  • Maintained

    Nov 9, 2026

    Last push

  • Licence

    MIT

  • Runs as

    Remote

    seats.aero

  • Deprecated

    Not published

Signals from public registries, not an audit. Checked Nov 14, 2026.

travel-hacker README

Travel Hacking Toolkit

AI-powered travel hacking with points, miles, and award flights. Drop-in skills and MCP servers for OpenCode, Claude Code, and Codex.

Ask your AI to find you a 60,000-mile business class flight to Tokyo. It'll search award availability across 27 mileage programs, compare against cash prices, check your loyalty balances, and tell you the best play.

Quick Start

Install via plugin (no clone)

The easiest way to use the toolkit. Pick your tool:

Claude Code

Inside Claude Code, run:

/plugin marketplace add borski/travel-hacking-toolkit
/plugin install travel-hacker@borski

Done. 42 skills, 7 MCP servers (6 free + LiteAPI which needs a key), and the travel-hacker subagent are installed. Run claude from anywhere and ask it to plan a trip.

To verify the install, run /travel-hacker:getting-started inside Claude Code. It tells you which API keys are configured and points at the local setup script for the missing ones. Or in your shell: claude plugin list | grep travel-hacker should show the plugin.

Codex

In your terminal:

codex plugin marketplace add borski/travel-hacking-toolkit

Then start Codex and the plugin appears in /plugins. Codex pulls the marketplace catalog from the repo (.agents/plugins/marketplace.json) and the plugin manifest from plugins/travel-hacking-toolkit/.codex-plugin/plugin.json, so the install is one command.

Cowork (Claude Desktop's agent panel)

Cowork itself doesn't expose /plugin slash commands, so you can't install plugins from inside a Cowork chat. Install via Claude Code first; Cowork picks it up automatically because both share ~/.claude/plugins/.

  1. In your terminal, run claude
  2. In Claude Code, run the two install commands from the Claude Code section above
  3. Open Cowork inside Claude Desktop. The plugin is already there.

Claude Desktop's chat UI doesn't support the plugin format yet, so use Cowork inside the same app for the full experience.

Configure API keys

The 6 free MCP servers (Skiplagged, Kiwi, Trivago, Ferryhopper, Airbnb, Seats.aero) work immediately with zero keys. Cash flight and hotel search work out of the box, and so does cached award search for flights in the next 60 days.

To unlock award search and the rest of the toolkit, you need API keys set as environment variables in your shell. Run the local setup script:

macOS / Linux / WSL / Git Bash:

bash <(curl -fsSL https://raw.githubusercontent.com/borski/travel-hacking-toolkit/main/scripts/setup-keys.sh)

Windows (PowerShell):

iwr https://raw.githubusercontent.com/borski/travel-hacking-toolkit/main/scripts/setup-keys.ps1 -OutFile $env:TEMP\setup-keys.ps1
powershell -NoProfile -ExecutionPolicy Bypass -File $env:TEMP\setup-keys.ps1
Remove-Item $env:TEMP\setup-keys.ps1

The script prompts for each key with masked input, validates them (rejects values with single quotes that would break the export, plus a per-key minimum length sanity check), writes them to the right shell rc with a backup, and never echoes the values back. The exports are single-quoted so other shell metacharacters in the key are safe. Keys never enter your terminal scrollback or any chat session. The /travel-hacker:getting-started skill inside Claude Code points at the same script.

The 4 highest-value keys:

KeyWhat it unlocksCost
SEATS_AERO_API_KEYAward flight search across 27 mileage programs. The main event.Pro ~$8/mo
DUFFEL_API_KEY_LIVEReal GDS cash flight prices.Free to search, pay per booking
IGNAV_API_KEYBackup cash flight prices. Fast REST API.1,000 free requests/month
AWARDWALLET_API_KEY + AWARDWALLET_USER_IDAuto-pull your loyalty balances, elite status, transfer ratios.Business account required

Other keys (SerpAPI, RapidAPI, LiteAPI, TripAdvisor, RESROBOT, Rejseplanen, Entur) extend specific skills. The setup skill covers them too. See the full API key reference for signup links.

Five Docker-based skills (Southwest, American Airlines, Chase, Amex, TicketsAtWork) handle sites that don't have public APIs, plus a shared base image. They auto-pull on first use. See the Docker Images section for credentials and configuration.

Manual setup (if you'd rather not use the skill)

Add to your shell rc (~/.zshrc, ~/.bashrc, etc.):

export SEATS_AERO_API_KEY="your-key-here"
export DUFFEL_API_KEY_LIVE="your-key-here"
export IGNAV_API_KEY="your-key-here"
export AWARDWALLET_API_KEY="your-key-here"
export AWARDWALLET_USER_ID="your-user-id"

Reload (source ~/.zshrc) or open a new terminal, then run claude.

If you keep secrets in 1Password, you can resolve at launch instead:

op run --no-masking --env-file=.env -- claude

The --no-masking flag is required because op run's default output masking interferes with Claude Code's TTY detection and triggers a non-interactive prompt error. Masking only affects stdout, not the env vars themselves, so the keys still get to claude correctly.

(See 1Password CLI docs for the .env template syntax.)

The toolkit reads keys from the shell environment because plugin userConfig doesn't propagate to skills that shell out to scripts (verified empirically; related upstream issues anthropics/claude-code#11927, #39125).

Clone path (for OpenCode users or contributors)

OpenCode doesn't have a plugin format, so OpenCode users clone the repo. Contributors who want to hack on the toolkit also clone.

git clone https://github.com/borski/travel-hacking-toolkit.git
cd travel-hacking-toolkit

# macOS / Linux / WSL / Git Bash
./scripts/setup.sh

# Windows (PowerShell or cmd)
.\scripts\setup.cmd

The setup script picks your tool (OpenCode, Claude Code, Codex, or all three), creates your API key config file, installs dependencies, and optionally installs skills system-wide for OpenCode and Claude Code.

On Windows the .cmd wrapper launches scripts\setup.ps1 with an ExecutionPolicy bypass so nothing needs to be unblocked first.

Then launch your tool from inside the repo:

# OpenCode
opencode

# Claude Code (loads the plugin from the working tree, no install needed)
claude --plugin-dir .

# Codex
source .env && codex

claude --plugin-dir . loads the plugin (skills, MCP servers, and the travel-hacker subagent) directly from your clone. Changes you make to the toolkit are picked up immediately. Useful when you're contributing.

What's Included

MCP Servers (real-time tools)

ServerWhat It DoesAPI Key
SkiplaggedFlight search with hidden city faresNone (free)
Kiwi.comFlights with virtual interlining (creative cross-airline routing)None (free)
TrivagoHotel metasearch across booking sitesNone (free)
FerryhopperFerry routes across 33 countries, 190+ operatorsNone (free)
AirbnbSearch Airbnb listings, property details, pricing. Includes geocoding fix, property type filter, and DISABLE_GEOCODING opt-out.None (free)
Seats.aeroOfficial award search MCP. Cached availability for the next 60 days with no sign-in. Pro sign-in (OAuth) adds live search, alerts, award hotels, upgrades, and deals.None for 60 days. Seats.aero Pro for the rest
LiteAPIHotel search with live rates and bookingLiteAPI

Skills (API knowledge for your AI)

Start here: the orchestration skills call everything else automatically.

The skill tables below are auto-generated from skills/*/SKILL.md frontmatter by scripts/gen-skill-tables.sh. Edit the source frontmatter, not the tables. Signup links and API key URLs live in the API Keys & Signup Links section below.

Orchestration
SkillWhat It DoesAPI Key
award-calendarCheapest award dates for a route across a date range. Calendar grid view.Seats.aero Pro
compare-flightsUnified flight comparison across ALL sources in parallel. Auto-applies transfer optimization.Uses individual skill keys
compare-hotelsUnified hotel comparison across portals, metasearch, and Airbnb. FHR/Edit stacking detection.Uses individual skill keys
gardeningAudit existing reservations for price drops, better cabins, schedule changes, and improved routings.Uses individual skill keys
getting-startedFirst-run onboarding. Detects setup, points to setup-keys script, shows sample prompts.None
plan-tripGuided trip planner. The hero command for the toolkit.None
trip-calculatorCash vs points decision answered with math. Transfer ratios, taxes, opportunity cost.None (free, local data)
trip-logOpt-in trip journal. Save searches and booked trips to trips/logs/ for future reference.None
trip-plannerFull trip planning. Flights + hotels + points in one shot.Uses individual skill keys
Flights
SkillWhat It DoesAPI Key
duffelPrimary cash prices. Real GDS per-fare-class data.Duffel
google-flightsBrowser-automated Google Flights. All airlines including Southwest.None (requires agent-browser)
ignavFast REST API cash prices. Market selection for arbitrage.Ignav (1,000 free)
seatmapsAircraft seat maps, cabin dimensions, seat recommendations.None (requires agent-browser)
seats-aeroAward availability across 27 mileage programs. Partner API, plus the official MCP (keyless for the next 60 days, Pro sign-in for live search and alerts).Seats.aero Pro/Partner (MCP free for 60 days)
southwestSW fare classes, points pricing, Companion Pass. Change flight price drop monitor. Docker: ghcr.io/borski/sw-fares.None (requires Patchright)
wikipedia-airportsRoute discovery and airline-service sanity check via Wikipedia airport pages. Answers "does carrier X fly A→B" and "what airports serve destination Y" when fare tools disagree or miss obscure regional service. No API key.None
Credit Card Travel Portals
SkillWhat It DoesAPI Key
amex-travelAmex MR portal for flights, hotels, IAP discounts, FHR/THC benefits. Requires Platinum. Docker: ghcr.io/borski/amex-travel.None (requires Patchright)
biltBilt Rewards travel portal for hotels and flights. 1.25 cpp on Bilt Points. Home Away From Home properties give $300+ in benefits to Gold/Platinum members.None (public API)
chase-travelChase UR portal for flights, hotels, Points Boost, Edit benefits. Requires Sapphire. Docker: ghcr.io/borski/chase-travel.None (requires Patchright)
Hotels and Accommodation
SkillWhat It DoesAPI Key
premium-hotelsSearch 4,659 Amex FHR/THC + Chase Edit hotels by city. Stacking opportunities.None (local data)
rapidapiBooking.com hotel prices.RapidAPI
@borski
Ships withtravel-hacker
94848 skills1 agent7 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
948
Star history of borski/travel-hacking-toolkit on GitHub, a chart by star-history.com

More MCP servers from other plugins.

yolfi

yolfi

MCP

Ships with yolfi-agent-kit: AI agent payment integration for crypto and stablecoin checkout. @yolfi/agent provides a local MCP…

pump-fun

pump-fun

MCP

Ships with pump-fun-sdk: Open-source framework for building PumpFun Telegram bots on Solana. Claim monitors, channel feeds, group…

pump-fun-sdktoday150
@nirholas@nirholasInstall MCP

Questions about seats-aero.

Which coding agents can use seats-aero?
seats-aero works in any agent that reads an MCP config file: Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf. Each agent reads it from its own file; this page names the file for each one.
How do I add seats-aero to Claude Code?
Run these in order, one at a time. 1. In Claude Code: /plugin marketplace add borski/travel-hacking-toolkit 2. In Claude Code: /plugin install travel-hacker@borski
Is seats-aero safe to install?
Low risk. Signals from public registries, not an audit.