open-index/open-npm huggingface dataset:
npm package: @striderlabs/mcp-sephora
Description: MCP connector for Sephora beauty retail — browse products, manage basket, checkout, and view Beauty Insider rewards
Author: Strider Labs
Latest version: 1.0.1

# @striderlabs/mcp-sephora

MCP connector for **Sephora** beauty retail. Search products, manage your basket, complete purchases, and check Beauty Insider rewards — all from an AI assistant.

## Tools

| Tool | Description |
|------|-------------|
| `sephora_search_products` | Search for beauty products by keyword, category, and sort order |
| `sephora_get_product` | Get full product details, variants (shades/sizes), and reviews |
| `sephora_add_to_basket` | Add a product to the shopping basket |
| `sephora_view_basket` | View basket contents, quantities, and totals |
| `sephora_checkout` | Complete purchase with shipping and payment details |
| `sephora_get_rewards` | View Beauty Insider points, tier, and available rewards |

## Setup

```bash
# Install Playwright browser (one-time)
npx playwright install chromium

# Run the MCP server
npx @striderlabs/mcp-sephora
```

## MCP Configuration

Add to your MCP client configuration:

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

## Usage Examples

### Search for products
```
sephora_search_products({ query: "vitamin C serum", category: "skincare", max_results: 5 })
```

### Get product details
```
sephora_get_product({ product_url: "https://www.sephora.com/product/...", include_reviews: true })
```

### Add to basket
```
sephora_add_to_basket({ product_url: "https://www.sephora.com/product/...", quantity: 1 })
```

### Checkout (dry run)
```
sephora_checkout({ email: "...", first_name: "...", ..., dry_run: true })
```

### View rewards
```
sephora_get_rewards({ email: "you@email.com", password: "yourpassword" })
```

## Technical Details

- **TypeScript** with strict mode
- **Playwright** headless Chromium for browser automation
- **Session management** — single shared browser context with 30-minute timeout
- **MCP SDK** `@modelcontextprotocol/sdk` over stdio transport

## Author

Strider Labs &lt;hello@striderlabs.ai&gt;
npm package: @striderlabs/mcp-shakeshack
Description: MCP connector for Shake Shack restaurant
Latest version: 1.0.0

# @striderlabs/mcp-shakeshack

MCP (Model Context Protocol) connector for Shake Shack restaurant. Provides tools for browsing the menu, searching items, finding locations, and getting ordering information.

## Installation

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

## Usage

Add to your MCP client configuration:

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

## Available Tools

### `get_menu`
Get the full Shake Shack menu or filter by category.

**Parameters:**
- `category` *(optional)*: Filter by menu category (Burgers, Chicken, Hot Dogs, Crinkle Cut Fries, Frozen Custard, Shakes & Floats, Beer & Wine, Beverages)

### `search_menu`
Search menu items by keyword.

**Parameters:**
- `query` *(required)*: Search term (e.g. "bacon", "vegetarian", "chicken")

### `find_locations`
Find Shake Shack locations by city, neighborhood, or keyword.

**Parameters:**
- `query` *(optional)*: Location search query
- `limit` *(optional)*: Max results to return (default: 5)

### `get_location_details`
Get detailed info for a specific location by ID.

**Parameters:**
- `location_id` *(required)*: Location identifier (e.g. "madison-square-park")

### `get_nutrition_info`
Get nutritional information and allergens for a menu item.

**Parameters:**
- `item_name` *(required)*: Menu item name (e.g. "ShackBurger", "Fries")

### `get_featured_items`
Get current featured and seasonal menu items.

### `get_ordering_info`
Get information about ordering options (app, kiosk, delivery, catering, loyalty).

## Development

```bash
# Install dependencies
npm install

# Build
npm run build

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

## License

MIT
npm package: @striderlabs/mcp-shipt
Description: MCP server for Shipt grocery delivery — search products, manage cart, and place orders
Author: Strider Labs
Latest version: 0.1.0

# @striderlabs/mcp-shipt

MCP (Model Context Protocol) server for [Shipt](https://www.shipt.com) — search products, manage your cart, and place grocery delivery orders through Claude.

## Features

| Tool | Description |
|------|-------------|
| `shipt_status` | Check login status |
| `shipt_login` | Get login URL (manual auth) |
| `shipt_logout` | Clear session |
| `get_stores` | Find nearby Shipt stores by ZIP code |
| `search_items` | Search for products |
| `get_product_details` | Get product info, ingredients, nutrition |
| `add_to_cart` | Add items to cart |
| `view_cart` | View cart contents and totals |
| `checkout` | Preview or place an order |
| `get_order_status` | Check order status |
| `schedule_delivery` | Set delivery date/time window |

## Installation

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

Or install globally:

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

## Claude Desktop Configuration

Add to your `claude_desktop_config.json`:

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

Config file locations:
- **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
- **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`

## Authentication

This connector uses browser automation with cookie persistence — no credentials are stored.

1. Ask Claude: *"Log me in to Shipt"* → you'll receive a login URL
2. Open the URL in your browser and sign in
3. Ask Claude: *"Check my Shipt login status"* to confirm

Session cookies are saved at `~/.strider/shipt/cookies.json` and reused across sessions.

## Usage Examples

```
"Search Shipt for organic oat milk"
"Find stores near ZIP 78701"
"Add 2 cartons of eggs to my Shipt cart"
"What's in my Shipt cart?"
"Schedule my Shipt delivery for tomorrow, 2pm - 4pm"
"Check the status of my Shipt order"
"Place my Shipt order" (requires confirm=true)
```

## How It Works

The connector uses [Playwright](https://playwright.dev/) to automate a headless Chromium browser that interacts with the Shipt website. Because it drives a real browser, it handles JavaScript-heavy pages and stays compatible with Shipt's current UI.

**Note:** Web scraping may be affected by Shipt UI changes. If a tool fails, check whether the Shipt website layout has been updated.

## Requirements

- Node.js 18+
- Chromium (installed automatically by Playwright)

## Development

```bash
git clone <repo>
cd mcp-shipt
npm install
npx playwright install chromium
npm run build
npm start
```

## License

MIT
npm package: @striderlabs/mcp-southwest
Description: MCP server for Southwest Airlines - let AI agents search flights, manage bookings, check in, and track Rapid Rewards points
Author: Strider Labs
Latest version: 0.1.1

# @striderlabs/mcp-southwest

MCP server for Southwest Airlines — let AI agents search flights, manage bookings, check in, track Rapid Rewards points, and get real-time flight status.

Built by [Strider Labs](https://striderlabs.ai). Uses Playwright browser automation with stealth patches.

## Features

- **Search flights** — find available Southwest flights by route, date, and passenger count
- **Flight details** — get stops, aircraft, and fare type information
- **Real-time status** — live departure/arrival status, gate info, and delay information
- **Reservations** — list upcoming trips linked to your Rapid Rewards account
- **Check-in** — check in during the 24-hour window and get boarding position
- **Rapid Rewards** — check points balance, tier status (A-List, Companion Pass), and activity
- **Cancel reservation** — cancel bookings with travel fund refunds (no cancellation fee)

## Southwest-specific notes

- **No change fees, no cancellation fees** — Southwest is unique in this
- **2 free checked bags** per passenger on every fare
- **Open seating** — boarding position (e.g., A32) determines seat selection order
- **Check-in window** — opens exactly 24 hours before departure
- **Rapid Rewards** — points-based loyalty program with A-List, A-List Preferred, and Companion Pass tiers

## Installation

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

Or install globally:

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

## Tools

| Tool | Description |
|------|-------------|
| `status` | Check Rapid Rewards login status |
| `login` | Authenticate with your Southwest account |
| `logout` | Clear session and cookies |
| `search_flights` | Search for available flights |
| `get_flight_details` | Get details for a specific flight |
| `get_reservations` | List upcoming bookings |
| `check_in` | Check in (24hr window, returns boarding position) |
| `get_rapid_rewards` | Check Rapid Rewards points balance and tier |
| `get_flight_status` | Real-time flight status and delays |
| `cancel_reservation` | Cancel a booking (issues travel funds) |

## Usage with Claude Desktop

Add to your `claude_desktop_config.json`:

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

## Authentication

Southwest requires manual login due to bot detection. Use the `login` tool to get a login URL, complete authentication in your browser, then run `status` to confirm the session is active.

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

## Example prompts

- "Search for flights from Dallas Love Field to Las Vegas next Friday"
- "What's the status of Southwest flight 1234 today?"
- "Check me in for confirmation ABC123 — first name John, last name Smith"
- "How many Rapid Rewards points do I have?"
- "Cancel my reservation ABC123 for John Smith"

## License

MIT — [Strider Labs](https://striderlabs.ai)
npm package: @striderlabs/mcp-spotify
Description: MCP server for Spotify - let AI agents control playback, search music, and manage playlists
Author: Strider Labs
Latest version: 0.1.0

# @striderlabs/mcp-spotify

MCP server for Spotify — let AI agents control playback, search music, manage playlists, and view listening history.

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

## Setup

### 1. Create a Spotify App

1. Go to the [Spotify Developer Dashboard](https://developer.spotify.com/dashboard)
2. Click **Create app**
3. Fill in the app name and description
4. Add `http://localhost:8888/callback` to the **Redirect URIs**
5. Save and copy your **Client ID**

### 2. Configure Environment Variable

Set the `SPOTIFY_CLIENT_ID` environment variable to your app's Client ID:

```bash
export SPOTIFY_CLIENT_ID=your_client_id_here
```

Or add it to your MCP configuration (see below).

### 3. Add to MCP Configuration

```json
{
  "mcpServers": {
    "spotify": {
      "command": "npx",
      "args": ["-y", "@striderlabs/mcp-spotify"],
      "env": {
        "SPOTIFY_CLIENT_ID": "your_client_id_here"
      }
    }
  }
}
```

### 4. Login

Ask your AI assistant to use the `login` tool. It will open your browser to authorize the Spotify app. Once you approve, your credentials are saved to `~/.strider/spotify/tokens.json` and refreshed automatically.

## Available Tools

| Tool | Description |
|------|-------------|
| `status` | Check authentication status |
| `login` | Authorize with Spotify (PKCE OAuth 2.0) |
| `logout` | Clear stored credentials |
| `get_playback` | Get current playback state, track info, device, volume |
| `play` | Start/resume playback, optionally with a Spotify URI |
| `pause` | Pause playback |
| `skip_next` | Skip to next track |
| `skip_previous` | Skip to previous track |
| `seek` | Seek to position in current track |
| `set_volume` | Set volume (0–100) |
| `search` | Search tracks, albums, artists, playlists |
| `get_playlists` | List user's playlists |
| `play_playlist` | Play a playlist by ID or URI |
| `add_to_queue` | Add a track to the queue |
| `get_recently_played` | Get recent listening history |

## Usage Examples

```
"What's playing on Spotify?"
"Play some jazz music on Spotify"
"Skip this track"
"Turn the volume up to 80"
"Search for albums by Radiohead"
"Play my Discover Weekly playlist"
"Add this track to my queue: spotify:track:4iV5W9uYEdYUVa79Axb7Rh"
"What have I been listening to lately?"
```

## Authentication

This server uses the **OAuth 2.0 Authorization Code with PKCE** flow — the most secure method for user authentication without exposing a client secret.

- Your **Client ID** is not sensitive and can be shared
- No client secret is required
- Refresh tokens are stored locally at `~/.strider/spotify/tokens.json` with restricted permissions
- Tokens are automatically refreshed when they expire

## Requirements

- Node.js 18+
- An active Spotify account (Free or Premium)
- Spotify open on at least one device for playback controls

## License

MIT — [Strider Labs](https://striderlabs.ai)
npm package: @striderlabs/mcp-stubhub
Description: MCP server for StubHub - let AI agents search events, compare ticket prices, and purchase tickets
Author: Strider Labs
Latest version: 0.1.0

# @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
```
npm package: @striderlabs/mcp-subway
Description: MCP server connector for Subway restaurants — find locations, browse menus, build and place orders via order.subway.com
Author: StriderLabs
Latest version: 1.0.0

# @striderlabs/mcp-subway

MCP server connector for Subway restaurants. Automates order.subway.com via Playwright to find locations, browse menus, and place orders.

## Tools

| Tool | Description |
|------|-------------|
| `find_locations` | Find nearby Subway locations by address or zip code |
| `get_menu` | Get full menu for a specific location |
| `get_item_details` | Get details, customizations, and nutritional info for a menu item |
| `create_order` | Start a new order for a location |
| `add_item_to_order` | Add a menu item with customizations to the current order |
| `get_cart` | View current cart contents and total |
| `checkout` | Complete the order (requires payment info in env vars) |
| `get_order_history` | View past orders (requires login) |
| `get_rewards` | Check MVP Rewards points balance and available rewards |

## Setup

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

Or add to your MCP config:

```json
{
  "mcpServers": {
    "subway": {
      "command": "npx",
      "args": ["@striderlabs/mcp-subway"],
      "env": {
        "SUBWAY_EMAIL": "your@email.com",
        "SUBWAY_PASSWORD": "yourpassword",
        "SUBWAY_HEADLESS": "true"
      }
    }
  }
}
```

## Environment Variables

| Variable | Description | Default |
|----------|-------------|---------|
| `SUBWAY_EMAIL` | Subway account email (for login-required tools) | — |
| `SUBWAY_PASSWORD` | Subway account password | — |
| `SUBWAY_HEADLESS` | Run browser headlessly | `true` |

## Notes

- Uses Playwright Chromium to automate order.subway.com
- Session state is preserved across tool calls within a server session
- `checkout` requires a logged-in account and saved payment method
npm package: @striderlabs/mcp-teladoc
Description: MCP server connector for Teladoc telehealth — search providers, book virtual appointments, manage prescriptions via browser automation
Author: StriderLabs
Latest version: 1.0.0

# @striderlabs/mcp-teladoc

[![MCP](https://img.shields.io/badge/MCP-Compatible-green)](https://modelcontextprotocol.io)
[![npm](https://img.shields.io/npm/v/@striderlabs/mcp-teladoc)](https://www.npmjs.com/package/@striderlabs/mcp-teladoc)

MCP server connector for Teladoc telehealth platform. Enable AI agents to search providers, book virtual appointments, manage prescriptions, and message healthcare providers.

## Installation

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

Or install globally:

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

## Configuration

Set environment variables:

```bash
export TELADOC_EMAIL="your-email@example.com"
export TELADOC_PASSWORD="your-password"
export TELADOC_HEADLESS="true"  # optional, defaults to true
```

## Tools

| Tool | Description |
|------|-------------|
| `search_providers` | Search Teladoc providers by specialty, condition, gender, or language |
| `get_provider_details` | Get detailed information about a specific provider |
| `list_appointments` | List upcoming and past appointments |
| `book_appointment` | Book a new virtual appointment |
| `cancel_appointment` | Cancel an existing appointment |
| `get_prescriptions` | View prescription history |
| `send_message` | Send secure message to your provider |
| `get_visit_history` | Get past visit summaries |

## Usage with Claude Desktop

Add to your `claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "teladoc": {
      "command": "npx",
      "args": ["@striderlabs/mcp-teladoc"],
      "env": {
        "TELADOC_EMAIL": "your-email@example.com",
        "TELADOC_PASSWORD": "your-password"
      }
    }
  }
}
```

## License

MIT
npm package: @striderlabs/mcp-traderjoes
Description: MCP connector for Trader Joe's grocery
Latest version: 1.0.0

# @striderlabs/mcp-traderjoes

MCP (Model Context Protocol) connector for Trader Joe's grocery. Enables AI assistants to search products, look up nutrition info, and find store locations.

## Installation

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

## Usage

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

```json
{
  "mcpServers": {
    "traderjoes": {
      "command": "mcp-traderjoes"
    }
  }
}
```

## Tools

### `search_products`
Search for Trader Joe's products by keyword.

**Parameters:**
- `query` (required): Search term (e.g. "cauliflower", "frozen pizza", "wine")
- `page_size` (optional): Number of results (default: 10)

### `get_product_details`
Get detailed product info including ingredients, nutrition facts, and allergens.

**Parameters:**
- `sku` (required): Product SKU from search results

### `find_stores`
Find Trader Joe's locations near a ZIP code.

**Parameters:**
- `zip` (required): US ZIP code
- `radius` (optional): Search radius in miles (default: 25)

### `get_new_products`
List new and featured products currently available at Trader Joe's.

**Parameters:**
- `category` (optional): Category filter (e.g. "produce", "frozen", "snacks")

## Development

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

## License

MIT
npm package: @striderlabs/mcp-uhaul
Description: MCP server connector for U-Haul — search trucks, get pricing, make reservations, find storage units via browser automation
Author: StriderLabs
Latest version: 1.0.0

# @striderlabs/mcp-uhaul

[![MCP](https://img.shields.io/badge/MCP-Compatible-green)](https://modelcontextprotocol.io)
[![npm](https://img.shields.io/npm/v/@striderlabs/mcp-uhaul)](https://www.npmjs.com/package/@striderlabs/mcp-uhaul)

MCP server connector for U-Haul. Enable AI agents to search trucks, get pricing, make reservations, browse moving supplies, and find storage units.

## Installation

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

## Configuration

```bash
export UHAUL_EMAIL="your-email@example.com"  # optional, for account features
export UHAUL_PASSWORD="your-password"
export UHAUL_HEADLESS="true"
```

## Tools

| Tool | Description |
|------|-------------|
| `search_locations` | Search U-Haul locations by city, address, or zip |
| `get_truck_availability` | Check available trucks for rental |
| `get_pricing` | Get pricing for a specific truck size and route |
| `make_reservation` | Reserve a U-Haul truck |
| `modify_reservation` | Modify an existing reservation |
| `cancel_reservation` | Cancel a reservation |
| `get_moving_supplies` | Browse moving supplies |
| `get_storage_units` | Search for self-storage units |

## Usage with Claude Desktop

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

## License

MIT
npm package: @striderlabs/mcp-usps
Description: MCP server for USPS package tracking, location finding, and rate calculation
Author: Strider Labs
Latest version: 1.0.0

# @striderlabs/mcp-usps

MCP (Model Context Protocol) server for USPS package tracking, location finding, and shipping rate calculation using browser automation.

## Features

- **Track packages** — Get real-time status, location history, and estimated delivery for any USPS tracking number
- **Find locations** — Locate nearby USPS post offices and collection boxes by ZIP code
- **Calculate rates** — Get shipping rates for packages between ZIP codes

## Installation

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

Or use directly via npx:

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

## Prerequisites

Playwright Chromium browser must be installed:

```bash
npx playwright install chromium
```

## MCP Configuration

Add to your Claude Desktop or MCP client config:

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

## Tools

### `track_package`

Track a USPS package by tracking number.

**Parameters:**
- `tracking_number` (string, required) — USPS tracking number (e.g. `9400111899223397556826`)

**Example:**
```
Track package 9400111899223397556826
```

---

### `find_locations`

Find USPS post offices and collection boxes near a ZIP code.

**Parameters:**
- `zip` (string, required) — 5-digit ZIP code
- `type` (string, optional) — `post_office` | `collection_box` | `all` (default: `all`)

**Example:**
```
Find post offices near 10001
```

---

### `calculate_rates`

Calculate shipping rates between two ZIP codes.

**Parameters:**
- `from_zip` (string, required) — Origin 5-digit ZIP code
- `to_zip` (string, required) — Destination 5-digit ZIP code
- `weight_oz` (number, required) — Package weight in ounces
- `length_in` (number, optional) — Length in inches
- `width_in` (number, optional) — Width in inches
- `height_in` (number, optional) — Height in inches
- `mail_class` (string, optional) — Service type: `priority_mail` | `priority_mail_express` | `first_class` | `ground_advantage` | `media_mail` (default: `priority_mail`)

**Example:**
```
Calculate shipping rates from 10001 to 90210 for a 16oz package
```

## How It Works

This server uses [Playwright](https://playwright.dev/) to automate Chromium and scrape data directly from USPS.com tools:

- Tracking: `https://tools.usps.com/go/TrackConfirmAction`
- Locations: `https://tools.usps.com/find-location.htm`
- Rates: `https://postcalc.usps.com/`

No USPS API key required.

## License

MIT
npm package: @striderlabs/mcp-verizon
Description: MCP server for Verizon Wireless account management
Author: Strider Labs
Latest version: 1.0.0

# @striderlabs/mcp-verizon

MCP server for Verizon Wireless account management. Automates account interactions via Playwright + Browserbase.

## Tools

| Tool | Description |
|------|-------------|
| `get_account_overview` | Current plan, balance, usage summary |
| `get_usage_details` | Detailed data/call/text breakdown |
| `pay_bill` | One-time payment (dry-run by default) |
| `get_bill_history` | Past bills and payment history |
| `check_upgrade_eligibility` | Device upgrade eligibility per line |

## Setup

### Environment Variables

```bash
# Required
BROWSERBASE_CDP_URL=wss://connect.browserbase.com?apiKey=YOUR_KEY&sessionId=SESSION_ID
VERIZON_USERNAME=your@email.com
VERIZON_PASSWORD=yourpassword

# Optional — set to enable real payments (disabled by default for safety)
VERIZON_PAYMENT_ENABLED=true
```

### Install & Build

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

### Usage with Claude Desktop

Add to `claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "verizon": {
      "command": "node",
      "args": ["/path/to/mcp-verizon/dist/index.js"],
      "env": {
        "BROWSERBASE_CDP_URL": "wss://...",
        "VERIZON_USERNAME": "your@email.com",
        "VERIZON_PASSWORD": "yourpassword"
      }
    }
  }
}
```

### Usage with npx (from tarball)

```bash
BROWSERBASE_CDP_URL=wss://... VERIZON_USERNAME=... VERIZON_PASSWORD=... \
  npx @striderlabs/mcp-verizon
```

## Tool Details

### get_account_overview
No parameters. Returns plan name, monthly charge, current balance, due date, autopay status, and active lines.

### get_usage_details
- `lineNumber` (optional): Filter to a specific line (e.g. `"2125551234"`)

Returns data used/remaining, call minutes, text messages for the current billing cycle.

### pay_bill
- `amount` (required): Payment amount in USD
- `paymentMethodLast4` (optional): Last 4 digits of payment method

**Safety**: Payment submission is disabled by default. Set `VERIZON_PAYMENT_ENABLED=true` to enable real payments.

### get_bill_history
- `months` (optional): Number of months to retrieve (default: 12)

### check_upgrade_eligibility
- `lineNumber` (optional): Check a specific line; omit for all lines

## Architecture

Uses [Browserbase](https://browserbase.com) for cloud browser sessions via Chrome DevTools Protocol (CDP). The server connects with `chromium.connectOverCDP(BROWSERBASE_CDP_URL)` and automates verizon.com flows using Playwright.

Each tool call opens a browser session, authenticates if needed, navigates to the relevant page, scrapes the data, and closes the session.
npm package: @striderlabs/mcp-wendys
Description: MCP server connector for Wendy's - enables AI agents to interact with Wendy's menu, locations, and ordering
Author: Strider Labs
Latest version: 1.0.0

# @striderlabs/mcp-wendys

MCP (Model Context Protocol) server connector for Wendy's. Enables AI agents to search the menu, view nutrition info, find locations, and place mobile orders.

## Tools

| Tool | Description |
|------|-------------|
| `search_menu_items` | Search menu by name, category, or keyword |
| `get_item_nutrition` | Get calorie and nutrition info for an item |
| `find_nearby_locations` | Find nearby Wendy's restaurants |
| `add_to_order` | Add items to the mobile order cart |
| `apply_offer` | Apply promo/deal codes to the order |
| `place_order` | Place the order (pickup, delivery, drive-thru) |
| `check_order_status` | Check the status of a placed order |

## Usage

### With Claude Desktop

Add to your `claude_desktop_config.json`:

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

### Direct execution

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

## Example interactions

- "Search for chicken sandwiches on the Wendy's menu"
- "How many calories are in the Baconator?"
- "Find Wendy's near 90210"
- "Add a Dave's Double and a large Frosty to my order"
- "Apply promo code FROSTY1"
- "Place my order at location WEN001 for pickup"
- "Check the status of order WEN-123456-789"

## Requirements

- Node.js 18+
- Playwright (for browser automation)

## License

MIT
npm package: @striderlabs/mcp-xfinity
Description: MCP server for Xfinity/Comcast ISP account management
Author: Strider Labs
Latest version: 1.0.0

# @striderlabs/mcp-xfinity

MCP server for Xfinity/Comcast ISP account management. Automates common account tasks via browser automation using Playwright and Browserbase.

## Tools

| Tool | Description |
|------|-------------|
| `get_account_overview` | Current plan, balance, due date, and service summary |
| `get_usage_details` | Internet data usage — GB used, cap, days remaining |
| `pay_bill` | Make a one-time bill payment |
| `get_bill_history` | View past bills (up to 24 months) |
| `check_outages` | Check for service outages in an area |
| `restart_equipment` | Remotely restart modem/router |

## Requirements

- [Browserbase](https://www.browserbase.com/) account with a CDP-enabled session URL
- Xfinity account credentials

## Environment Variables

| Variable | Required | Description |
|----------|----------|-------------|
| `BROWSERBASE_CDP_URL` | Yes | Browserbase CDP WebSocket URL |
| `XFINITY_USERNAME` | Yes | Xfinity account username or email |
| `XFINITY_PASSWORD` | Yes | Xfinity account password |

## Installation

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

Or use directly with `npx`:

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

## Claude Desktop Configuration

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

```json
{
  "mcpServers": {
    "xfinity": {
      "command": "npx",
      "args": ["-y", "@striderlabs/mcp-xfinity"],
      "env": {
        "BROWSERBASE_CDP_URL": "wss://connect.browserbase.com?apiKey=YOUR_API_KEY&sessionId=YOUR_SESSION_ID",
        "XFINITY_USERNAME": "your@email.com",
        "XFINITY_PASSWORD": "yourpassword"
      }
    }
  }
}
```

## Usage Examples

Once configured, you can ask Claude:

- *"What's my current Xfinity balance and due date?"*
- *"How much internet data have I used this month?"*
- *"Pay my Xfinity bill for $85"*
- *"Show me my last 3 months of Xfinity bills"*
- *"Are there any Xfinity outages at 123 Main St, Chicago?"*
- *"Restart my Xfinity modem"*

## How It Works

Each tool call:
1. Connects to a Browserbase remote Chrome instance via CDP
2. Authenticates to xfinity.com using your credentials
3. Navigates to the relevant page and extracts or submits data
4. Returns structured JSON results

## Security Notes

- Credentials are passed via environment variables, never hardcoded
- Each tool call uses a fresh browser context
- Browserbase isolates sessions in secure cloud environments
- The `pay_bill` tool requires explicit confirmation before submitting payment

## License

MIT
npm package: @striderlabs/mcp-yelp
Description: MCP server for Yelp - let AI agents search restaurants, read reviews, view photos, and find businesses
Author: Strider Labs
Latest version: 0.1.0

# @striderlabs/mcp-yelp

MCP server connector for Yelp - the leading platform for local business discovery. Enables AI agents to search restaurants, read reviews, view photos, check hours, find deals, and discover trending spots.

## Installation

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

## Configuration

Add to your MCP client configuration:

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

## Available Tools

| Tool | Description |
|------|-------------|
| `yelp_search_restaurants` | Search restaurants by location, cuisine, price |
| `yelp_search_businesses` | Search any type of business |
| `yelp_get_business_details` | Get detailed business information |
| `yelp_get_reviews` | Get reviews with ratings and text |
| `yelp_get_photos` | Get business photos by category |
| `yelp_get_menu` | Get restaurant menu items and prices |
| `yelp_get_hours` | Get business hours |
| `yelp_find_similar` | Find similar businesses |
| `yelp_get_trending` | Get trending/new spots in a location |
| `yelp_get_collections` | Get curated Yelp collections |
| `yelp_check_wait_time` | Check estimated wait time |
| `yelp_get_deals` | Get current deals and offers |

## Example Usage

```typescript
// Search for sushi restaurants
const results = await client.call("yelp_search_restaurants", {
  query: "sushi",
  location: "San Francisco, CA",
  priceRange: "$$",
  sortBy: "rating"
});

// Get business details
const details = await client.call("yelp_get_business_details", {
  businessId: "nobu-san-francisco"
});

// Read reviews
const reviews = await client.call("yelp_get_reviews", {
  businessId: "nobu-san-francisco",
  sortBy: "newest",
  limit: 20
});

// Get restaurant photos
const photos = await client.call("yelp_get_photos", {
  businessId: "nobu-san-francisco",
  category: "food"
});

// Find trending restaurants
const trending = await client.call("yelp_get_trending", {
  location: "San Francisco, CA",
  category: "restaurants"
});
```

## Features

- **Restaurant Search**: Filter by cuisine, price, distance, ratings
- **Business Discovery**: Search for any type of local business
- **Reviews**: Access user reviews with ratings and photos
- **Photos**: Browse food, interior, and exterior photos
- **Menus**: View menu items with prices
- **Hours**: Get operating hours including special hours
- **Trending**: Discover hot new spots
- **Collections**: Access curated "best of" lists
- **Deals**: Find current promotions and offers

## Requirements

- Node.js 18+

## License

MIT

## Links

- [Strider Labs](https://striderlabs.ai)
- [GitHub Repository](https://github.com/markswendsen-code/mcp-yelp)
npm package: @striderlabs/mcp-youtube
Description: MCP server connector for YouTube — search videos, manage playlists, subscriptions, and watch history via Playwright browser automation
Author: StriderLabs
Latest version: 1.0.0

# @striderlabs/mcp-youtube

MCP server connector for YouTube — search videos, manage playlists, subscriptions, and watch history via Playwright browser automation.

## Installation

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

## Configuration

Set environment variables:

```bash
export YOUTUBE_EMAIL="your-google-email@gmail.com"
export YOUTUBE_PASSWORD="your-password"
export YOUTUBE_HEADLESS="true"  # Set to "false" to see browser
```

## Tools

| Tool | Description |
|------|-------------|
| `search_videos` | Search for videos by query |
| `get_video_details` | Get detailed info about a video |
| `get_channel_info` | Get channel information |
| `list_playlists` | List user playlists |
| `get_playlist_videos` | Get videos in a playlist |
| `subscribe_channel` | Subscribe to a channel |
| `get_subscriptions` | List subscribed channels |
| `get_watch_history` | Get watch history |
| `like_video` | Like a video |
| `add_to_playlist` | Add video to playlist |

## MCP Configuration

Add to your MCP config:

```json
{
  "mcpServers": {
    "youtube": {
      "command": "npx",
      "args": ["@striderlabs/mcp-youtube"],
      "env": {
        "YOUTUBE_EMAIL": "your-email",
        "YOUTUBE_PASSWORD": "your-password"
      }
    }
  }
}
```

## License

MIT
npm package: @striderlabs/mcp-zipcar
Description: MCP server for Zipcar car sharing service automation
Author: Strider Labs
Latest version: 1.0.0

# @striderlabs/mcp-zipcar

A Model Context Protocol (MCP) server for automating Zipcar car sharing tasks via stealth browser automation using [patchright](https://github.com/Kaliiiiiiiiii-Vinyzu/patchright).

## Tools

| Tool | Description |
|------|-------------|
| `search_cars` | Find available Zipcars near a location for a given time period |
| `get_car_details` | Get vehicle info: type, features, seating, fuel, hourly/daily rates |
| `reserve_car` | Book a Zipcar for a specific time slot (requires login) |
| `extend_reservation` | Add time to an existing reservation |
| `end_trip` | End an active rental session and get a trip summary |
| `get_reservation_history` | View past and upcoming reservations |

## Installation

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

## Usage

### With Claude Desktop

Add to your `claude_desktop_config.json`:

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

Or if installed globally:

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

### With Claude Code

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

## Authentication

Tools that require authentication (`reserve_car`, `extend_reservation`, `end_trip`, `get_reservation_history`) require you to be logged in to Zipcar in a browser session. The server shares a persistent browser context across requests within the same session.

If not logged in, you will receive an `auth_required` response with instructions to log in manually.

## Tool Examples

### Search for cars

```json
{
  "tool": "search_cars",
  "arguments": {
    "location": "Brooklyn, NY",
    "start_time": "2025-08-15T09:00:00",
    "end_time": "2025-08-15T13:00:00"
  }
}
```

### Reserve a car

```json
{
  "tool": "reserve_car",
  "arguments": {
    "car_id": "car-12345",
    "start_time": "2025-08-15T09:00:00",
    "end_time": "2025-08-15T13:00:00",
    "plan": "hourly"
  }
}
```

### Get reservation history

```json
{
  "tool": "get_reservation_history",
  "arguments": {
    "filter": "upcoming",
    "limit": 10
  }
}
```

### Extend a reservation

```json
{
  "tool": "extend_reservation",
  "arguments": {
    "reservation_id": "res-98765",
    "new_end_time": "2025-08-15T15:00:00"
  }
}
```

### End a trip

```json
{
  "tool": "end_trip",
  "arguments": {
    "reservation_id": "res-98765"
  }
}
```

## Notes

- Browser automation targets zipcar.com and may break if Zipcar updates their website structure.
- Patchright is used for stealth browser automation to avoid bot detection.
- A headless Chromium instance is launched on first tool call and reused for the session.

## License

MIT — Strider Labs <hello@striderlabs.ai>
npm package: @strikeentco/get
Description: Get a property from a nested object using a dot path or custom separator
Author: Alexey Bystrov
Latest version: 1.0.1

get [![License](https://img.shields.io/npm/l/@strikeentco/get.svg)](https://github.com/strikeentco/get/blob/master/LICENSE)  [![npm](https://img.shields.io/npm/v/@strikeentco/get.svg)](https://www.npmjs.com/package/@strikeentco/get)
==========
[![Build Status](https://travis-ci.org/strikeentco/get.svg)](https://travis-ci.org/strikeentco/get)  [![node](https://img.shields.io/node/v/@strikeentco/get.svg)](https://www.npmjs.com/package/@strikeentco/get) [![Test Coverage](https://api.codeclimate.com/v1/badges/83783b3523a8819e5d34/test_coverage)](https://codeclimate.com/github/strikeentco/get/test_coverage)

One of the smallest (*23 sloc*) and most effective implementations of getting a nested value from an object.

# Usage

```sh
$ npm install @strikeentco/get --save
```

```javascript
const get = require('@strikeentco/get');

get({ a: { b: 'c' } }, 'a.b');
//=> 'c'

get({ a: { b: ['c', 'd'] } }, 'a.b.1');
//=> 'd'

get({ a: { b: ['c', 'd'] } }, ['a', 'b']);
//=> ['c', 'd']

get({ a: { b: 'c' } }, 'a.b.c.d');
//=> undefined

get({ a: { b: 'c' } }, 'a:b', ':');
//=> 'c'
```
## API

### get(obj, path, [separator])

#### Params:
* **obj** (*Object*) - Source object.
* **path** (*String|Array*) - String or array with path.
* **[separator]** (*String*) - `.` by default.

## Benchmarks
*(benchmarks were run on a Intel Core i5-6200U @ 2.30 GHz, 8 GB 2133 MHz DDR4)*

```
# deep.js (175 bytes)
  dot-prop x 633,102 ops/sec ±1.19% (85 runs sampled)
  get-value x 1,138,909 ops/sec ±1.80% (87 runs sampled)
  get x 2,066,525 ops/sec ±0.99% (90 runs sampled) - this library
  getobject x 170,159 ops/sec ±1.17% (88 runs sampled)
  lodash.get x 1,847,112 ops/sec ±0.60% (89 runs sampled)
  object-path x 126,724 ops/sec ±2.33% (86 runs sampled)

  fastest is get - this library

# root.js (210 bytes)
  dot-prop x 3,056,017 ops/sec ±1.84% (86 runs sampled)
  get-value x 11,121,668 ops/sec ±1.04% (87 runs sampled)
  get x 4,160,982 ops/sec ±1.06% (88 runs sampled) - this library
  getobject x 1,004,785 ops/sec ±1.19% (88 runs sampled)
  lodash.get x 6,529,634 ops/sec ±0.69% (90 runs sampled)
  object-path x 1,976,993 ops/sec ±1.97% (86 runs sampled)

  fastest is get-value

# shallow.js (84 bytes)
  dot-prop x 1,965,057 ops/sec ±1.64% (89 runs sampled)
  get-value x 2,697,800 ops/sec ±1.13% (87 runs sampled)
  get x 3,529,218 ops/sec ±1.13% (87 runs sampled) - this library
  getobject x 576,927 ops/sec ±1.04% (88 runs sampled)
  lodash.get x 3,145,038 ops/sec ±2.11% (87 runs sampled)
  object-path x 595,264 ops/sec ±3.33% (82 runs sampled)

  fastest is get - this library
```

Benchmark from [`jonschlinkert/get-value`](https://github.com/jonschlinkert/get-value/tree/master/benchmark) library.

## License

The MIT License (MIT)<br/>
Copyright (c) 2018 Alexey Bystrov
npm package: @strikeentco/set
Description: Set nested values on an object using a dot path or custom separator
Author: Alexey Bystrov
Latest version: 1.0.2

set [![License](https://img.shields.io/npm/l/@strikeentco/set.svg)](https://github.com/strikeentco/set/blob/master/LICENSE)  [![npm](https://img.shields.io/npm/v/@strikeentco/set.svg)](https://www.npmjs.com/package/@strikeentco/set)
==========
[![Build Status](https://travis-ci.org/strikeentco/set.svg)](https://travis-ci.org/strikeentco/set)  [![node](https://img.shields.io/node/v/@strikeentco/set.svg)](https://www.npmjs.com/package/@strikeentco/set) [![Test Coverage](https://api.codeclimate.com/v1/badges/450e530044d31f690dc5/test_coverage)](https://codeclimate.com/github/strikeentco/set/test_coverage)

One of the smallest (*31 sloc*) and most effective implementations of setting a nested value on an object.

# Usage

```sh
$ npm install @strikeentco/set --save
```

```javascript
const set = require('@strikeentco/set');

set({ a: { b: 'c' } }, 'a.b', 'd');
//=> { a: { b: 'd' } }

set({ a: { b: ['c', 'd'] } }, 'a.b.1', 'e');
//=> { a: { b: ['c', 'e'] } }

set({ a: { b: ['c', 'd'] } }, ['a', 'b'], 'c');
//=> { a: { b: 'c' } }

set({ a: { b: 'c' } }, 'a.b.c.d', 'e');
//=> { a: { b: { c: { d: 'e' } } } }

set({ a: { b: 'c' } }, 'a:b', 'd', ':');
//=> { a: { b: 'd' } }
```
## API

### set(obj, path, val, [separator])

#### Params:
* **obj** (*Object*) - Source object.
* **path** (*String|Array*) - String or array with path.
* **val** (*Any*) - Value to set.
* **[separator]** (*String*) - `.` by default.

## License

The MIT License (MIT)<br/>
Copyright (c) 2018-present Alexey Bystrov
npm package: @striker1826/use-tts
Description: An npm library that reads text aloud as it is typed.
Author: minseobKim
Latest version: 1.0.8

# @striker1826/use-tts

`@striker1826/use-tts` is a simple TypeScript function that converts text to speech. This function uses the browser's `speechSynthesis` API to convert text to speech.

## Installation

To install this package, use npm:

```bash
npm install @striker1826/use-tts
```

## Usage

You can import the package and call the getSpeech function to convert text to speech.

```bash
import { getSpeech } from '@striker1826/use-tts';

getSpeech('Hello!');
```

## Function Description

```bash
getSpeech(text: string): void
```

Converts the given text to speech.

## Parameters

text: string - The text to be converted to speech.

## Browser Compatibility

This function only works in a browser environment. It does not work in a Node.js environment because there is no window object and speechSynthesis API.

## Contribution

Contributions are welcome! If you find any bugs or have feature requests, please submit an issue.

## License

This project is distributed under the MIT License. For more details, refer to the LICENSE file.