4.1 KiB
4.1 KiB
HelloFresh → Mealie import notes
Lessons from processing the chowder recipe. Use as a checklist when adding another HelloFresh recipe.
1. Shipped quantities ≠ recipe quantities
HelloFresh ships fixed packets, and the recipe usually uses only part of them.
- Keep ingredient amounts as the shipped amount. Do not "correct" them to match the steps.
- Leftovers are expected, not a data-entry error.
- Examples from this session:
1 tbsp Old Bay Seasoning— step uses "half" +¼ tsp; remainder is left over.1 tsp sugar— step uses¼ tsp; remainder is left over.
- Stock concentrate ships as packets ("2 unit Veggie Stock Concentrate"). If packets are unavailable, recording it as
2 tablespoonsis intentional and fine.
Rule: before touching a quantity, ask/confirm whether it is the shipped amount.
2. Servings
- Mealie stores one base serving count (
recipeServings). There is no native "2 or 4" option. - Set the base (HelloFresh recipes here are usually 2). Use Mealie's built-in servings selector to scale to 4.
- Mealie scales structured ingredient quantities only, not instruction text.
- Also set the yield text (
recipeYield, e.g."2 servings").recipeYieldQuantitymay stay0; the MCP tool does not expose it.
3. Strip hardcoded multi-serving notes from instructions
HelloFresh instructions embed scaling clauses. Remove them so the built-in scaler doesn't conflict:
(... 4 TBSP for 4 servings)(... 2½ cups for 4 servings)(For 4 servings, use ½ tsp Old Bay and ½ tsp sugar.)
Keep the tips and the rest of the step text. The 2-serving amounts are the base and can stay.
4. Times
- HelloFresh gives Total and Prep; derive
cook = total − prep. - In this Mealie instance the UI showed
performTimeas "Cook time", notcookTime. That is why setting onlycookTimestill displayed 10m. - Set all four:
totalTime,prepTime,cookTime, andperformTime(perform = cook duration) so every view agrees. - Sanity check:
prep + cook = total.
5. Link ingredients to steps
- Structured ingredients already carry a
referenceId(UUID v4). - Add
ingredientReferences: [{ referenceId }]to each instruction step, reusing the exact existing referenceId. - This is what "organize ingredients under steps" means in Mealie: cook-mode highlighting and per-step ingredient lists.
- Do not regenerate referenceIds; that breaks the link.
6. Watch parser/unit artifacts
The NLP parser can map unit inconsistently (item, can, tablespoon).
- Verify units against the source text (
originalText). - Confirm intentional choices (e.g. tbsp for stock concentrate) before "fixing" them.
- Clean food names: remove trailing spaces (e.g.
green/poblano pepper), normalize odd capitalization.
7. Sanity checks before finishing
- Every listed ingredient is used by at least one step.
- Step quantities are consistent with the list or explainable as shipped leftovers.
- Times add up (prep + cook = total) and
performTimeis set. - Servings set; yield text set.
- No hardcoded "for 4 servings" clauses left.
- Every step has the right
ingredientReferences. - Don't "fix" source-recipe quirks (e.g. description says "cheddar" while the ingredient is Monterey Jack) — that's HelloFresh copy, not a data-entry error.
8. Tool behavior (Mealie MCP)
update_recipereplaces ingredient/instruction lists when provided; content changes use read-merge-write to preserve other fields.- Omitted or
nullfields are unchanged. recipeYieldQuantityis not exposed by the tool.- Unicode fractions and curly quotes round-trip fine.
9. Suggested workflow
get_recipes(search=...)→get_recipe(slug).- Confirm name, source URL, and base servings.
- Cross-check each ingredient against the steps (used / unused / shipped leftover).
- Fix genuine errors: units, food names, times, yield — confirming shipped amounts first.
- Remove
for 4 servingsclauses. - Add
ingredientReferencesto every step. - Re-fetch and verify times, servings, ref counts, and display strings.