@striderlabs/mcp-american
Enables AI agents to search flights, manage bookings, check in, retrieve boarding passes, and access AAdvantage rewards on American Airlines' website via Playwright browser automation.
README
@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
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:
- Call the
logintool — it opens aa.com in a browser window - Log 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 |
|---|---|
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— 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 |
|---|---|
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
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.