npm package: @striderlabs/mcp-ihg
Description: MCP server connector for IHG Hotels (Holiday Inn, InterContinental, etc.) using Playwright browser automation
Author: Strider Labs
Latest version: 1.0.0

# @striderlabs/mcp-ihg

MCP server connector for IHG Hotels (InterContinental, Holiday Inn, Kimpton, Crowne Plaza, and more) using Playwright browser automation.

## Installation

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

Or install from source:

```bash
git clone https://github.com/markswendsen-code/mcp-ihg
cd mcp-ihg
npm install
npm run build
npx playwright install chromium
```

## Claude Desktop Configuration

Add to your `~/Library/Application Support/Claude/claude_desktop_config.json`:

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

Or with npx:

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

## Tools

### Authentication

#### `ihg_login`
Log in to your IHG One Rewards account. Required before booking, viewing reservations, or accessing rewards.

```json
{
  "email": "your@email.com",
  "password": "yourpassword"
}
```

### Hotel Search

#### `ihg_search_hotels`
Search for available hotels by location and dates.

```json
{
  "location": "Chicago, IL",
  "check_in": "2025-06-15",
  "check_out": "2025-06-18",
  "guests": 2,
  "brand": "Holiday Inn"
}
```

**Supported brands:** InterContinental, Kimpton, Hotel Indigo, Crowne Plaza, voco, Holiday Inn, Holiday Inn Express, Candlewood Suites, Staybridge Suites, avid, Even Hotels

Returns: List of hotels with ID, name, brand, address, star rating, and lowest nightly rate.

#### `ihg_get_hotel_details`
Get full details for a specific hotel.

```json
{
  "hotel_id": "ORDHA"
}
```

Returns: Amenities, policies, check-in/out times, contact info, images.

#### `ihg_get_room_rates`
Get available room types and rates for specific dates.

```json
{
  "hotel_id": "ORDHA",
  "check_in": "2025-06-15",
  "check_out": "2025-06-18"
}
```

Returns: Room types with rates, refundability, breakfast inclusion, and points earning.

### Reservations

#### `ihg_book_room`
Book a hotel room (requires login).

```json
{
  "hotel_id": "ORDHA",
  "room_type": "King Standard",
  "check_in": "2025-06-15",
  "check_out": "2025-06-18",
  "guest_info": {
    "firstName": "John",
    "lastName": "Doe",
    "email": "john@example.com",
    "phone": "+1-555-0100",
    "cardNumber": "4111111111111111",
    "cardExpiry": "12/27",
    "cardCvv": "123",
    "specialRequests": "High floor please"
  }
}
```

Returns: Confirmation number and booking details.

#### `ihg_get_reservations`
Get all upcoming reservations (requires login).

Returns: List of reservations with dates, hotel, and status.

#### `ihg_get_reservation_details`
Get full details for a reservation (requires login).

```json
{
  "confirmation_number": "12345678"
}
```

#### `ihg_cancel_reservation`
Cancel a reservation (requires login).

```json
{
  "confirmation_number": "12345678"
}
```

#### `ihg_modify_reservation`
Modify dates or details of a reservation (requires login).

```json
{
  "confirmation_number": "12345678",
  "changes": {
    "check_in": "2025-06-16",
    "check_out": "2025-06-19",
    "special_requests": "Early check-in requested"
  }
}
```

### IHG One Rewards

#### `ihg_get_rewards_balance`
Get current points balance and tier status (requires login).

Returns: Points balance, tier, expiration info, nights to next tier.

#### `ihg_get_rewards_history`
Get points transaction history (requires login).

Returns: List of points earned/redeemed with dates and descriptions.

#### `ihg_redeem_points`
Check points redemption options for a stay (requires login).

```json
{
  "hotel_id": "ORDHA",
  "check_in": "2025-06-15",
  "check_out": "2025-06-18"
}
```

Returns: Points required and available redemption options.

## Environment Variables

| Variable | Description |
|----------|-------------|
| `IHG_HEADLESS` | Set to `false` to show browser window (default: `true`) |

## How It Works

This MCP server uses Playwright to automate a Chromium browser session on the IHG website. It:

1. Maintains a persistent browser session across tool calls
2. Handles login state so you only need to authenticate once
3. Navigates the IHG website to perform searches, bookings, and account management
4. Returns structured JSON data for all operations

## Supported IHG Brands

- InterContinental Hotels & Resorts
- Kimpton Hotels & Restaurants
- Hotel Indigo
- Crowne Plaza
- voco Hotels
- Holiday Inn
- Holiday Inn Express
- Holiday Inn Club Vacations
- Candlewood Suites
- Staybridge Suites
- avid Hotels
- Even Hotels
- Regent Hotels & Resorts
- Six Senses Hotels Resorts Spas
- HUALUXE Hotels & Resorts

## Requirements

- Node.js 18+
- Playwright Chromium (`npx playwright install chromium`)
- An IHG One Rewards account (free to create at ihg.com)

## License

MIT