Skip to main content
Glama
README.md
# @striderlabs/mcp-hopper

An MCP (Model Context Protocol) server for [Hopper](https://www.hopper.com) — the AI-powered travel booking app with price prediction. This server enables AI assistants to search flights and hotels, get price forecasts, set alerts, and initiate bookings through Hopper's platform.

## Features

- **Flight search** with real-time pricing and AI price predictions
- **Hotel search** with ratings, amenities, and buy/wait recommendations
- **Price forecasting** — buy now, wait, or watch recommendations with confidence %
- **Price alerts** — get notified when prices hit your target
- **Flight & hotel booking** — full booking flow initiation
- **Booking history** — view current and past trips

Powered by [patchright](https://github.com/Kaliiiiiiiiii-Vinyzu/patchright) for stealth browser automation (bypasses bot detection).

## Installation

```bash
npm install -g @striderlabs/mcp-hopper
```

Or run directly with npx:

```bash
npx @striderlabs/mcp-hopper
```

## Usage with Claude Desktop

Add to your `claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "hopper": {
      "command": "striderlabs-mcp-hopper"
    }
  }
}
```

Config file locations:
- **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
- **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`

## Usage with Claude Code

```bash
claude mcp add hopper striderlabs-mcp-hopper
```

## Tools

### `search_flights`
Search for available flights with Hopper's price predictions.

```
origin: "JFK"
destination: "LAX"
departure_date: "2025-06-15"
return_date: "2025-06-22"      # optional, omit for one-way
passengers: 2                  # default: 1
cabin_class: "economy"         # economy | premium_economy | business | first
```

### `search_hotels`
Search for hotels with ratings, amenities, and price forecasts.

```
destination: "Paris"
check_in: "2025-06-15"
check_out: "2025-06-22"
guests: 2                      # default: 2
rooms: 1                       # default: 1
min_price: 100                 # optional USD filter
max_price: 300                 # optional USD filter
```

### `get_price_forecast`
Get Hopper's AI buy/wait/watch recommendation with confidence percentage.

```
trip_type: "flight"            # flight | hotel
origin: "NYC"                  # required for flights
destination: "Tokyo"
travel_date: "2025-08-01"
return_date: "2025-08-14"      # optional
```

### `set_price_alert`
Configure a price drop alert via Hopper app/email.

```
trip_type: "flight"
origin: "BOS"
destination: "LHR"
travel_date: "2025-07-20"
target_price: 450              # USD
email: "user@example.com"
```

### `book_flight`
Initiate a flight booking with passenger and payment details.

```
flight_id: "flight_1"          # from search_flights
passenger_first_name: "Jane"
passenger_last_name: "Smith"
passenger_email: "jane@example.com"
passenger_phone: "+1-555-0100"
payment_method: "credit_card"
```

### `book_hotel`
Initiate a hotel booking. Hopper's Price Drop Guarantee refunds the difference if prices fall.

```
hotel_id: "hotel_2"            # from search_hotels
check_in: "2025-06-15"
check_out: "2025-06-22"
guest_first_name: "Jane"
guest_last_name: "Smith"
guest_email: "jane@example.com"
payment_method: "credit_card"
```

### `get_bookings`
View current and past bookings from a Hopper account.

```
email: "jane@example.com"
booking_type: "all"            # flight | hotel | all
```

## Example Prompts

- *"Search for flights from New York to London in July, one week round trip"*
- *"What's Hopper's price forecast for hotels in Barcelona next month?"*
- *"Set a price alert for flights from SFO to Tokyo under $700"*
- *"Book the cheapest flight you found for Jane Smith, email jane@example.com"*
- *"Show me my past Hopper bookings for jane@example.com"*

## Notes

- Booking and booking history features require a Hopper account. The server will guide users to authenticate at hopper.com when needed.
- Price predictions use Hopper's displayed AI recommendations extracted from the live site.
- For best results, use IATA airport codes (e.g. JFK, LHR, CDG) for flight searches.

## Development

```bash
git clone https://github.com/markswendsen-code/mcp-hopper
cd mcp-hopper
npm install
npm run build
node dist/index.js
```

## License

MIT — Strider Labs <hello@striderlabs.ai>

TDQS

A4/5.0

Scored across 7 tools

Disambiguation5/5

Each tool has a distinct purpose: booking flights/hotels, retrieving bookings, forecasting prices, searching flights/hotels, and setting alerts. No overlap exists; for example, search_flights and book_flight are clearly separate operations, and get_price_forecast focuses on predictions rather than actions.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern (e.g., book_flight, search_hotels, set_price_alert). The verbs are descriptive and aligned with the actions, and there are no deviations in style or convention across the set.

Tool Count5/5

With 7 tools, the server is well-scoped for travel booking and price management. Each tool serves a clear function in the workflow, from search and forecast to booking and alerts, without being overly sparse or bloated.

Completeness5/5

The tool set provides complete coverage for the travel booking domain: search (flights/hotels), forecast (prices), booking (flights/hotels), management (view bookings), and alerts (price drops). No obvious gaps exist, as it supports the full lifecycle from research to post-booking monitoring.

Maintenance

ActivityInactive
ResponsivenessNo issues