npm package: @striderlabs/mcp-kayak
Description: MCP server for Kayak travel search using Playwright browser automation
Latest version: 0.1.0

# @striderlabs/mcp-kayak

MCP (Model Context Protocol) server for Kayak travel search using Playwright browser automation.

## Features

- **Flight Search**: Search one-way and round-trip flights with cabin class and passenger options
- **Hotel Search**: Find hotels by location and dates
- **Car Rentals**: Search rental cars at airports and cities
- **Flight Details**: Get detailed flight info with airline and stop filters
- **Price Comparison**: Compare prices across multiple providers
- **Price Alerts**: Generate URLs to set up Kayak price alert notifications

## Installation

```bash
npm install @striderlabs/mcp-kayak
npx playwright install chromium
```

## Usage with Claude Desktop

Add to your `claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "kayak": {
      "command": "npx",
      "args": ["-y", "@striderlabs/mcp-kayak"]
    }
  }
}
```

## Tools

### `search_flights`
Search for flights on Kayak.

**Parameters:**
- `origin` (required): Origin airport IATA code (e.g., "JFK")
- `destination` (required): Destination airport IATA code (e.g., "LAX")
- `depart_date` (required): Departure date in YYYY-MM-DD format
- `return_date` (optional): Return date for round trips
- `adults` (optional): Number of adults (default: 1)
- `children` (optional): Number of children (default: 0)
- `cabin_class` (optional): "economy", "premium_economy", "business", or "first"

### `search_hotels`
Search for hotels on Kayak.

**Parameters:**
- `location` (required): Hotel location (city, address, or landmark)
- `check_in` (required): Check-in date in YYYY-MM-DD format
- `check_out` (required): Check-out date in YYYY-MM-DD format
- `guests` (optional): Number of guests (default: 2)
- `rooms` (optional): Number of rooms (default: 1)

### `search_cars`
Search for rental cars on Kayak.

**Parameters:**
- `location` (required): Pickup location (airport code, city)
- `pickup_date` (required): Pickup date in YYYY-MM-DD format
- `dropoff_date` (required): Drop-off date in YYYY-MM-DD format
- `pickup_time` (optional): Pickup time HH:MM (default: 10:00)
- `dropoff_time` (optional): Drop-off time HH:MM (default: 10:00)

### `get_flight_details`
Get detailed flight information with filtering options.

**Parameters:**
- `origin` (required): Origin airport IATA code
- `destination` (required): Destination airport IATA code
- `depart_date` (required): Departure date in YYYY-MM-DD format
- `return_date` (optional): Return date
- `airline` (optional): Filter by airline code (e.g., "AA", "UA")
- `max_stops` (optional): Maximum stops (0 for nonstop)

### `compare_prices`
Compare travel prices across providers.

**Parameters:**
- `type` (required): "flight", "hotel", or "car"
- `destination` (required): Destination location
- `start_date` (required): Start date in YYYY-MM-DD format
- `end_date` (required): End date in YYYY-MM-DD format
- `origin` (optional): Origin for flights
- `flexible_days` (optional): Days of date flexibility

### `set_price_alert`
Generate Kayak price alert URLs.

**Parameters:**
- `type` (required): "flight", "hotel", or "car"
- `destination` (required): Destination location
- `depart_date` (required): Departure/check-in date
- `origin` (optional): Origin for flights
- `return_date` (optional): Return/check-out date
- `target_price` (optional): Target price threshold in USD

## Example Queries

- "Search for flights from JFK to LAX on March 15, 2025"
- "Find hotels in Paris from April 1-7 for 2 guests"
- "Compare car rental prices in Miami from June 10-17"
- "Get nonstop flight details from SFO to NYC on December 20"
- "Set a price alert for flights from Boston to London in July"

## Notes

- This server uses Playwright for browser automation on kayak.com
- Kayak may employ anti-bot protections that could affect results
- Price alerts require a Kayak account (the tool generates the search URL)
- Results are scraped from the live Kayak website

## License

MIT