grocery_normalize
Recipe to shopping list normalizer: POST JSON {ingredients: [lines], servings?, targetServings?} (or GET ingredients=line|line). Returns per line name, canonicalId, qty, unit, metric (ml or g), category, optional/toTaste, prepNote, stated pack size, a typical pack hint, plus a merged shoppingList scaled to targetServings and unparsed lines. Deterministic, no outbound calls, no prices, nothing stored. Bad input (400) or nothing parsed (422): not charged. Price $0.002 per call via x402, USDC on Base (MCP payments are Base only).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| servings | No | Servings the recipe makes (1-100); give with targetServings to scale | |
| ingredients | Yes | Recipe ingredient lines, one per item (max 100, 200 chars each) | |
| targetServings | No | Servings you want (1-100) |