Skip to main content
Glama
Tandoor Recipes MCP

Tandoor Recipes MCP

by Cliftonz

Update shopping entry

update_shopping_entry
Idempotent

Modify a shopping entry's fields, checked state, and list associations. Validation prevents duplicate or invalid list IDs while preserving completion status when checked is omitted.

Instructions

Update a shopping entry (PATCH). Required: id. Other fields optional. When checked is omitted, the tool reads the entry and sends its current checked value again, so a checked entry keeps its completed_at. A check made elsewhere between that read and the write is undone (last write wins). shopping_list_ids puts the entry on exactly those lists; [] clears them; omit it to keep them. Every list id is checked against list_shopping_lists first; unknown or repeated ids are rejected and nothing is written. If the lists after the write differ from the request, the tool errors and names the missing and the extra lists.

Input Schema

NameRequiredDescriptionDefault
idYes
orderNo
amountNo
formatNo
checkedNo
food_idNo
unit_idNo
delay_untilNo
shopping_list_idsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv3.4.0

TDQS

A3.8/5.0
Behavior5/5

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

Goes well beyond the annotations by disclosing a read-modify-write sequence, the last-write-wins race that can undo a concurrent check, pre-write validation against list_shopping_lists, and a post-write consistency check that errors and names missing/extra lists. These are exactly the non-obvious traits (side effects, failure modes) an agent cannot infer from readOnlyHint/idempotentHint/destructiveHint.

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?

Front-loaded with the required parameter and the mutation semantics, with no filler sentences; every clause conveys a rule an agent needs. It is dense to the point of near-run-on in the checked sentence, which costing it the top mark.

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

Completeness3/5

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

No output schema and 0% parameter coverage put the full burden on the description. Write semantics, validation, and error behavior are covered thoroughly, but a caller still cannot tell what order/amount/delay_until do or what slim vs full controls in the absence of any documented return value.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must carry parameter meaning, and it only explains 3 of 9 (id, checked, shopping_list_ids). order, amount, format (slim vs full, which likely changes the response shape and matters given no output schema), food_id, unit_id, and delay_until are undocumented in both schema and description.

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

Purpose4/5

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

"Update a shopping entry (PATCH)" states a specific verb plus resource and adds the HTTP-method mapping, which tells an agent this is a partial update. It does not explicitly contrast with bulk_update_shopping_entries or food_shopping_update, but the singular scope is clear enough to pick between them.

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 conditions for the main decision points: omit checked to preserve completed_at, pass [] to clear lists, omit shopping_list_ids to keep them. It stops short of naming alternatives such as bulk_update_shopping_entries for multi-entry changes, so routing guidance is implied rather than explicit.

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