UK Grocery CLI - Agent Skills
Unified grocery automation across UK supermarkets. Use via CLI, MCP server, or as agent skills.
Location: {baseDir}
Per-Supermarket Skills
Each supermarket has a dedicated skill file with provider-specific commands, authentication, and API details:
| Supermarket | Skill File | Status |
|---|---|---|
| Sainsbury's | skills/sainsburys.md | Full coverage |
| Tesco | skills/tesco.md | Full coverage + staples |
| Ocado | skills/ocado.md | Full coverage except slot booking/checkout (AWS WAF) |
| Tesco Magyarország | skills/tesco-hu.md | Search and basket; no slots/checkout |
Quick Start
bashcd {baseDir} npm install npx playwright install chromium
CLI Usage
bash# Search any supermarket npm run groc -- --provider sainsburys search "milk" npm run groc -- --provider tesco search "milk" npm run groc -- --provider ocado search "milk" # Compare across all stores npm run groc compare "organic eggs" --json # Provider is a flag - all commands work the same way npm run groc -- --provider <store> basket npm run groc -- --provider <store> add <id> --qty 2 npm run groc -- --provider <store> slots npm run groc -- --provider <store> checkout --dry-run
MCP Server Usage
bash# Start MCP server (stdio transport) npx tsx src/mcp-server.ts # Or after build: node dist/mcp-server.js
Claude Desktop config (claude_desktop_config.json):
json{ "mcpServers": { "uk-grocery": { "command": "node", "args": ["/path/to/uk-grocery-cli/dist/mcp-server.js"] } } }
MCP Tools Reference
All tools accept a provider parameter (sainsburys, ocado, tesco). Default: sainsburys.
Core Tools (all providers)
| Tool | Description |
|---|---|
grocery_login | Login to supermarket account |
grocery_status | Check login status across all providers |
grocery_search | Search products |
grocery_compare | Compare prices across all stores |
grocery_basket_view | View basket contents |
grocery_basket_add | Add product to basket |
grocery_basket_remove | Remove from basket |
grocery_basket_update | Update item quantity |
grocery_basket_clear | Clear basket |
grocery_slots | List delivery slots |
grocery_book_slot | Book delivery slot |
grocery_checkout | Checkout (dry_run=true by default) |
grocery_orders | View order history |
grocery_favourites | Favourite / frequently-bought products (Sainsbury's, Ocado) |
grocery_favourites_search | Search within favourites (Sainsbury's, Ocado) |
grocery_categories | List browse categories (Sainsbury's, Ocado) |
grocery_browse | Browse products in a category (Ocado) |
grocery_providers | List providers and login status |
Provider-Specific Tools
| Tool | Description |
|---|---|
tesco_staples | View, update, or auto-add repeat-purchase staples |
ocado_regulars | List Ocado recurring-shopping ("Regulars") definitions |
When to Use This Skill
Trigger when users:
- Want to plan meals or order groceries
- Ask about product prices or availability
- Want to compare prices across supermarkets
- Need to manage a shopping basket
- Want to book delivery slots or checkout
- Ask about weekly shop, meal prep, or grocery budget
Example Agent Workflows
Meal Planning
bash# Search ingredients across stores npm run groc compare "chicken breast" --json npm run groc compare "basmati rice" --json # Add to cheapest provider npm run groc -- --provider tesco add PRODUCT_ID --qty 1 npm run groc -- --provider tesco basket --json npm run groc -- --provider tesco checkout --dry-run
Restock Staples (Tesco)
bashnpm run groc -- --provider tesco staples --add npm run groc -- --provider tesco basket --json npm run groc -- --provider tesco checkout --dry-run
Price Comparison
bashnpm run groc compare "organic milk" --json # Returns results from all providers with prices
Documentation
skills/sainsburys.md- Sainsbury's skill detailsskills/tesco.md- Tesco skill detailsskills/ocado.md- Ocado skill detailsAGENTS.md- Full agent integration guidedocs/SMART-SHOPPING.md- Smart shopping decisionsAPI-REFERENCE.md- API endpoint documentation


