Portage prices a trip from your doorstep rather than from an airport. It answers the one question no travel site will: which airport should I actually fly from?
Why the answer needs you. The cheapest fare is not the cheapest trip. A $200 saving at an airport two hours away is not a saving once the drive, the parking, the border and the exchange rate are in it — and nobody can work that out without knowing what your car costs per kilometre and what an hour of your time is worth. No booking form has ever asked. A conversation can.
Portage is a remote MCP server over Streamable HTTP with OAuth 2.1 and PKCE. It works in any client that speaks MCP.
Portage.https://flyportage.com/mcpOnce added on a computer it appears on your phone automatically. There is nothing to install.
OAuth 2.1 authorization code flow with PKCE (S256 only). Dynamic client registration is supported at /oauth/register, and discovery is published at /.well-known/oauth-authorization-server and /.well-known/oauth-protected-resource. Access tokens are signed rather than stored.
“Portage” is a verb. It means to carry — and in ChatGPT, Claude, or any assistant with the connector added, it is the word that tells the AI you are talking to Portage and nobody else. Put it in front of the trip and everything after it goes to the engine:
In ChatGPT you can also write @Portage. Either way the assistant uses the real tools
and real numbers — never its own guesses — and if you just talk about a trip naturally
without the word, a connected assistant will still recognise it. The lingo is the guarantee, not
the only door.
Portage staggers the trip, on purpose. First where are you starting from — which is not always where you live. Then flights: the airports you can actually reach, compared door to door, and you pick one. Checkpoint. Then wheels. Checkpoint. Then where you sleep. It will not dump flights, cars and hotels on you in one wall, because a wall of everything decides nothing. (Cars and hotels are not priced by Portage yet — the assistant can help by hand and will say plainly when a number is its own rather than Portage’s.)
Everything you price in a conversation is kept. Sign in at flyportage.com and Your Trips holds every search as a card — each airport’s option side by side, cheapest first, with the date it was priced. From there you can compare airports line by line, arm a watch, or re-price. Fired watches land at the top of the same page. Say it in the assistant; nudge it from the site; same engine, same memory.
Say the trip the way you would say it out loud. These all work:
That fourth one is worth pointing out: it is a rate, not a filter. Portage prices the redeye eighty dollars higher and lets it lose fairly, rather than hiding it. Only a conversation can take an input like that.
On first use Portage asks four things and will not price anything until it has them: where you leave from, what your car costs per kilometre, what an hour of your time is worth, and which airports you would actually drive to. Each one can say what it buys. Nothing is assumed on your behalf.
| Tool | What it does | Writes? |
|---|---|---|
| find_flights | The product. Ranked landed costs from every airport you can reach, with the comparable an ordinary search would have given you. | writes |
| price_trip | One origin, one destination, one pair of dates, itemised. | read only |
| worth_it | Is the far airport worth it, given what this one costs. | read only |
| plan_trip | Turns a described trip into a scenario — who is coming, who pays separately, what matters most. | writes |
| booking_plan | The exact set of bookings a trip needs, in order, and what is unprotected between them. | read only |
| itinerary | The finished plan, with what was found beside what it cost. | read only |
| watch | Keep watching after the conversation ends; also list, check and cancel. | writes / cancels |
| heads_up | What is worth knowing before you commit — border hours, closures, timing. | read only |
| what_do_you_hold | Memberships and entitlements, deduplicated into one packing list. | read only |
| savings_receipt | What was saved, where, and what we charged — both, always. | read only |
| my_profile / set_profile | Your rates and currency. | read / writes |
| my_catchment / set_catchment | Your airports and what each costs to reach. | read / writes |
| remember | A constraint said once and applied from then on. | writes |
| first_run | The four opening questions and what is still unknown. | writes |
| field_report | What a border wait or a car park was actually like. | writes |
| export | Everything you have, as JSON or CSV, in one call. | read only |
| search / fetch | The read-only discovery pair ChatGPT’s ordinary chats use: search what is stored, fetch one record. They read; they never price. | read only |
Every tool carries a safety annotation. Nothing deletes anything except cancelling a watch you created.
These are deliberate, and they are the reason the answers can be trusted.
Email laszlobrianczako@gmail.com. Source at github.com/lczako-eng/Portage.