Skip to main content
Glama
@striderlabs/mcp-american

@striderlabs/mcp-american

@striderlabs/mcp-american

MCP server for American Airlines — let AI agents search flights, manage bookings, check in, retrieve boarding passes, and access AAdvantage rewards on aa.com via Playwright browser automation.

Built by Strider Labs.

Features

  • Flight Search — Search AA flights by origin, destination, dates, and cabin class

  • Flight Details — Get connection info, aircraft type, baggage policy, and fare rules

  • Flight Selection — Select outbound and return flights into a booking session

  • Seat Maps — View available seats including Main Cabin Extra, Preferred, and First Class

  • Seat Selection — Choose specific seats by seat number

  • Baggage — Add checked bags to a booking

  • Checkout — Complete bookings with a confirmation gate

  • Reservations — Look up existing reservations by record locator

  • Modify Trips — Initiate flight changes on existing bookings

  • Cancellations — Cancel reservations with a confirmation gate

  • Check-In — Online check-in starting 24 hours before departure

  • Boarding Passes — Retrieve digital boarding passes after check-in

  • AAdvantage — Check miles balance, elite status, and earning milestones

  • Upgrades — Request upgrades using miles, systemwide certificates, or elite status

Related MCP server: Delta Air Lines MCP Server

Installation

npm install -g @striderlabs/mcp-american
npx playwright install chromium

Or run directly with npx:

npx @striderlabs/mcp-american

Claude Desktop Setup

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "american": {
      "command": "npx",
      "args": ["-y", "@striderlabs/mcp-american"]
    }
  }
}

Config file locations:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Authentication

This server uses browser automation and stores session cookies locally. To authenticate:

  1. Call the login tool — it opens aa.com in a browser window

  2. Log in manually with your AAdvantage credentials

  3. Call status to verify and save the session

Sessions are saved to ~/.striderlabs/american/ and reused across invocations. You typically only need to log in once until the session expires.

Tools

Tool

Description

status

Check login status and session info

login

Open aa.com for manual login

logout

Clear saved session and cookies

search_flights

Search AA flights by route, date, cabin

get_flight_details

Get detailed info on a search result

select_flight

Choose outbound/return flight for booking

get_seat_map

View available seats and fees

select_seats

Choose seats by seat number

add_bags

Add checked baggage

checkout

Complete booking (requires confirm: true)

get_reservation

Look up reservation by record locator

modify_trip

Change flights on existing reservation

cancel_trip

Cancel reservation (requires confirm: true)

check_in

Online check-in (opens 24h before departure)

get_boarding_pass

Retrieve digital boarding passes

get_aadvantage

Check miles, elite status, milestones

upgrade_request

Request upgrade using miles or elite status

Example Workflow

User: Search for flights from DFW to JFK next Friday

Agent:
1. search_flights { origin: "DFW", destination: "JFK", departureDate: "2025-07-11" }
2. get_flight_details { flightId: "0" }
3. select_flight { outboundFlightId: "0" }
4. get_seat_map {}
5. select_seats { seats: ["14A"] }
6. add_bags { bags: 1 }
7. checkout {}  → preview
8. checkout { confirm: true }  → booking confirmed

Safety Gates

Destructive or financial actions require explicit confirmation:

  • checkout — pass confirm: true only after user confirms the purchase

  • cancel_trip — pass confirm: true only after user confirms the cancellation

Without confirm: true, these tools return a preview instead of taking action.

Environment Variables

Optional — credentials can be provided via environment variables for automated workflows:

Variable

Description

AA_USERNAME

AAdvantage number or email

AA_PASSWORD

Account password

When set, the server will attempt auto-login on first use.

Session Storage

Cookies and session info are stored at:

~/.striderlabs/american/
├── cookies.json    # Browser session cookies
└── session.json    # Account info cache

To reset authentication: call logout or delete this directory.

Development

git clone https://github.com/markswendsen-code/mcp-american
cd mcp-american
npm install
npx playwright install chromium
npm run build
npm start

License

MIT — Strider Labs

Available Tools

17 tools
add_bagsA

Add checked baggage to the booking. AA charges per bag per segment.

Inputs: bags (required), passenger.

cancel_tripA

Cancel an American Airlines reservation. IMPORTANT: Set confirm=true only after explicit user confirmation. Without confirm=true returns a preview.

Inputs: recordLocator (required), confirm, lastName.

check_inA

Complete online check-in for an American Airlines flight. Available starting 24 hours before departure.

Inputs: lastName (required), recordLocator (required).

checkoutA

Complete the American Airlines booking. IMPORTANT: Set confirm=true only after getting explicit user confirmation. Without confirm=true returns a preview.

Inputs: confirm.

get_aadvantageA

Check AAdvantage miles balance, elite status, and account summary. Requires being logged in.

Inputs: no named parameters.

get_boarding_passA

Retrieve digital boarding passes for a checked-in flight. Requires prior check-in.

Inputs: lastName (required), recordLocator (required).

get_flight_detailsA

Get detailed information about a specific flight from search results, including connection info, aircraft type, baggage policy, and fare rules.

Inputs: flightId (required).

get_reservationB

Look up an existing American Airlines reservation by record locator (confirmation code).

Inputs: recordLocator (required), lastName.

get_seat_mapA

View the seat map for the selected flight showing available and occupied seats, seat types (Main Cabin Extra, Preferred, First), and fees.

Inputs: flightNumber.

loginA

Initiate American Airlines login flow. Opens aa.com so the user can log in manually with their AAdvantage credentials. After logging in, call status to verify and save the session.

Inputs: no named parameters.

logoutA

Clear saved American Airlines session and cookies. Use this to log out or reset authentication state.

Inputs: no named parameters.

modify_tripA

Change flights on an existing American Airlines reservation. Initiates the flight change flow — use search_flights to find new options.

Inputs: recordLocator (required), lastName, newReturnDate, newDepartureDate.

search_flightsA

Search for flights on American Airlines (aa.com). Returns flight options with flight numbers, times, stops, aircraft, and fares.

Inputs: origin (required), destination (required), departureDate (required), adults, +4 more.

select_flightA

Select an outbound (and optionally a return) flight after searching. This adds the flight to your booking session.

Inputs: outboundFlightId (required), returnFlightId.

select_seatsA

Choose seats for passengers on the selected flight. Use get_seat_map first to see available seats.

Inputs: seats (required), flightNumber.

statusA

Check American Airlines login status and AAdvantage session info. Use this to verify authentication before performing other actions.

Inputs: no named parameters.

upgrade_requestA

Request an upgrade on an American Airlines flight using miles or elite status. Returns eligibility and waitlist position if available.

Inputs: flightNumber (required), recordLocator (required), upgradeType.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.7/5.0

    Scored across 17 tools

    Disambiguation4/5

    Most tools have clearly distinct purposes, such as search_flights, select_flight, and select_seats. The only potential confusion is between status and get_aadvantage, both involving account state, but descriptions effectively separate authentication status from loyalty account details.

    Naming Consistency4/5

    The majority of tools follow a verb_noun pattern (e.g., search_flights, get_reservation, cancel_trip), but some exceptions like logout, login, checkout, status, and upgrade_request deviate from this pattern. Overall, the naming is consistent in style and readable, though not perfectly uniform.

    Tool Count4/5

    With 17 tools, the server covers the full travel lifecycle from searching and booking to checking in and managing loyalty status. While slightly above the typical 3-15 range, each tool addresses a distinct need and the count is justified by the broad domain.

    Completeness3/5

    The tool set provides core coverage for booking, reservation management, and check-in, with useful extras like seat maps and upgrades. However, it lacks explicit tools for adding or managing passengers and for selecting payment methods, which are notable gaps for a comprehensive booking assistant.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers