aa-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| AA_MCP_CHROMIUM | No | Path to Chromium executable. Overrides auto-discovery if your Chromium is somewhere unusual. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| check_auth_statusB | Check the saved AA session for an account — token expiry, AAdvantage #, cookie count. Args: account: Account name (optional, uses default). |
| save_session_from_browserA | Pull cookies from a logged-in Chromium (started by aa-auth-browser) and save them. Workflow:
Args: account: Account name to associate with the saved cookies. Default: "default". port: Chromium remote-debugging port as a string. Empty/omitted uses the default (9224, matches aa-auth-browser). Pass as string to avoid MCP type-coercion issues with some clients. |
| get_account_summaryB | Member info: name, AAdvantage #, mile balance, status, cobranded card, business memberships. Args: account: Account name (optional, uses default). |
| get_loyalty_points_progressC | Elite status progress — Loyalty Points YTD + last-year EQDs/EQMs/EQSs + tier thresholds. Args: account: Account name (optional, uses default). |
| get_profile_detailsA | Detailed profile: DOB, partners, sales city, mile expiration, million-miler stats. Args: account: Account name (optional, uses default). |
| get_mile_activityA | AAdvantage mile / loyalty-point transaction history. Returns activity cards with date, type (Flight/Bank/Promo/Misc), miles earned/used, loyalty points, partner code, and transaction description. Args: from_date: YYYY-MM-DD inclusive (default: 180 days ago). to_date: YYYY-MM-DD inclusive (default: today). starting_index: 0-based offset for pagination. page_size: Max records (server caps ~50). search_string: Free-text filter on transaction description. sort_direction: "asc" or "desc" by activity_date. account: Account name (optional, uses default). |
| get_upcoming_tripsC | Upcoming flight reservations with record locators. Args: account: Account name (optional, uses default). |
| get_reservation_by_locatorA | Full reservation details by record locator + lead passenger name. Returns the complete viewres payload: passengers (with passengerID like "01.01"), itinerary slices and segments (flight numbers, times, fare codes, booking codes), tickets (one per passenger), cost summary, eligibilityFlags (cancel / change / partial-reshop), and eligibleProducts (deep links to change-flow URLs). The underlying endpoint validates first+last name against the lead passenger on the PNR, so both are required even when authenticated. Args: record_locator: 6-character PNR (e.g., "UHJHHT"). last_name: Lead passenger last name (e.g., "Mohr"). first_name: Lead passenger first name (e.g., "Alexander"). account: Account name (optional, uses default). |
| search_change_flightsA | Search alternative flights for an existing reservation (the "change flight" flow). Returns the full reshop payload: a ±6-day price carousel around departure_date, plus up to 40 flight options with per-cabin pricing (flightCells contain fare, netPrice = delta vs paid, cabinType, fareType, changeType, seatsLeft). The endpoint allows changing origin city, destination city, and date in a single query — AA validates against the original fare rules and either returns SUCCESS or an error. Negative netPrice means you'd be issued a travel credit; positive means additional payment due. Change fees are usually $0 (waived on non-Basic- Economy fares). PRICING SCOPE: All numbers are TOTAL for every passenger on the PNR. This
endpoint does not support per-passenger pricing. To change only some passengers
on a multi-pax booking, the PNR typically has to be split first via an agent
(the Args: record_locator: 6-character PNR (e.g., "UHJHHT"). last_name: Lead passenger last name. first_name: Lead passenger first name. departure_date: New departure date (YYYY-MM-DD). origin_airport: New origin airport (3-letter IATA — can differ from original). destination_airport: New destination airport (3-letter IATA — can differ from original). slice_index: Which slice of the reservation to change (0 = first; matters for round-trips). carousel_days: Include the ±6-day min-price grid in the response (default True). account: Account name (optional, uses default). |
| get_flight_creditsC | Flight credits (single-passenger ticket credits from cancelled flights). Args: locale: Locale code (default en_US). account: Account name (optional, uses default). |
| get_trip_creditsB | Trip credits (multi-passenger / itinerary-level credits). Args: locale: Locale code (default en_US). account: Account name (optional, uses default). |
| get_partner_offersC | Partner offers / promotions on the dashboard. Args: account: Account name (optional, uses default). |
| get_notificationsC | Account notifications panel. Args: account: Account name (optional, uses default). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/thehesiod/aa-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server