npm package: @striderlabs/mcp-sweetgreen
Description: MCP server connector for Sweetgreen restaurant ordering using Playwright browser automation
Author: Strider Labs
Latest version: 0.1.0

# @striderlabs/mcp-sweetgreen

MCP server connector for [Sweetgreen](https://www.sweetgreen.com) restaurant ordering using Playwright browser automation. Lets AI agents search locations, browse menus, build orders, apply rewards, and check out — all through your Sweetgreen account.

## Features

- Search for nearby Sweetgreen locations
- Browse full menu with pricing and calorie info
- Build and customize orders (salads, bowls, plates)
- Apply promo codes at checkout
- View rewards points and available offers
- Access order history
- Persistent session via saved cookies (no repeated logins)

## Requirements

- Node.js 18+
- A Sweetgreen account (for rewards, orders, and checkout)

## Installation

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

## MCP Configuration

Add to your Claude Desktop config (`~/Library/Application Support/Claude/claude_desktop_config.json`):

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

Or if running from source:

```json
{
  "mcpServers": {
    "sweetgreen": {
      "command": "node",
      "args": ["/path/to/mcp-sweetgreen/dist/index.js"]
    }
  }
}
```

## Tools

### Authentication

| Tool | Description |
|------|-------------|
| `sweetgreen_status` | Check current login status and session info |
| `sweetgreen_login` | Log in with email and password |
| `sweetgreen_logout` | Log out and clear saved session |

### Locations

| Tool | Description |
|------|-------------|
| `search_locations` | Find Sweetgreen locations near an address or zip code |

### Menu

| Tool | Description |
|------|-------------|
| `get_menu` | Get full menu for a specific location |

### Ordering

| Tool | Description |
|------|-------------|
| `create_order` | Start a new order at a location (pickup or delivery) |
| `add_to_order` | Add a menu item with customizations |
| `view_cart` | View current cart contents and total |
| `checkout` | Submit the order (optional promo code) |

### Account

| Tool | Description |
|------|-------------|
| `get_rewards` | View rewards points and available offers |
| `get_past_orders` | Retrieve order history |

## Example Usage

### Find a location and browse the menu

```
User: Find Sweetgreen locations in downtown Austin and show me the menu

Agent uses:
1. search_locations(query: "Austin, TX")
   → Returns list of locations with IDs

2. get_menu(location_id: "austin-congress")
   → Returns full menu with categories, items, prices, calories
```

### Order a customized bowl

```
User: Order a Harvest Bowl with no croutons and extra chicken from the SoHo location

Agent uses:
1. sweetgreen_status()
   → Confirms logged in

2. search_locations(query: "SoHo, New York")
   → Gets location ID: "soho"

3. create_order(location_id: "soho", order_type: "pickup")
   → Starts the order session

4. add_to_order(
     item_name: "Harvest Bowl",
     quantity: 1,
     customizations: ["no croutons", "extra chicken"]
   )
   → Adds item with customizations

5. view_cart()
   → Shows order summary

6. checkout()
   → Places the order
```

### Check rewards

```
User: How many Sweetgreen points do I have?

Agent uses:
1. get_rewards()
   → Returns points balance and available offers
```

### View order history

```
User: Show me my last 5 Sweetgreen orders

Agent uses:
1. get_past_orders(limit: 5)
   → Returns order history with locations, items, and totals
```

## Session Persistence

Cookies and session data are saved to `~/.strider/sweetgreen/` after each successful login. You only need to log in once — subsequent requests will reuse the saved session automatically.

## Development

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

## Notes

- This connector uses browser automation and is subject to Sweetgreen's terms of service
- Checkout requires a saved payment method in your Sweetgreen account
- Session cookies expire periodically — use `sweetgreen_login` to re-authenticate if needed

## License

MIT — Strider Labs