About
MCP server for Alaska Airlines - let AI agents book flights
README
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": "[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.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.
Installing Alaska
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/markswendsen-code/mcp-alaskaFAQ
Is Alaska MCP free?
Yes, Alaska MCP is free — one-click install via Unyly at no cost.
Does Alaska need an API key?
No, Alaska runs without API keys or environment variables.
Is Alaska hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Alaska in Claude Desktop, Claude Code or Cursor?
Open Alaska on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
by modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
by xuzexin-hzMCP-Agent
A simple, composable framework to build agents using Model Context Protocol by [LastMile AI](https://www.lastmileai.dev)
by lastmile-aiSpring AI MCP Client
Provides auto-configuration for MCP client functionality in Spring Boot applications.
mcp.natoma.ai
A Hosted MCP Platform to discover, install, manage and deploy MCP servers by [Natoma Labs](https://www.natoma.ai)
MCPHub
Website to list high quality MCP servers and reviews by real users. Also provide online chatbot for popular LLM models with MCP server support.
MCP Servers Rating and User Reviews
Website to rate MCP servers, write authentic user reviews, and [search engine for agent & mcp](http://www.deepnlp.org/search/agent)
mkinf
An Open Source registry of hosted MCP Servers to accelerate AI agent workflows.
Compare Alaska with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All ai MCPs
