@striderlabs/mcp-alaska
v1.0.0
Published
MCP server connector for Alaska Airlines using Playwright browser automation
Downloads
33
Maintainers
Readme
@striderlabs/mcp-alaska
An MCP (Model Context Protocol) server for Alaska Airlines that enables AI assistants to interact with Alaska Airlines services using Playwright browser automation.
Features
- Search and browse flights
- View flight details and seat maps
- Select flights and seats
- Manage bookings (view, check-in, cancel)
- Check flight status in real-time
- View Mileage Plan balance and elite status
- View upcoming trips
Installation
npm install -g @striderlabs/mcp-alaska
npx playwright install chromiumOr install locally:
npm install @striderlabs/mcp-alaska
npx playwright install chromiumUsage with Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"alaska": {
"command": "striderlabs-mcp-alaska"
}
}
}Or if installed locally:
{
"mcpServers": {
"alaska": {
"command": "npx",
"args": ["@striderlabs/mcp-alaska"]
}
}
}Tools
alaska_login
Log in to your Alaska Airlines account. Required for account-specific operations.
Parameters:
email(string, required): Your Alaska Airlines account emailpassword(string, required): Your Alaska Airlines account password
Example:
{
"email": "[email protected]",
"password": "yourpassword"
}alaska_search_flights
Search for available flights between two airports.
Parameters:
origin(string, required): Origin airport code (e.g.,SEA,LAX,SFO)destination(string, required): Destination airport codedate(string, required): Travel date inYYYY-MM-DDformatpassengers(number, optional): Number of passengers (default:1)cabin_class(string, optional):economy,premium-economy, orfirst-class(default:economy)
Returns: List of available flights with prices, times, and flight IDs.
alaska_get_flight_details
Get detailed information about a specific flight.
Parameters:
flight_id(string, required): Flight ID from search results or flight number (e.g.,AS123)
Returns: Flight details including amenities, baggage policy, on-time performance, and layover information.
alaska_select_flight
Select a flight to proceed with booking.
Parameters:
flight_id(string, required): Flight ID fromalaska_search_flightsresults
Returns: Confirmation of selection with session data for the booking flow.
alaska_get_seat_map
View the seat map for a flight showing available, occupied, and blocked seats.
Parameters:
flight_id(string, required): Flight ID or flight number
Returns: Full seat map organized by cabin (First Class, Main Cabin) with seat status, type, and any associated fees.
alaska_select_seat
Select a specific seat on a flight.
Parameters:
flight_id(string, required): Flight ID or flight numberseat(string, required): Seat identifier (e.g.,12A,23F,4C)
Returns: Confirmation of seat selection.
alaska_get_booking
Retrieve booking details using a confirmation code.
Parameters:
confirmation_code(string, required): 6-character Alaska Airlines confirmation code (e.g.,ABCDEF)
Returns: Full booking details including passenger information, flight itinerary, and booking status.
alaska_check_in
Check in for a flight. Available within 24 hours of departure.
Parameters:
confirmation_code(string, required): 6-character Alaska Airlines confirmation code
Returns: Check-in confirmation with boarding pass details including gate, boarding group, and boarding time.
alaska_get_mileage_balance
View your Alaska Airlines Mileage Plan balance and elite status.
Requires: Being logged in via alaska_login
Returns: Total miles, elite qualifying miles, tier status, expiring miles, and membership details.
alaska_get_upcoming_trips
View all upcoming trips associated with your account.
Requires: Being logged in via alaska_login
Returns: List of upcoming trips with flight details, confirmation codes, and trip status.
alaska_cancel_booking
Cancel an Alaska Airlines booking.
Parameters:
confirmation_code(string, required): 6-character Alaska Airlines confirmation code
Returns: Cancellation confirmation with any applicable refund amount.
Note: Cancellation fees may apply depending on fare type. Check Alaska Airlines' cancellation policy before cancelling.
alaska_get_flight_status
Get real-time status for an Alaska Airlines flight.
Parameters:
flight_number(string, required): Flight number (e.g.,AS123or123)date(string, required): Flight date inYYYY-MM-DDformat
Returns: Current flight status including departure/arrival times, gate information, terminal, and delay information.
Example Workflow
1. Search for flights:
alaska_search_flights(origin="SEA", destination="LAX", date="2025-03-15")
2. Get details on a specific flight:
alaska_get_flight_details(flight_id="AS127")
3. View available seats:
alaska_get_seat_map(flight_id="AS127")
4. Select flight and seat:
alaska_select_flight(flight_id="AS127")
alaska_select_seat(flight_id="AS127", seat="14A")
5. Check booking status:
alaska_get_booking(confirmation_code="XKJT89")
6. Check in 24 hours before departure:
alaska_check_in(confirmation_code="XKJT89")Development
# Clone repository
git clone https://github.com/markswendsen-code/mcp-alaska.git
cd mcp-alaska
# Install dependencies
npm install
# Install Playwright browsers
npx playwright install chromium
# Build
npm run build
# Run
node dist/index.jsArchitecture
The server uses two main modules:
src/index.ts: MCP server setup with tool definitions and request handlerssrc/browser.ts: Playwright automation helpers that interact with the Alaska Airlines website
The browser module maintains a persistent browser session to avoid re-launching the browser for each tool call. The session is automatically closed when the server shuts down.
Requirements
- Node.js >= 18.0.0
- Playwright Chromium browser
License
MIT
Disclaimer
This tool uses browser automation to interact with the Alaska Airlines website. Use responsibly and in accordance with Alaska Airlines' Terms of Service. This is not an official Alaska Airlines product.
