87 lines
4.8 KiB
Markdown
87 lines
4.8 KiB
Markdown
---
|
||
name: shopping
|
||
description: Intelligent shopping advisory, price comparisons across German supermarkets (Edeka, Rewe, Aldi, Lidl, Kaufland, Netto, Penny, dm, Rossmann), Geizhals retail best prices & price history, and eBay marketplace searches. Use when the user asks for shopping advice, supermarket offers (e.g. Mutti/Oro Tomatensaucen, Windeln Größe X, Vorratskäufe), price checks, or second-hand/refurbished deals.
|
||
---
|
||
|
||
# 🛒 Smart Shopper & Vorrats-Concierge
|
||
|
||
Comprehensive shopping advisor for the Graf family. Combines live German supermarket weekly brochures (Regensburg default), Geizhals retail price comparison & price histories, and eBay marketplace searches.
|
||
|
||
---
|
||
|
||
## 🛠️ MCP Tools Overview
|
||
|
||
### 1. Supermarket & Grocery Deals (`supermarket`)
|
||
- **`supermarket_search(query, city="Regensburg", lat=49.0134, lng=12.1016)`**:
|
||
- Searches live weekly offers and digital brochures across Edeka, Rewe, Aldi Süd, Lidl, Kaufland, Netto Marken-Discount, Penny, dm, Rossmann, V-Markt, Müller.
|
||
- Returns price in EUR, retailer, brand, validity dates, distance in km, and brochure page.
|
||
- **`supermarket_compare_staples(staples=["Mutti", "Oro di Parma"], city="Regensburg")`**:
|
||
- Batch search for multiple staple brands or product categories to compare discounts across all local supermarkets in one view.
|
||
|
||
### 2. Retail Price Comparison & History (`geizhals`)
|
||
- **`geizhals_search(query, country="de", limit=8)`**:
|
||
- Full-text search across Geizhals.de (and .at). Returns the best price, average price, offer count across all web shops, cheapest shop name, star ratings, and test review count & metascore.
|
||
- **`geizhals_price_history(product_id, days=31, country="de")`**:
|
||
- Analyzes 31, 91, 183, or 365-day price trends. Reports `period_min_price`, `current_best_price`, and flags if it is an `is_all_time_low`.
|
||
|
||
### 3. Marketplace & Second-Hand (`ebay`)
|
||
- **`ebay_search(query, condition, buying_format, min_price, max_price, limit=10)`**:
|
||
- Searches eBay.de using the official Browse API. Supports filtering by condition (`used`/`refurbished`/`new`) and buying format (`fixed_price`/`auction`).
|
||
- **`ebay_get_item(item_id)`**:
|
||
- Fetches listing details, photos, location, and seller reputation.
|
||
|
||
---
|
||
|
||
## 🍅 Vorratskauf & Supermarkt Protocol
|
||
|
||
When the user asks for groceries, weekly offers, or staples to stock up on:
|
||
|
||
### 1. Multi-Brand / Equivalency Queries (e.g. „Mutti oder Oro Tomatensauce“)
|
||
- Always run a comparative search (using `supermarket_compare_staples` or parallel queries).
|
||
- Group results by retailer and rank by best price.
|
||
- **Price Benchmarks for Staples**:
|
||
- **Tomaten / Passata / Polpa (Mutti / Oro di Parma)**:
|
||
- Normal: 1,69 € – 1,99 €
|
||
- 🟢 **Top-Vorratspreis**: $\le$ 1,10 € (z.B. Netto 0,88 € oder Penny 1,19 €)
|
||
- **Marken-Pasta (Barilla / De Cecco)**:
|
||
- Normal: 1,89 € – 2,29 €
|
||
- 🟢 **Top-Vorratspreis**: $\le$ 0,99 €
|
||
- **Kaffee ganze Bohnen (Lavazza, Segafredo, Melitta)**:
|
||
- Normal: 14,99 € – 17,99 € / kg
|
||
- 🟢 **Top-Vorratspreis**: $\le$ 11,99 € / kg
|
||
|
||
### 2. Windeln Größe X (Stückpreis-Berechnung)
|
||
Windel-Packungsgrößen variieren stark (Single-Pack vs. XXL-Box vs. Monatsbox).
|
||
- **Berechne immer den Cent-Preis pro Windel**:
|
||
$$\text{Stückpreis} = \frac{\text{Gesamtpreis}}{\text{Stückzahl}} \times 100\ \text{ct}$$
|
||
- **Orientierungswerte**:
|
||
- **Eigenmarke** (Lupilu / babylove): **11 – 14 ct / Windel**
|
||
- **Markenwindeln** (Pampers Baby-Dry): **18 – 24 ct / Windel** (über 26 ct ist teuer)
|
||
- Beispiel-Antwort: *„Bei Lidl gibt es Lupilu Gr. 4 (84 Stück) für 10,35 € (12,3 ct/Windel). Bei V-Markt sind Pampers Pants für 6,99 € im Angebot.“*
|
||
|
||
### 3. Location & Store Distance
|
||
- Default location is **Regensburg** (Lat: `49.0134`, Lng: `12.1016`).
|
||
- Mention the retailer and approximate distance (e.g. *„Netto Marken-Discount (0,5 km)“* oder *„Penny (1,4 km)“*).
|
||
- Mention the validity dates (z.B. *„Gültig bis Samstag, 12.09.“*).
|
||
|
||
---
|
||
|
||
## 💻 Tech & Electronics Advisory Protocol
|
||
|
||
When the user asks whether to buy a gadget, phone, laptop, or appliance:
|
||
1. **Model & Quality Check**:
|
||
- Inspect `test_reviews_count` and `test_reviews_metascore` in `geizhals_search`.
|
||
- If needed, run a quick web search on Stiftung Warentest / Chip / Reddit for common faults.
|
||
2. **Timing & Price History Check**:
|
||
- Run `geizhals_price_history(product_id)`.
|
||
- If `is_all_time_low` is true: *„🟢 Aktuell auf Tiefstpreis-Niveau!“*
|
||
- If significantly higher than `period_min_price`: advise waiting or setting a price alert.
|
||
3. **Refurbished / B-Ware Option**:
|
||
- Query `ebay_search` with `condition="refurbished"` or `"used"` to compare savings against brand-new retail.
|
||
|
||
---
|
||
|
||
## 🔗 Presentation Rules
|
||
- Follow OpenClaw's SOUL protocol: Hide hyperlinks behind descriptive text (`[Händler (Preis €)](url)`).
|
||
- Never send raw search URLs or unverified Google links.
|