@striderlabs/mcp-american
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@@striderlabs/mcp-american search flights from LAX to ORD on June 15th"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@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 chromiumOr run directly with npx:
npx @striderlabs/mcp-americanClaude 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.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
Authentication
This server uses browser automation and stores session cookies locally. To authenticate:
Call the
logintool — it opens aa.com in a browser windowLog in manually with your AAdvantage credentials
Call
statusto 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 |
| Check login status and session info |
| Open aa.com for manual login |
| Clear saved session and cookies |
| Search AA flights by route, date, cabin |
| Get detailed info on a search result |
| Choose outbound/return flight for booking |
| View available seats and fees |
| Choose seats by seat number |
| Add checked baggage |
| Complete booking (requires |
| Look up reservation by record locator |
| Change flights on existing reservation |
| Cancel reservation (requires |
| Online check-in (opens 24h before departure) |
| Retrieve digital boarding passes |
| Check miles, elite status, milestones |
| 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 confirmedSafety Gates
Destructive or financial actions require explicit confirmation:
checkout— passconfirm: trueonly after user confirms the purchasecancel_trip— passconfirm: trueonly 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 |
| AAdvantage number or email |
| 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 cacheTo 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 startLicense
MIT — Strider Labs
Available Tools
17 toolsadd_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
Scored across 17 tools
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.
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.
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.
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
Related MCP Connectors
Playwright browser automation — navigate, click, fill forms, extract, screenshot — 17 agent tools.
Web search, page reading, HTML to PDF, file upload and flight search for AI agents, paid in USDC.
Control a real browser from AI agents: navigate, click, type, screenshot, read the page.
Web search, browser automation, scraping, crawling and CAPTCHA solving for AI agents.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to control web browsers through Playwright automation, providing 50+ tools for navigation, interaction, testing, accessibility audits, and visual testing across Chromium, Firefox, and WebKit.24 npmMIT
- AlicenseAqualityDmaintenanceEnables AI agents to automate Delta Air Lines tasks such as searching flights, managing bookings, and checking SkyMiles balances through Playwright-based browser automation. It supports the complete travel workflow including seat selection, check-in, and digital boarding pass retrieval.1758 npm6MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to control a web browser using Playwright, supporting navigation, interaction, and data extraction through natural language.MIT
- AlicenseAqualityDmaintenanceEnables AI assistants to perform browser automation using Playwright, including navigation, content extraction, screenshot analysis, and custom script execution.520 npmMIT