@striderlabs/mcp-alaska
MCP server enabling AI assistants to interact with Alaska Airlines services via browser automation, including flight search, booking management, check-in, and mileage plan access.
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 chromium
Or install locally:
npm install @striderlabs/mcp-alaska
npx playwright install chromium
Usage 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": "user@example.com",
"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.js
Architecture
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.
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
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
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.