An MCP (Model Context Protocol) server connector for Safeway/Albertsons grocery delivery, powered by Playwright browser automation.
This package provides an MCP server that enables AI assistants to interact with Safeway and Albertsons online grocery platforms. It uses Playwright to automate browser interactions, allowing you to search products, manage your cart, schedule deliveries, and place orders.
npm install -g @striderlabs/mcp-safeway
npx playwright install chromiumgit clone https://github.com/markswendsen-code/mcp-safeway.git
cd mcp-safeway
npm install
npx playwright install chromium
npm run buildAdd the following to your Claude Desktop configuration (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"safeway": {
"command": "striderlabs-mcp-safeway"
}
}
}Run the server directly:
striderlabs-mcp-safewayOr with npx:
npx @striderlabs/mcp-safewayLog in to your Safeway/Albertsons account.
| Parameter | Type | Required | Description |
|---|---|---|---|
email |
string | Yes | Your Safeway account email |
password |
string | Yes | Your Safeway account password |
Example:
{
"email": "user@example.com",
"password": "your-password"
}Search for products on Safeway.
| Parameter | Type | Required | Description |
|---|---|---|---|
query |
string | Yes | Search query (e.g., "organic milk") |
category |
string | No | Filter by category (e.g., "produce", "dairy") |
filters |
object | No | Additional filters as key-value pairs |
Example:
{
"query": "organic whole milk",
"category": "dairy"
}Returns: List of products with IDs, names, prices, and availability.
Get full details for a specific product.
| Parameter | Type | Required | Description |
|---|---|---|---|
product_id |
string | Yes | Product ID from search results |
Returns: Full product info including description, brand, UPC, and pricing.
Add a product to your cart.
| Parameter | Type | Required | Description |
|---|---|---|---|
product_id |
string | Yes | Product ID to add |
quantity |
number | Yes | Number of items (minimum: 1) |
Retrieve current cart contents.
Returns: All cart items with quantities, prices, subtotal, and estimated total.
Update the quantity of a cart item.
| Parameter | Type | Required | Description |
|---|---|---|---|
item_id |
string | Yes | Cart item ID |
quantity |
number | Yes | New quantity |
Remove an item from the cart.
| Parameter | Type | Required | Description |
|---|---|---|---|
item_id |
string | Yes | Cart item ID to remove |
Get available delivery time slots.
| Parameter | Type | Required | Description |
|---|---|---|---|
date |
string | No | Date to check (YYYY-MM-DD format) |
Returns: Available time slots with IDs, times, availability, and delivery fees.
Select a delivery time slot.
| Parameter | Type | Required | Description |
|---|---|---|---|
slot_id |
string | Yes | Slot ID from safeway_get_delivery_slots |
Proceed to checkout with the current cart.
Returns: Confirmation status and order ID if successful.
Get your order history.
Returns: List of past and current orders with statuses and totals.
Get detailed information for a specific order.
| Parameter | Type | Required | Description |
|---|---|---|---|
order_id |
string | Yes | Order ID from order history |
Returns: Full order details including items, delivery info, and payment method.
Clip a digital coupon to your account.
| Parameter | Type | Required | Description |
|---|---|---|---|
coupon_id |
string | Yes | Coupon ID to clip |
Get current weekly deals and sales.
Returns: List of featured deals with titles, discounts, and validity dates.
Here's a typical workflow with an AI assistant:
- Login:
safeway_loginwith your credentials - Browse deals:
safeway_get_weekly_dealsto see current sales - Search products:
safeway_search_productswith query "chicken breast" - Add to cart:
safeway_add_to_cartwith product ID and quantity - Check cart:
safeway_get_cartto review items - Pick delivery:
safeway_get_delivery_slotsthensafeway_select_delivery_slot - Place order:
safeway_checkout
- This tool uses browser automation and requires a valid Safeway/Albertsons account
- Safeway and Albertsons share the same platform; either site can be used
- A delivery address must be configured in your Safeway account before using delivery features
- Playwright's Chromium browser is launched headlessly during operation
- Session state is maintained across tool calls within the same server process
- Node.js >= 18.0.0
- Chromium (installed via
npx playwright install chromium)
MIT
Contributions welcome! Please open an issue or pull request on GitHub.