Upgrade Agent

ai.upgradeagentPublished by upgradeagent.aiOfficial publisherv1.1.0Updated Oct 24, 2026

Quote, bid and confirm travel upgrades: eligibility, bid range, place/modify/cancel, instant buy.

VerifiedStreamable HTTPWeb executableLocation & LifestyleBusiness & Commerce

Overview

AI-generated overview

A remote MCP server for travel upgrades: it checks booking eligibility, places, modifies or cancels upgrade bids, and buys fixed-price upgrades for flights, cru

What you can do
Check upgrade eligibility for a flight, cruise or rail booking, with a secure page where the traveler enters their booking reference and last name, then read the live result by session id. Place a bid or buy a fixed-price instant upgrade, modify a bid amount, cancel a bid, and check bid status and the current cart. See an itemized all-in price breakdown before committing, and estimate how likely a bid amount is to be accepted. Poll an event log for bid-outcome changes such as accepted, declined, cancelled or paid. Set up a watcher that monitors a booking until departure for better seats, cabin upgrades, lounge or fast track, and check its status. Ask general upgrade questions and look up an
When to use it
Use it when a traveler wants to know whether their flight, cruise or rail booking can be upgraded, what a bid might cost, or wants to place, change or withdraw an upgrade bid. Also useful for general questions about how upgrade programs work and which operators offer them.
Requirements
A remote streamable HTTP endpoint; no package or local runtime is needed. No authentication, environment variables or headers are declared. The traveler must supply their booking reference and last name on the server's secure page, and payment is completed through a link to the operator's own checkout.
Before you install
Bids and instant upgrades are real purchases: place_bid, modify_bid and cancel_bid change a booking, and payment is completed on the operator's secure link, so confirm with the traveler before calling. The traveler's booking reference and last name are entered on a third-party secure page. Partner analytics tools expose per-partner question, funnel and visibility data. Bid-success estimates return null when data is insufficient.

Installation

In SourceWeft

  1. Open Upgrade Agent in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/ai.upgradeagent%2Fupgrade-agent/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "upgrade-agent": {
      "type": "http",
      "url": "https://www.upgradeagent.ai/api/mcp"
    }
  }
}

README

This repository has no README.

Tools

21

check_upgrade_eligibility

Check Booking Eligibility

Looks up a booking's upgrade eligibility from a booking reference and last name, and airline. Returns eligibility status, upgrade options, bid ranges, and a session id for follow-up bid tools.

ParameterspnrrequiredcarrierlanguagelastNamerequiredintentContextconversationIdtravelerQuestion

start_eligibility_check

Start Eligibility Check

Starts an upgrade eligibility check for a flight, cruise, or rail booking. Returns a secure page (and, where supported, an inline form) for the traveler to enter their booking reference and last name.

ParameterscarrierlanguageintentContexttravelerQuestion

mint_eligibility_session

Mint Eligibility Session (internal)

Internal helper for the inline eligibility form: creates a secure session and returns its id. No UI; agents should use start_eligibility_check instead.

Parameterscarrierlanguage

get_eligibility_result

Get Eligibility Result

Read the result of a secure eligibility check started with start_eligibility_check. Pass the sessionId returned by that tool. Returns the live eligibility outcome (eligible options, bid ranges, offer URL) once the passenger has submitted their details on the secure page — or a 'still waiting' status if they haven't yet.

ParameterssessionIdrequiredconversationId

place_bid

Place Upgrade Bid

Places an upgrade bid, or buys a fixed-price (INSTANT) upgrade, for a checked booking. Takes an eligibility-check session id, an amount (omitted for INSTANT), and a cabin/segment. Returns a secure operator link to complete payment.

ParametersamountconfirmsegmentquantitysessionIdupgradeTypepurchaseTypeconversationIdpresentationReport

modify_bid

Modify Upgrade Bid

Change the amount of a bid already prepared/placed on a booking. Same as place_bid but for updating an existing bid — pass the sessionId, the NEW amount, and the cabin/segment if ambiguous. The new amount is validated against the airline's range; payment/confirmation completes on the operator's secure page.

ParametersamountrequiredconfirmsegmentquantitysessionIdupgradeTypeconversationIdpresentationReport

get_bid_status

Get Bid Status

Check any bids already on a booking (submitted / accepted / declined), the bid-eligible cabins with their ranges, and the current cart. Pass the sessionId from start_eligibility_check. In hosts that render app widgets it shows a manage screen inline. Use modify_bid / cancel_bid to change or withdraw a bid.

ParameterssessionIdconversationIdpresentationReport

get_offer_events

Get Offer Events

Poll for bid-outcome changes on a checked booking without re-running a status check: an ordered log of events (offer.status_changed, offer.accepted, offer.declined, offer.cancelled, checkout.paid) with the offer reference, new and previous status, amount and cabin. Pass the sessionId (or conversationId) and, on later calls, the `since` cursor from the previous response to get only what's new. Bids settle 24–72h before departure, so poll periodically (or subscribe via REST POST /api/v1/webhooks) instead of asking the traveler to check back. Empty means no change observed yet.

ParameterslimitsincesessionIdconversationId

get_price_breakdown

Get Price Breakdown

Show the itemized all-in cost of an upgrade before the traveler commits — the amount plus any taxes and fees. Pass the sessionId (or conversationId), the amount (omit it for INSTANT — the airline's fixed price is used), and the cabin/segment if the booking has more than one option. For a BID it also returns the operator's own bid-strength read. Use it to answer 'what will this actually cost me?' before place_bid.

ParametersamountsegmentsessionIdupgradeTypepurchaseTypeconversationId

cancel_bid

Cancel Upgrade Bid

Withdraw a bid already placed on a booking the traveler checked with start_eligibility_check. Pass the sessionId (or conversationId). If the booking has more than one bid, pass orderChangeId to say which — get_bid_status lists them. Confirm with the traveler before calling; this releases the bid.

ParametersconfirmsessionIdorderChangeIdconversationIdpresentationReport

predict_bid_success

Predict Bid Success

Estimates how likely a specific bid amount is to be accepted, grounded in resolved bid outcomes for the carrier cabin, plus the operator's own bid-strength read when a checked booking's session id is provided. Returns null when there isn't enough data.

ParameterscabinamountrequiredcarriersegmentsessionIdconversationIdtravelerQuestion

start_watch

Start Booking Watch

Sets up a Watcher that monitors a traveler's booking between now and departure for upgrade opportunities (a better seat, an empty adjacent seat, a cabin upgrade, lounge, or fast track). Returns a secure card/link where the traveler enters their booking, notification preference, and consent.

ParameterscarriercontactpurposechannelsautoActionfirstVisitpreferencesrequiredbudgetAmountbudgetCurrency

get_watch_status

Get Watch Status

Check a Watcher Concierge watch (created with start_watch). Returns its status, what it's watching for, and any improvements found so far. Pass the token from start_watch.

Parameterstokenrequired

ask_upgrade_agent

Ask Upgrade Agent

Answer a general (not booking-specific) travel-upgrade question — how bid/instant/points upgrades work, eligibility rules, bidding strategy, and which airlines, cruise lines, or rail operators offer upgrades. Use this for informational questions only. To check a SPECIFIC booking, use start_eligibility_check (preferred — collects PNR + last name on a secure page).

ParametersaskedByquestionrequiredconversationId

partner_question_insights

Partner Question Insights

Per-partner analytics report: what travelers and AI agents are asking about a specific partner's upgrade programs (by intent, by route, most frequent questions, which agents/clients are asking), the AI-check → bid → paid conversion funnel by channel, AI visibility (share of answer per engine, what agents say, where answers are wrong), open content gaps and observed bid ranges. Text summary plus the full report object in structuredContent. Pass the partner name (e.g. 'Air Canada', 'MSC Cruises').

Parameterswindowpartner

partner_visibility_report

Partner Visibility Report

AI visibility for one partner's upgrade program: share of answer across the answer engines (ChatGPT, Claude, Perplexity, Gemini) for prompts about that partner, which domains get cited instead, what the agents say about the program, and where the answers are wrong (community claims that contradict the program's facts, plus engine excerpts flagged for human review). Partner-scoped tokens are locked to their own brand.

Parameterswindowpartner

usage_totals

Usage Totals

Running totals across the whole system: how many questions have been asked, and how many were answered successfully (quality at or above the success threshold).

Takes no parameters.

get_partner_info

Get Partner Info

Get the full upgrade profile for one operator — products offered (with the official page URL), loyalty program, cabin paths, how to access, and summary. More detailed than ask_upgrade_agent. Accepts an IATA code or a name (e.g. 'AC' or 'Air Canada').

ParameterscarrierrequiredtravelerQuestion

get_upgrade_pricing

Get Upgrade Pricing

Returns typical upgrade bid ranges (low / typical / high, per cabin) for an operator, aggregated from anonymized eligibility checks. Accepts an IATA code or a name. With an origin and destination airport, the ranges are scoped to that route when observed data exists there (either direction), otherwise the operator-wide ranges are returned and labelled as such. Says so when there isn't enough observed data.

ParameterscabinorigincarrierdestinationconversationIdtravelerQuestion

list_partners

List Upgrade Partners

List the travel operators that offer upgrade programs, with optional filters. Returns each operator's name, IATA/code, vertical, region, and the upgrade products it offers. Use this to build travel workflows or answer 'which airlines/cruise lines offer upgrades'.

Parametersregionproductvertical

search_upgrade_options

Search Upgrade Options

Finds operators that offer upgrades. With an origin and destination airport (IATA codes, e.g. YUL and LHR) the result is route-level: carriers with observed upgrade pricing on that airport pair (per-cabin ranges from anonymized checks, either direction), carriers confirmed by operator inventory where that upstream is enabled, and carriers whose hub or home country is at one end of the route — the last group is labelled as a hub match that is not confirmed and carries no pricing. Without a route, the result is the operator list filtered by vertical, region, and/or product.

ParametersdatecabinoriginregionproductverticaldestinationtravelerQuestion

Version history

2
  1. v1.1.0LatestOct 2, 2026
  2. v1.0.0Sep 16, 2026

Score

75% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • License10 pts

    Declare a license in the repository or the registry entry.