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

MCP server connector for [CarMax](https://www.carmax.com) — the used car marketplace. Automates CarMax flows via Playwright + Browserbase.

## Tools

| Tool | Description |
|------|-------------|
| `search_inventory` | Search CarMax inventory by make, model, year, price, and ZIP code |
| `get_vehicle_details` | Get full details (specs, features, photos, Carfax) for a specific vehicle |
| `schedule_test_drive` | Schedule a test drive appointment at CarMax |
| `get_instant_offer` | Get an instant offer for selling your car by VIN or license plate |

## Requirements

- Node.js ≥ 18
- [Browserbase](https://browserbase.com) account with a CDP URL

## Setup

### Environment Variables

```bash
export BROWSERBASE_CDP_URL="wss://connect.browserbase.com?apiKey=YOUR_KEY"
```

## Usage with Claude Desktop

Add to your `claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "carmax": {
      "command": "npx",
      "args": ["-y", "@striderlabs/mcp-carmax"],
      "env": {
        "BROWSERBASE_CDP_URL": "wss://connect.browserbase.com?apiKey=YOUR_KEY"
      }
    }
  }
}
```

## Tool Details

### `search_inventory`

Search for vehicles by various filters:

```
search_inventory({
  zip: "90210",
  make: "Toyota",
  model: "Camry",
  year_min: 2019,
  year_max: 2023,
  price_max: 30000,
  limit: 10
})
```

### `get_vehicle_details`

Get detailed info for a specific vehicle (stock number from search results):

```
get_vehicle_details({ stock_number: "25123456" })
```

Returns: title, price, mileage, VIN, location, specs, features, photo URLs, Carfax info.

### `schedule_test_drive`

Schedule a test drive appointment:

```
schedule_test_drive({
  stock_number: "25123456",
  first_name: "Jane",
  last_name: "Smith",
  email: "jane@example.com",
  phone: "5551234567",
  preferred_date: "Saturday",
  preferred_time: "afternoon"
})
```

### `get_instant_offer`

Get a cash offer for your car:

```
// By VIN
get_instant_offer({ vin: "1HGCM82633A123456", mileage: 85000, zip: "90210" })

// By license plate
get_instant_offer({ license_plate: "ABC1234", state: "CA", mileage: 85000 })
```

## How It Works

This connector uses [Playwright](https://playwright.dev) over a [Browserbase](https://browserbase.com) remote browser session (via CDP) to automate CarMax's website. No unofficial APIs — all data comes directly from CarMax.com.

## License

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

TDQS

A4.1/5.0

Scored across 4 tools

Disambiguation5/5

Each tool has a clear, distinct purpose: search_inventory finds vehicles, get_vehicle_details provides specifics on a single vehicle, schedule_test_drive books an appointment, and get_instant_offer handles selling a car. There is no overlap or ambiguity between them.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case: search_inventory, schedule_test_drive, get_instant_offer, get_vehicle_details. The naming is uniform and predictable.

Tool Count5/5

With four tools, the server is well-scoped for a car marketplace use case. Each tool covers a distinct step in the buyer or seller journey, and none feel redundant or unnecessary.

Completeness4/5

The tool set covers the core lifecycle: search inventory, view details, schedule test drive, and get an offer for selling. Missing features like financing or purchase tools are gaps, but they are outside the immediate scope and do not break common workflows.

Maintenance

ActivityInactive
ResponsivenessNo issues