npm package: @striderlabs/mcp-hilton
Description: MCP server for Hilton Hotels - let AI agents search hotels, manage reservations, check Hilton Honors status, and more
Author: Strider Labs
Latest version: 0.1.0

# @striderlabs/mcp-hilton

MCP server for Hilton Hotels — let AI agents search hotels, manage reservations, check Hilton Honors status, use digital keys, and redeem points on Hilton.com via browser automation.

Built by [Strider Labs](https://striderlabs.ai).

## Features

- **Hotel Search** — Search Hilton properties by location and dates
- **Room Browsing** — View available room types, rates, and points prices
- **Full Booking Flow** — Select rooms, add extras, complete checkout
- **Reservation Management** — Look up, modify, and cancel reservations
- **Digital Key** — Get activation instructions for phone-based room access
- **Hilton Honors** — Check points balance, tier status, and lifetime nights
- **Points Redemption** — Search hotels available for points booking
- **Stay History** — View past stays and points earned

## Installation

```bash
npm install @striderlabs/mcp-hilton
```

Or use directly with npx (no install needed):

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

## Setup

### Add to Claude Desktop

Edit `~/Library/Application Support/Claude/claude_desktop_config.json`:

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

### Add to Claude Code

```bash
claude mcp add hilton -- npx -y @striderlabs/mcp-hilton
```

### Authentication

1. Ask Claude to run `hilton_login` — it will return a URL
2. Open the URL in your browser and sign in to your Hilton Honors account
3. Ask Claude to run `hilton_status` to confirm the session

Session cookies are saved to `~/.strider/hilton/` and reused across sessions.

## Available Tools

| Tool | Description |
|------|-------------|
| `hilton_status` | Check login status and session info |
| `hilton_login` | Start login flow (returns URL for manual sign-in) |
| `hilton_logout` | Clear saved session and cookies |
| `search_hotels` | Search hotels by location, dates, guests |
| `get_hotel_details` | Get hotel amenities, photos, policies |
| `get_rooms` | View available room types and rates |
| `select_room` | Choose a room to proceed to booking |
| `add_extras` | View available add-ons (parking, breakfast, etc.) |
| `checkout` | Complete booking (requires explicit confirmation) |
| `get_reservation` | Look up a reservation by confirmation number |
| `modify_reservation` | Change dates or room type (requires confirmation) |
| `cancel_reservation` | Cancel a booking (requires confirmation) |
| `digital_key` | Get Digital Key activation instructions |
| `get_honors_status` | Check Hilton Honors points, tier, and status |
| `redeem_points` | Search hotels available for points redemption |
| `get_stay_history` | View past stays and points earned |

## Usage Examples

### Search for hotels

```
Search for Hilton hotels in New York from December 15 to 18 for 2 adults
```

### Check points balance

```
What's my Hilton Honors points balance and tier status?
```

### Make a reservation

```
Book a King room at the New York Hilton Midtown for Dec 15-18
```

### Find hotels with points

```
What Hilton hotels in Paris can I book with my points?
```

## Safety

Booking and cancellation tools require an explicit `confirm=true` parameter. Claude will always show you a preview and ask for confirmation before placing or cancelling any reservation.

## Technical Details

- **Runtime**: Node.js 18+
- **Browser**: Playwright (Chromium, headless)
- **Transport**: MCP stdio
- **Session storage**: `~/.strider/hilton/` (cookies + session JSON)

## Environment Variables

No API keys required. Authentication is handled via browser session cookies.

Optional environment variable:
- `HILTON_CONFIG_DIR` — Override the default `~/.strider/hilton/` config directory (not yet implemented; edit `src/auth.ts` to customize)

## Development

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

## License

MIT — [Strider Labs](https://striderlabs.ai)