io.github.markswendsen-code/delta
MCP server for Delta Airlines - search flights, check status, manage trips
Open source Open in the app JSON README (API)
About
MCP server for Delta Airlines - search flights, check status, manage trips
Details
- Kind
- MCP servers
- Topic
- Maps, weather & travel
- Publisher
- markswendsen-code
- Origin
- official
- Category
- ferramentas
- Transport
- local
- Version
- 0.1.0
- Stars
- 4
- Last push
- 2026-03-11T04:10:31Z
- Repository state
- ativo
- Language
- TypeScript
- Added
- 2026-08-29 04:00:29
- Updated
- 2026-08-29 04:00:29
- Origin id
io.github.markswendsen-code/delta
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](https://striderlabs.ai).
## 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
```bash
npm install -g @striderlabs/mcp-delta
npx playwright install chromium
```
## Claude Desktop Integration
Add to your `claude_desktop_config.json`:
```json
{
"mcpServers": {
"delta": {
"command": "striderlabs-mcp-delta"
}
}
}
```
Or with `npx`:
```json
{
"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:**
1. Ask the AI agent to run `login`
2. Open the returned URL in your browser
3. Log in to your Delta SkyMiles account
4. Run `status` to 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
```bash
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