per 100 {{ f.per === '100ml' ? 'ml' : 'g' }}: {{ round(f.nutrients.kcal) }} kcal · P {{ round(f.nutrients.protein, 1) }} · C {{ round(f.nutrients.carbs, 1) }} · F {{ round(f.nutrients.fat, 1) }}
{{ recipeQuery || recipeTag ? 'No recipes match.' : 'No recipes yet. Create one, or ask your assistant to save one over MCP.' }}
{{ recipe?.servings }} {{ recipe?.servings === 1 ? 'serving' : 'servings' }}{{ recipe?.tags?.length ? ' · ' + recipe.tags.join(', ') : '' }}
{{ recipe?.notes }}
| Ingredient | g | kcal | P | C | F | Actions |
|---|---|---|---|---|---|---|
| {{ ing.name }}{{ ing.source ? sourceLabel(ing.source) : 'Custom' }}{{ ing.brand ? ' · ' + ing.brand : '' }} | {{ round(ing.grams, 1) }} | {{ round(ing.kcal) }} | {{ round(ing.protein, 1) }} | {{ round(ing.carbs, 1) }} | {{ round(ing.fat, 1) }} | |
| Per serving | {{ round(view?.per_serving?.grams) }} | {{ round(view?.per_serving?.kcal) }} | {{ round(view?.per_serving?.protein, 1) }} | {{ round(view?.per_serving?.carbs, 1) }} | {{ round(view?.per_serving?.fat, 1) }} | |
| Total | {{ round(view?.totals?.grams) }} | {{ round(view?.totals?.nutrients?.kcal) }} | {{ round(view?.totals?.nutrients?.protein, 1) }} | {{ round(view?.totals?.nutrients?.carbs, 1) }} | {{ round(view?.totals?.nutrients?.fat, 1) }} |
Partial: some ingredients don't state {{ partialText(view?.totals?.partial) }}, so those totals are floors.
{{ picker.picked?.name }} ({{ picker.picked?.label }})
Figures describe the grams above.
Grams assume no weight lost in cooking. Paste the item into EZ Health to log it.
Read the label; figures are stored, never photos.
Leave a figure blank when the label doesn't state it; blank is unknown, 0 is zero.
No foods match.
Foods you add appear here.
per 100 {{ f.per === '100ml' ? 'ml' : 'g' }}: {{ round(f.nutrients.kcal) }} kcal · P {{ round(f.nutrients.protein, 1) }} · C {{ round(f.nutrients.carbs, 1) }} · F {{ round(f.nutrients.fat, 1) }}
{{ food?.brand ? food.brand + ' · ' : '' }}{{ food?.label }}{{ food?.gtin ? ' · barcode ' + food.gtin : '' }}
{{ food?.note }}
| Nutrient | Per 100 {{ food?.per === '100ml' ? 'ml' : 'g' }} | Per serving ({{ food?.serving_g }} g) |
|---|---|---|
| {{ nutrientName(k) }} | {{ amount(k, food.nutrients[k]) }} | {{ food?.serving_g ? amount(k, servingPanel(food)[k]) : '' }} |
Create a recipe first.
Signed in as {{ userEmail || userUid }}
Ranks catalog results from this region first.
{{ savedMsg }}{{ googleLoginEnabled ? 'Add this URL to Claude, ChatGPT, or any MCP client; it asks you to sign in with Google.' : 'Paste this URL into Claude, ChatGPT, or any MCP client on mobile or desktop.' }}
For clients that can't sign in: send Authorization: Bearer with the key, or add ?key= to the MCP URL. It grants full access to your data.
Your foods and recipes with exact nutrition, searchable across Coles, Woolworths, AFCD, USDA and Open Food Facts, and shared with your assistant over MCP.