Skip to main content
Glama

Zovo Meal Planner

Generate grocery list from recipes

generate_grocery_list
Read-onlyIdempotent

Use this when the user wants one combined grocery list or shopping list from several recipes or a pasted list of ingredients, without a weekly grid. First turn what the user pasted (a list, recipe, store order, receipt or e-mail) into items with name, quantity and unit, plus meal and servings for recipe lines; leave out prices, totals, headers and e-mail text. Put the original text in recipes only when you cannot do that. Merges the same ingredient with unit conversion inside one dimension, scales servings, groups by store section, leaves off items the user already has, and keeps unreadable lines as written. Returns a printable checklist PDF, CSV and text. Does not give nutrition or diet advice.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "generate_grocery_list"
  }
}

Input Schema

NameRequiredDescriptionDefault
itemsNoPreferred for a pasted list, order, receipt or e-mail: one entry per ingredient with the amount you read, e.g. [{"name":"eggs","quantity":24},{"name":"whole milk","quantity":1,"unit":"gallon"},{"name":"ground beef","quantity":1,"unit":"lb","meal":"Tacos","servings":4}]. Leave out prices, totals, store names, headers and e-mail text.
titleNoTitle printed on the PDF, e.g. "Family dinners". Default "Weekly meal plan" or "Grocery list". Longer than 80 characters is shortened.
unitsNoHow to show merged amounts: "us" (cups, tbsp, oz, lb), "metric" (ml, l, g, kg) or "auto" (default: the system most lines use). Volume is never converted to weight.
peopleNoServings to cook for each meal, e.g. 4 or "4 people". Each meal with a recipe yield (servings) is scaled to this number; meals without a yield are used as written. Default: no scaling.
recipesNoFallback, or recipes with their servings. Recipes or ingredient lines, e.g. [{"name":"Tacos","servings":4,"ingredients":["1 lb ground beef","8 corn tortillas","1 cup shredded cheddar"]},{"name":"Guacamole","ingredients":"3 avocados; 1 lime; 1/4 cup cilantro"}], or plain text: one ingredient per line, a comma list ("milk, eggs, 2 lb ground turkey"), a checklist, a table with Item and Qty columns, or a whole recipe page (title, Serves line, Ingredients; directions are skipped).
week_ofNoOptional label for the week, e.g. "Nov 2, 2026". Printed as given; longer than 40 characters is shortened.
page_sizeNoPDF paper: "letter" (default) or "a4".
already_haveNoItems already in the kitchen to leave off the list, as a list or comma-separated text, e.g. ["salt", "olive oil", "rice"]. A section name such as "spices" removes that whole section.

Output Schema

NameRequiredDescriptionDefault
daysYes
mealsYes
notesYes
titleYes
unitsYes
peopleYes
sectionsYes
downloadsYes
items_countYes
meals_countYes
unparsed_linesYes
already_have_removedYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations cover the safety profile (readOnly, idempotent, non-destructive), and the description adds substantial behavior beyond them: same-ingredient merging with unit conversion within a single dimension, servings scaling, store-section grouping, omission of already-owned items, passthrough of unreadable lines, and output formats (printable PDF, CSV, text). Volume-is-never-converted-to-weight is a concrete processing constraint that no structured field declares.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The trigger condition is front-loaded and every sentence carries operational content, with no filler. It is dense, semicolon-chained prose, so a small amount of scanning cost is paid, but nothing is redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 8-parameter, zero-required, read-only generation tool with an output schema, the description covers input normalization, merge/scale/group behavior, exclusions, output artifacts, and out-of-scope requests. Nothing an agent needs in order to call it correctly is missing, and return-value shape is correctly left to the output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; the description rises above it by giving a precedence rule between two overlapping parameters: normalize pasted text into items and "Put the original text in recipes only when you cannot do that." It also implies the already_have exclusion is applied at list build time rather than merely documented. It does not add detail on title/page_size/units beyond the schema, keeping it short of a 5.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

"Use this when the user wants one combined grocery list or shopping list from several recipes or a pasted list of ingredients, without a weekly grid" names a specific verb and resource and explicitly marks the boundary against the sibling generate_meal_plan (the weekly grid). An agent can route between the two siblings without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It supplies both a use condition (combined list, multiple recipes or a pasted receipt/e-mail/order) and an exclusion (no weekly grid), plus a scope limit: "Does not give nutrition or diet advice." It also states the fallback rule for when to use recipes instead of items, which is exactly the kind of decision guidance an agent needs.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources