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

MCP server for StubHub — search events, compare ticket prices, and purchase tickets via browser automation.

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

## Tools

| Tool | Description |
|------|-------------|
| `stubhub_status` | Check login status and session info |
| `stubhub_login` | Initiate login flow |
| `stubhub_logout` | Clear session and cookies |
| `stubhub_search_events` | Search events by query, category, or location |
| `stubhub_get_event` | Get event details and listing summary |
| `stubhub_get_listings` | Get ticket listings with price/section filters |
| `stubhub_get_listing_details` | Get details for a specific listing including fees |
| `stubhub_compare_prices` | Compare prices across all listings for an event |
| `stubhub_add_to_cart` | Add tickets to cart |
| `stubhub_checkout` | Complete ticket purchase (requires confirm=true) |
| `stubhub_get_orders` | View order history |

## Setup

### Install

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

### Claude Desktop Configuration

Add to your `claude_desktop_config.json`:

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

### Authentication

1. Run `stubhub_login` to get the login URL
2. Open the URL in your browser and log in to StubHub
3. Run `stubhub_status` to verify the session is saved

Session cookies are persisted at `~/.strider/stubhub/` and reused across sessions.

## Usage Examples

```
// Search for events
stubhub_search_events({ query: "Taylor Swift", location: "New York" })

// Get listings with price filter
stubhub_get_listings({ eventIdOrUrl: "12345678", maxPrice: 150, quantity: 2 })

// Compare prices before buying
stubhub_compare_prices({ eventIdOrUrl: "12345678", quantity: 2 })

// Add to cart then checkout
stubhub_add_to_cart({ eventIdOrUrl: "12345678", listingId: "abc123", quantity: 2 })
stubhub_checkout({ confirm: true })  // Only with explicit user confirmation
```

## Technical Details

- **Browser automation**: Playwright (headless Chromium)
- **Stealth**: Anti-bot detection patches applied
- **Cookie persistence**: Saved to `~/.strider/stubhub/cookies.json`
- **Random delays**: 500–2000ms between actions
- **Transport**: stdio (MCP standard)

## Development

```bash
npm install
npm run build
npm start
```