About delta
delta is an MCP server for AI agents that handles Delta Air Lines flight search and trip management through browser automation. It also supports SkyMiles tasks, with a confirmation gate before purchases.
Key features
- 01Search flights and view flight details
- 02Select seats and add bags or trip extras
- 03Book, retrieve, and modify trips
- 04Check in and retrieve boarding passes
- 05Check flight status and SkyMiles activity
Use cases
- 01Compare Delta flights before booking
- 02Choose seats and extras for a trip
- 03Check in and retrieve a boarding pass
- 04Review a flight’s status or SkyMiles balance
MCP support
Exposes 17 Delta travel tools to MCP clients, using Playwright browser automation. A persisted browser session supports account-required tasks; checkout requires explicit confirmation.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
11Saved tool list · updated 2w ago
This tool takes no parameters.
Details
From the project README@striderlabs/mcp-delta
MCP server for Delta Air Lines — let AI agents search flights, select seats, manage bookings, check in, get boarding passes, and check SkyMiles balance via browser automation.
Built by Strider Labs.
Features
- 17 tools covering the full Delta booking and travel management workflow
- Playwright browser automation with stealth patches to avoid bot detection
- Session persistence via cookies at
~/.striderlabs/delta/cookies.json - Human-like behavior — random delays, realistic user agent, locale/timezone spoofing
- SkyMiles integration — check balance, Medallion status, and recent activity
- Confirmation gates for checkout to prevent accidental bookings
- JSON responses for easy parsing by AI agents
Tools
| Tool | Description |
|---|---|
status | Check Delta login status and session info |
login | Initiate Delta SkyMiles login (opens sign-in page) |
logout | Clear saved session and cookies |
search_flights | Search Delta flights by origin, destination, dates, and passengers |
get_flight_details | Get detailed info about a flight (aircraft, layovers, baggage policy) |
select_flight | Select outbound/return flights to begin booking |
get_seat_map | View aircraft seat map with availability and pricing |
select_seats | Choose specific seats for passengers |
add_bags | Add checked baggage to your booking |
get_trip_extras | View upgrades, Wi-Fi passes, priority boarding, and other add-ons |
checkout | Complete the flight purchase (requires confirm: true) |
get_booking | Retrieve existing booking by confirmation number |
check_in | Online check-in for upcoming flights (opens 24h before departure) |
get_boarding_pass | Get digital boarding pass for checked-in flights |
get_flight_status | Real-time flight status, gate, and delay information |
get_skymiles | Check SkyMiles balance, Medallion tier, and recent activity |
manage_booking | Modify bookings — view, cancel, change flights, upgrade, or add bags |
Installation
npm install -g @striderlabs/mcp-delta
npx playwright install chromium
Claude Desktop Integration
Add to your claude_desktop_config.json:
{
"mcpServers": {
"delta": {
"command": "striderlabs-mcp-delta"
}
}
}
Or with npx:
{
"mcpServers": {
"delta": {
"command": "npx",
"args": ["-y", "@striderlabs/mcp-delta"]
}
}
}
Authentication
Some tools (SkyMiles balance, booking management, check-in) require a Delta SkyMiles account. The server persists your session cookies at ~/.striderlabs/delta/cookies.json.
Login flow:
- Ask the AI agent to run
login - Open the returned URL in your browser
- Log in to your Delta SkyMiles account
- Run
statusto verify the session was saved
Flight search and flight status work without authentication.
Example Workflows
Book a Flight
1. search_flights(origin="ATL", destination="LAX", departureDate="2025-07-15")
2. get_flight_details(flightId="0")
3. select_flight(outboundFlightId="0")
4. get_seat_map()
5. select_seats(seats=["24A"])
6. add_bags(bags=1)
7. checkout() ← returns preview
8. checkout(confirm=true) ← completes purchase (needs explicit user confirmation)
Check In
1. check_in(confirmationNumber="ABC123", lastName="Smith")
2. get_boarding_pass(confirmationNumber="ABC123", lastName="Smith")
Monitor a Flight
1. get_flight_status(flightNumber="DL 123")
Manage SkyMiles
1. login()
2. get_skymiles()
Safety
The checkout tool requires confirm: true to actually complete a purchase. Without it, the tool returns a preview of the booking details. Never set confirm: true without explicit user confirmation.
The manage_booking cancel action will prompt you to confirm on the Delta website before any cancellation is finalized.
Session Storage
Cookies and session info are stored at:
~/.striderlabs/delta/cookies.json~/.striderlabs/delta/session.json
Environment Variables
No environment variables are required. Credentials are managed via the browser session stored in ~/.striderlabs/delta/.
Development
git clone https://github.com/markswendsen-code/mcp-delta
cd mcp-delta
npm install
npm run build
node dist/index.js
License
MIT — © Strider Labs
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.