Skip to main content
Glama
markswendsen-code

@striderlabs/mcp-max

README.md
# @striderlabs/mcp-max

MCP (Model Context Protocol) server connector for Max (HBO Max streaming service). Enables AI agents to interact with Max using browser automation via Playwright.

## Features

- **Search content** — Search for movies and TV shows by title, actor, genre, etc.
- **Get content details** — Retrieve detailed info including description, cast, rating, year, and genre
- **View watchlist** — Access the user's saved content (My Stuff)
- **Add/remove from watchlist** — Manage watchlist items
- **Continue watching** — Get in-progress content with completion percentage
- **Viewing history** — Access previously watched content

## Installation

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

Or use directly with npx:

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

## Configuration

Add to your MCP client configuration (e.g., Claude Desktop `claude_desktop_config.json`):

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

## Authentication

This connector uses browser automation. To use features that require authentication (watchlist, continue watching, viewing history), you'll need to be logged into Max in the browser session.

The browser runs in headless mode by default. For first-time login, you may need to modify the `headless` option to `false` temporarily to complete authentication.

## Available Tools

### `max_search`
Search for movies and TV shows.

**Parameters:**
- `query` (required): Search terms
- `type` (optional): `"movie"`, `"series"`, or `"all"` (default)

### `max_get_details`
Get detailed information about a specific title.

**Parameters:**
- `url` (required): Content URL or path (e.g., `/movies/the-dark-knight`)

### `max_get_watchlist`
Retrieve the user's watchlist (My Stuff). Requires login.

### `max_add_to_watchlist`
Add content to the user's watchlist.

**Parameters:**
- `url` (required): Content URL or path

### `max_remove_from_watchlist`
Remove content from the user's watchlist.

**Parameters:**
- `url` (required): Content URL or path

### `max_get_continue_watching`
Get in-progress content with completion percentages. Requires login.

### `max_get_viewing_history`
Retrieve viewing history. Requires login.

## Development

```bash
# Install dependencies
npm install

# Build
npm run build

# Run locally
node dist/index.js
```

## Requirements

- Node.js 18+
- Playwright (automatically installed as a dependency)

## License

MIT

TDQS

A4/5.0

Scored across 5 tools

Disambiguation5/5

Each tool targets a distinct aspect of Max: watchlist, continue watching, viewing history, search, and details. The descriptions clearly differentiate them, leaving no ambiguity.

Naming Consistency5/5

All tools follow a consistent pattern: 'max_' prefix + verb + noun in snake_case. Verbs are descriptive (get, search) and object names are clear.

Tool Count4/5

5 tools is a reasonable count for an info-retrieval-focused server. It covers the core read operations without being too sparse, though a few more could be added.

Completeness3/5

The set covers all main read operations (lists, search, details) but lacks any write operations (e.g., add/remove from watchlist), which limits completeness for full interaction.

Maintenance

ActivityInactive
ResponsivenessNo issues