Skip to main content
Glama

Change a private recipe

update_recipe
DestructiveIdempotent

Edit one of your own private Fitatu recipes: change name, servings, description, or replace the full ingredient list; other recipes are rejected before changes apply.

Instructions

Change one of the user's own private recipes (create_recipe's recipe_id or a get_my_foods RECIPE hit's food_id): its name, ingredients (the whole new list, each as create_recipe takes it and checked the same way), servings and/or description; what is not given stays as it is. Any other recipe is refused before anything is changed (that check reads the recipe). Returns per_serving as create_recipe does, and previous (name, servings, description, ingredients), which update_recipe takes to undo the change. data.ok says the server accepted it.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNoThe new name.
servingsNoHow many servings the ingredients make.
recipe_idYesId of a recipe the user created.
descriptionNoHow to make it, as the app shows it.
ingredientsNoEvery product of the recipe, each as add_food takes it; replaces the list.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
okYes
dataNo
errorNodescribe_error() of what went wrong; docs/AGENTS.md, Results and errors.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.5/5.0
Behavior5/5

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

Beyond the destructive/idempotent annotations, it discloses partial-update semantics ('what is not given stays as it is'), the ordering guarantee that the ownership check reads the recipe and refuses before any mutation, and an undo path via the returned 'previous' object. This is meaningfully richer than what the annotations alone convey.

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?

It is front-loaded with the core action and every sentence carries information (partial update, refusal ordering, return values). It is dense and parenthetical-heavy, reading as one long run-on, which slightly hurts scanability.

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

Completeness4/5

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

For an update tool with an output schema, the description covers ownership preconditions, partial-update behavior, and undo, which is complete enough for correct invocation. The return details are somewhat redundant given the output schema, but nothing essential is missing.

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 schema already documents every field; however the description adds the semantics the schema omits - that omitted fields are left unchanged and that ingredients is a full replacement list validated the same way as create_recipe. That goes beyond the baseline 3.

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?

The description states a specific verb and resource ('Change one of the user's own private recipes') and enumerates exactly what can be changed (name, ingredients, servings, description). It ties the recipe_id provenance to sibling tools (create_recipe, get_my_foods), so an agent can distinguish it from create_recipe/delete_recipe without opening schemas.

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?

It clearly scopes use to the user's own private recipes and states the exclusion ('Any other recipe is refused'), which tells the agent the ownership precondition. It does not explicitly name alternative tools for the non-owned or create cases, so it stops short of full when/when-not/alternative routing.

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