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

MCP (Model Context Protocol) connector for KFC fast food ordering. Uses Playwright browser automation to interact with kfc.com.

## Tools

| Tool | Description |
|------|-------------|
| `search_menu` | Search KFC menu items by keyword and category |
| `get_item_details` | Get details (price, calories, allergens) for an item |
| `add_to_cart` | Add items to your order cart |
| `view_cart` | View current cart with subtotals |
| `checkout` | Initiate checkout (pickup or delivery) |
| `get_order_status` | Check status of an existing order |
| `find_locations` | Find KFC restaurants near an address |

## Installation

```bash
npm install -g @striderlabs/mcp-kfc
# Install Playwright browser
npx playwright install chromium
```

## Usage with Claude Desktop

Add to your `claude_desktop_config.json`:

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

Or with `npx` (no global install needed):

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

## Usage with Claude Code

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

## Example Conversation

> **User:** Find a KFC near 10001 and add a Famous Bowl to my cart

> **Claude:** I'll help you find a KFC near 10001 and add a Famous Bowl.
> [uses `find_locations` then `add_to_cart`]

> **User:** What's in my cart and how much will it cost?

> **Claude:** [uses `view_cart`] You have 1x Famous Bowl ($7.99), estimated total $8.69 with tax.

> **User:** Checkout for pickup

> **Claude:** [uses `checkout` with `delivery_method: "pickup"`] Here's your order summary and checkout link...

## Development

```bash
# Install dependencies
npm install

# Install Playwright browsers
npx playwright install chromium

# Build
npm run build

# Run in dev mode
npm run dev
```

## Architecture

- **Transport:** stdio (standard MCP transport)
- **Browser:** Playwright Chromium (headless)
- **Cart state:** in-memory per session
- **Bundle:** esbuild (single `dist/index.js`, Playwright kept external for native binaries)

## Notes

- Prices shown are estimates based on typical KFC pricing. Exact prices vary by location and are confirmed at checkout on kfc.com.
- Final order placement requires a KFC account and payment info at kfc.com.
- Browser automation may be affected by KFC website updates or regional differences.

## License

MIT

TDQS

A3.8/5.0

Scored across 7 tools

Disambiguation5/5

Each tool targets a distinct function: cart management (add, view), search (menu, locations), item details, checkout, and order status. No overlapping purposes.

Naming Consistency5/5

All tools use consistent snake_case with a verb_noun pattern (e.g., add_to_cart, find_locations, get_item_details). 'checkout' is a single verb but fits the pattern as an imperative action.

Tool Count5/5

7 tools cover the essential operations for a KFC ordering system: menu browsing, cart management, checkout, location finding, and order tracking. This is well-scoped without being overwhelming.

Completeness4/5

Core CRUD operations are covered for menu items and cart, but missing update/delete for cart items (e.g., remove_from_cart, update_quantity) is a minor gap. Order management lacks cancellation or update.

Maintenance

ActivityInactive
ResponsivenessNo issues