Icelandic grocery shopping via kronan.is — search products, manage cart, track prices, set budgets, build weekly shopping lists
Interact with kronan.is (Icelandic grocery store) via CLI commands. All commands output JSON to stdout. Run from the kronan-mcp/ directory.
Session must be active for shopping commands (search, cart, favorites, orders). Check with:
bun run kronan status
If {"valid": false}, authenticate first:
bun run kronan login +354XXXXXXX
This opens a browser — the user must approve via rafræn skilríki on their phone. Wait for approval (up to 120s).
# Check session
bun run kronan status
# → {"valid": true} or {"valid": false}
# Login (opens browser, user approves on phone)
bun run kronan login +354XXXXXXX
# Logout
bun run kronan logout
bun run kronan search mjólk
# → [{"ean": "...", "name": "...", "price": 289, "imageUrl": "...", "inStock": true}, ...]
Results are automatically saved to the local price database.
# View cart
bun run kronan cart
# → {"items": [...], "totalIsk": 4500}
# Add item (EAN from search results, optional quantity)
bun run kronan cart add 5000159484695 2
# Remove item
bun run kronan cart remove 5000159484695
IMPORTANT: Never place orders automatically. Cart prep only — user confirms on kronan.is.
# Get saved/favorite products
bun run kronan favorites
# Recent orders (default 10)
bun run kronan orders
bun run kronan orders 20
# Price history for a product (default 30 days)
bun run kronan price 5000159484695
bun run kronan price 5000159484695 90
# → {"productId": 1, "minPrice": 279, "maxPrice": 329, "avgPrice": 299, "latestPrice": 289, "observations": 12, "pctChangeFromPrev": -3.5}
# Price trends (rising and falling)
bun run kronan trends
bun run kronan trends mjólkurvörur
# → {"rising": [...], "falling": [...]}
# Find deals (price drops, default >10%)
bun run kronan deals
bun run kronan deals mjólkurvörur 15
# → [{"product": {...}, "currentPrice": 289, "price7dAgo": 329, "pctChange": -12.2}]
# Price alerts on frequently bought items
bun run kronan alerts
# → [{"ean": "...", "name": "...", "prevPrice": 299, "currentPrice": 349, "pctChange": 16.7}]
# View budget status
bun run kronan budget status
# → [{"goal": {"name": "weekly groceries", "amountIsk": 15000, "period": "weekly"}, "spentIsk": 8500, "remainingIsk": 6500, "pctSpent": 56.7, "alert": "none"}]
# Set a budget goal
bun run kronan budget set "weekly groceries" 15000 weekly
bun run kronan budget set "monthly total" 60000 monthly
# Spend history
bun run kronan budget history weekly
bun run kronan budget history monthly 12
Alert levels: none (<80%), warning (80-100%), critical (>100%).
# Build weekly list from order history
bun run kronan weekly
# → {"items": [...], "suggested": [{"ean": "...", "quantity": 2}], "budgetStatuses": [...]}
# After reviewing, add suggested items to cart
bun run kronan weekly confirm '[{"ean":"5000159484695","quantity":2},{"ean":"1234567890123","quantity":1}]'
# → [{"ean": "...", "quantity": 2, "success": true}, ...]
bun run kronan status — verify sessionbun run kronan alerts — check for price spikesbun run kronan budget status — check budgetbun run kronan weekly — get suggested list based on purchase historybun run kronan weekly confirm '<json>' — add approved items to cartErrors go to stderr with exit code 1. If you see SessionExpiredError, re-authenticate:
bun run kronan login +354XXXXXXX
All commands must run from the kronan-mcp/ directory within the project root.