Skip to main content
Glama

Chop it: meal planning, recipes, pantry and shopping

Build a consolidated shopping list

create_shopping_list

Builds one consolidated, aisle-organised shopping list from a completed menu draft (menuDraftId) or a set of recipes (recipeIds: catalogue, the user's own, or both), merging duplicate ingredients and scaling to servings. Returns shoppingListId, the source draft and recipes, and counts: buy, covered (already have) and checkStock (pantry matches to confirm); remainingItemCount includes unresolved stock checks. Any recipe ID that can't be resolved is reported in note, meaning the list is incomplete. Pantry handling follows the draft, or explicit pantryMode for recipeIds: ignore and focus do not read stock; use covers comparable measured stock and leaves unmeasured matches as checkStock. Set leaveOutPantry only when asked to leave out Pantry items, matching Chef IQ Shop coverage. Low and zero stock cover nothing. Whole items round up for buying; measured quantities are recipe amounts. get_shopping_list, update_shopping_list and open_shop_handoff take the returned shoppingListId. Requires a linked Chop It account.

Input Schema

NameRequiredDescriptionDefault
servingsNo
recipeIdsNoExplicit recipe ids (used when no menuDraftId).
pantryModeNoFor recipeIds, use checks your Pantry, ignore leaves it out, and focus does not read stock. For a draft, omit or match its pantryMode; change the draft first otherwise.
menuDraftIdNoA menuDraftId returned by create_weekly_menu.
leaveOutPantryNoOnly when asked to leave out Pantry items. Uses the same reversible stock coverage as Chef IQ Shop, including listed items without comparable amounts. Low or zero stock never covers a line.

Output Schema

NameRequiredDescriptionDefault
noteNo
countsNo
revisionNo
sectionsYes
recipeIdsNo
recipeServingsNo
shoppingListIdYes
shopIntelligenceNo
sourceMenuDraftIdNo
remainingItemCountNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / leaveOutPantry
      Added value: +{
      +  "description": "Only when asked to leave out Pantry items. Uses the same reversible stock coverage as Chef IQ Shop, including listed items without comparable amounts. Low or zero stock never covers a line.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / pantryMode
      Added value: +{
      +  "description": "For recipeIds, use checks your Pantry, ignore leaves it out, and focus does not read stock. For a draft, omit or match its pantryMode; change the draft first otherwise.",
      +  "enum": [
      +    "ignore",
      +    "use",
      +    "focus"
      +  ],
      +  "type": "string"
      +}
  2. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only declare it is a non-readonly, non-destructive, non-idempotent write; the description adds substantial behavior beyond that — duplicate merging, serving scaling, partial failure reporting via note, rounding rules, stock-coverage semantics, and the auth prerequisite (linked Chop It account). The disclosure that unresolved recipe IDs yield an incomplete list is exactly the kind of failure-mode context annotations cannot carry.

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?

Purpose and the two source paths are front-loaded, and every sentence carries semantic load — nothing is filler. It is nonetheless a long, semicolon-dense block for a 5-parameter tool, which makes it harder to scan than it needs to be.

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?

An output schema exists, yet the description still flags the non-obvious return nuances (remainingItemCount includes unresolved stock checks; unresolved recipe IDs land in note). Combined with source selection, pantry modes, rounding, and the account requirement, an agent has everything needed to call this correctly on the first try.

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 already 80%, yet the description still adds meaning: pantryMode's ignore/focus do not read stock while use covers only comparable measured stock, and draft-mode requires matching or changing the draft first. It also explains servings scaling behavior and leaveOutPantry's reversible Chef IQ Shop coverage. Some of this repeats the schema, keeping it off 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?

States a specific verb and resource — builds one consolidated, aisle-organised shopping list — plus the two possible input sources. It is clearly distinguishable from siblings like get_shopping_list, update_shopping_list and shop_week, and it names those handoff tools so the agent knows this is the creation step.

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

Usage Guidelines4/5

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

Gives concrete when-to-use conditions per parameter: recipeIds is used when no menuDraftId, pantryMode should be omitted or matched for a draft, and leaveOutPantry is set 'only when asked to leave out Pantry items'. It also routes the agent forward to get_shopping_list/update_shopping_list/open_shop_handoff. It stops short of explicitly contrasting with shop_week, which is the most likely alternative.

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.

Directories

Listed in ChatGPT · Chop it

Last observed

Resources