Households in Denmark
Food planner with supermarket offers, Spoonacular, and optional nemlig.com
Plan meals from current Danish supermarket offers, pull Spoonacular recipes and ingredients, and optionally fill a nemlig.com basket for home delivery.
Outcome: A week of meals, a shopping list tied to current offers, and an optional nemlig.com basket you review before paying
Integrations in this workflow
Example questions
Try asking your AI client
-
Using my private gateway, plan dinners for the next 7 days. Search current Danish supermarket offers near 2100, pick Spoonacular recipes that use those ingredients, and give me a shopping list. Do not add anything to nemlig until I approve.
-
What is on offer this week for chicken, pasta, and vegetables near 2100, and which Spoonacular recipes use the cheapest matches?
-
Turn this approved shopping list into nemlig.com products, show the basket total, and stop before checkout.
-
I cook for two and avoid gluten. Build a 5-dinner plan from this week's offers and list the Spoonacular ingredients I still need to buy.
-
Compare this week's milk and cheese offers, then find a Spoonacular recipe that uses the winner. Leave nemlig alone.
The problem
Dinner planning means three jobs that do not share a list: checking this week's supermarket flyers, finding recipes that use those ingredients, and getting the missing items home. Offers expire. Recipe sites ignore Danish prices. A delivery basket is easy to fill with the wrong product.
How the loop works
- Danish supermarket offers - search current prices near your postal code (Bilka, føtex, Netto clearances, REMA 1000, Lidl). Pass
valid_onwhen you care about a specific day inside the flyer window. Coop is not included. Flyers do not promise a full month ahead. - Spoonacular - find recipes that use those offer ingredients, then pull servings, the ingredient list, and cook steps.
- Approve the plan - review the week and the shopping list before anyone buys.
- nemlig.com, if you want delivery - search the catalog, match the shopping list, and fill the basket only after you approve. You still pay on nemlig.com.
Households that want to skip meals they already cooked can use the weekly family meal plan, which adds Turso as a meal-history notebook.
Gateway tool bundle
Use namespaced tools on the private gateway:
Danish Supermarket Offers (read-only)
supermarket-offers__list_chainsto see which sources are availablesupermarket-offers__search_offersfor current flyers and clearances near a postal codesupermarket-offers__compare_pricesorsupermarket-offers__find_cheapestwhen two stores carry the same itemsupermarket-offers__optimize_shopping_listto split the week's groceries across at most two stores
Spoonacular (read-only)
spoonacular__search_recipeswith offer ingredients ininclude_ingredients, plus diet or time filters you actually followspoonacular__search_recipes_by_ingredientswhen the offer list is what you will cook fromspoonacular__get_recipe_informationfor servings and the ingredient listspoonacular__get_analyzed_recipe_instructionsfor cook stepsspoonacular__parse_ingredientswhen a recipe line needs a quantity and unit
nemlig.com (optional, write only after approval)
nemlig__search_productsto match shopping-list lines to catalog productsnemlig__get_product_detailsbefore you pick a size or brandnemlig__get_basketto see what is already in the basketnemlig__set_basket_quantitiesto set absolute quantities after you approve the linesnemlig__list_delivery_slots, thennemlig__reserve_delivery_slotwhen you want a windownemlig__get_checkout_statusfor what still blocks checkout, plus the link to pay on nemlig.com
Start with list-services-tool if you are unsure which integrations are active. Skip every nemlig__* tool when nemlig.com is not connected.
Token scope recommendations
Private gateway (household)
- Scope API tokens to
mcp:private-gateway. - Offers and Spoonacular stay read-only.
- nemlig.com needs write access only if you want the assistant to change the basket. Instruct it to ask before
set_basket_quantities.
Least-privilege example
{
"abilities": [
"mcp:private-gateway"
]
}
Integrations checklist
- Activate Danish Supermarket Offers - set a default postal code so offer search is location-aware. Optionally add your own Salling API token to bypass the shared hub quota.
- Activate Spoonacular - use the hub key, or paste a personal Spoonacular API key if you want your own quota.
- Optionally connect nemlig.com - use the same email and password as nemlig.com. Skip this step if you shop in store. The workflow is ready without it.
- Issue a private-gateway token and run one of the example questions. Confirm the basket does not change until you approve the lines.
Governance
- Offers are a snapshot: prices and stock change. Confirm in the store or on nemlig.com before you depend on a clearance.
- Recipes may be US-centric: swap Spoonacular brand names for the Danish products on offer this week.
- Filters are not automatic: diet and household size live in your prompts. Review every plan before you cook.
- Coop is out of scope for the supermarket offers integration.
- nemlig.com does not place the order: the assistant can prepare the basket and a delivery slot. Checkout and payment stay on nemlig.com. It cannot read saved cards.
- Basket quantities are absolute:
set_basket_quantitiessets the final count.0removes the line.
Also useful
- Meal history: the weekly family meal plan stores cooked meals in Turso so next week does not repeat them.
- Surplus before a full shop: Too Good To Go can surface Magic Bags near you before you buy every ingredient new.
- Cook time on the calendar: Google Calendar or iCloud Calendar can hold the evening you actually plan to cook.
- Cheap power for the oven: Electricity Prices has Nord Pool day-ahead prices if a long roast can wait for a cheaper hour.
Example SKILL.md
Paste this into Skills so your assistant follows this playbook every time.
---
name: food-planner
description: Plan meals from current Danish supermarket offers and Spoonacular recipes, then optionally fill a nemlig.com basket after approval.
---
# Food planner
## Goal
Build a short meal plan from current Danish supermarket offers, with recipes and a shopping list. Home delivery through nemlig.com is optional and only after the shopper approves the basket.
## Tools
1. Danish Supermarket Offers: search current offers near the household postal code. Use valid_on when a specific day in the flyer window matters. Coop is not included.
2. Spoonacular: find recipes that use those offer ingredients, then fetch the ingredient list and cook steps.
3. nemlig.com, only if it is connected and the shopper asked to buy: search products, show the basket, and set quantities only after approval. Do not claim the order is placed. Checkout and payment stay on nemlig.com.
## Output
Return the meal plan, why each meal fits this week's offers, the ingredient shopping list, and the basket lines still waiting for approval if nemlig was requested. Ask before any basket write.
Connect via private gateway
Activate the integrations above, create an API token scoped to mcp:private-gateway, then add this config to your MCP client.
Config file: ~/.cursor/mcp.json
{
"mcpServers": {
"stackgate-private-gateway": {
"url": "https://stackgate.ai/mcp/private",
"headers": {
"Authorization": "Bearer YOUR_API_TOKEN"
}
}
}
}