Hopper MCP Server
# @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
Scored across 7 tools
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.
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.
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.
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.