mcp-kroger
# @striderlabs/mcp-kroger
MCP server connector for Kroger - America's largest supermarket chain. Enables AI agents to search products, manage shopping carts, clip digital coupons, check fuel points, schedule delivery/pickup, and place grocery orders.
## Installation
```bash
npm install @striderlabs/mcp-kroger
```
## Configuration
Add to your MCP client configuration:
```json
{
"mcpServers": {
"kroger": {
"command": "npx",
"args": ["@striderlabs/mcp-kroger"]
}
}
}
```
## Available Tools
| Tool | Description |
|------|-------------|
| `kroger_login` | Authenticate with Kroger account |
| `kroger_set_store` | Set preferred Kroger store by zip code or ID |
| `kroger_search_products` | Search for products by name, brand, or category |
| `kroger_get_product_details` | Get detailed product info including nutrition |
| `kroger_add_to_cart` | Add products to shopping cart |
| `kroger_view_cart` | View cart contents and totals |
| `kroger_update_cart_item` | Update quantity or remove items |
| `kroger_get_coupons` | Get available digital coupons |
| `kroger_clip_coupon` | Clip coupons to Kroger Plus card |
| `kroger_get_fuel_points` | Check fuel points balance and rewards |
| `kroger_get_delivery_slots` | Get delivery time slots |
| `kroger_get_pickup_slots` | Get pickup time slots |
| `kroger_checkout` | Proceed to checkout |
| `kroger_get_order_history` | View recent orders |
| `kroger_reorder` | Reorder from a previous order |
## Example Usage
```typescript
// Log in to Kroger
await client.call("kroger_login", {
email: "user@example.com",
password: "password123"
});
// Set store by zip code
await client.call("kroger_set_store", {
zipCode: "45202"
});
// Search for products
const results = await client.call("kroger_search_products", {
query: "organic milk",
onSale: true
});
// Add to cart
await client.call("kroger_add_to_cart", {
productId: "0001111045963",
quantity: 2
});
// Get available coupons
const coupons = await client.call("kroger_get_coupons", {
personalizedOnly: true
});
// Clip a coupon
await client.call("kroger_clip_coupon", {
couponId: "123456"
});
// Check fuel points
const fuelPoints = await client.call("kroger_get_fuel_points", {});
// Get pickup slots
const slots = await client.call("kroger_get_pickup_slots", {});
// Checkout
await client.call("kroger_checkout", {
fulfillmentType: "pickup",
slotId: "slot_123"
});
```
## Kroger Family of Stores
This connector works with all Kroger-owned banners:
- Kroger
- Ralphs
- Fred Meyer
- King Soopers
- Fry's
- Smith's
- QFC
- Harris Teeter
- And more...
## Features
- **Product Search**: Search by name, brand, category, or sale items
- **Digital Coupons**: Browse and clip coupons automatically
- **Fuel Points**: Track fuel rewards balance
- **Flexible Fulfillment**: Support for both delivery and pickup
- **Order History**: View past orders and easy reordering
- **Cart Management**: Full cart manipulation capabilities
## Requirements
- Node.js 18+
- Kroger account with Kroger Plus card
## License
MIT
## Links
- [Strider Labs](https://striderlabs.ai)
- [GitHub Repository](https://github.com/markswendsen-code/mcp-kroger)
TDQS
Scored across 15 tools
Each tool targets a distinct action/resource: login, store selection, product search/details, cart operations, coupons, fuel points, slots, checkout, order history/reorder. There is no meaningful overlap between any two tools.
All tools follow the kroger_verb_noun pattern with snake_case. Verbs are consistent (login, set, search, get, add, view, update, clip, checkout, reorder) and the prefix is uniform.
15 tools cover the full grocery shopping workflow without excess. The count is well within the 3-15 typical range and each tool earns its place for a cohesive experience.
The surface covers login through checkout, including order history and reorder. Minor gaps exist (e.g., no explicit account management, no coupon removal), but the core lifecycle is fully represented.