Skip to main content
Glama

update_recipe

Update an existing recipe by slug, changing only the fields you provide—name, description, servings, times, ingredients, instructions, categories, tags, notes, or custom metadata.

Instructions

Update fields on an existing recipe. Only provided fields are changed.

Args: slug: Recipe slug to update name: New recipe name description: New description recipe_yield: Yield description (e.g. "15–18 rolls", "1 loaf") servings: Numeric serving count that enables scaling (e.g. 6, 8, 15) total_time: New total time prep_time: New prep time perform_time: New cook time ingredients: Replace ingredient list. Each dict has optional keys: - section (str): creates a visual section header (no other fields used) - quantity (float): numeric amount (e.g. 300, 2.5) - unit (str): unit name or abbreviation (e.g. "g", "cup", "tbsp") - food (str): ingredient name (e.g. "bread flour", "butter") - comment (str): extra info shown alongside (e.g. "softened", "about 1¾ tsp") instructions: Replace instruction steps — each may be a plain string or a dict with: - text (str): step body - title (str, optional): step heading shown in UI - summary (str, optional): one-line takeaway for cook mode - ingredient_refs (list[str], optional): UUIDs of linked ingredients categories: Replace categories tags: Replace tags notes: Replace note blocks. Each dict has: - title (str): section label (e.g. "Non-Negotiables") - text (str): note body extras: Replace arbitrary JSON metadata (e.g. {"isFoundation": true})

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNo
slugYes
tagsNo
notesNo
extrasNo
servingsNo
prep_timeNo
categoriesNo
total_timeNo
descriptionNo
ingredientsNo
instructionsNo
perform_timeNo
recipe_yieldNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries the full behavioral disclosure burden. It explicitly discloses the critical partial-update behavior ('Only provided fields are changed') and uses 'Replace' to warn that array fields like ingredients, instructions, categories, tags, and notes overwrite existing content. This is valuable behavioral transparency beyond the schema, though it does not cover permissions, errors, or side effects.

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

Conciseness5/5

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

The description is long but every line earns its place, given 14 parameters with nested objects and zero schema descriptions. It front-loads the key update semantics and then organizes each parameter with clear, consistent formatting and examples. No filler or redundancy.

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?

The description is highly complete for a complex mutation tool with 14 parameters and no parameter descriptions in the schema. It covers parameter semantics and the critical replace-vs-update behavior, and an output schema exists so return values are already specified. It could be slightly more complete by stating when to prefer this over create_recipe or delete_recipe, but that is a minor gap.

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

Parameters5/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 provide all parameter meaning, and it does. Every parameter is explained with concrete examples and nested structures are fully documented, including optional keys for ingredient dicts, instruction dicts, and note blocks. This is exceptional compensation for a schema with no descriptions.

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 clearly states the tool updates fields on an existing recipe, with a specific verb and resource. It also clarifies partial-update semantics ('Only provided fields are changed'), distinguishing it from create/delete operations. This makes the tool's purpose unmistakable even among many sibling tools.

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?

The description clearly communicates that this tool is for updating an existing recipe, which implies it should not be used for creation or deletion. However, it does not explicitly name alternatives like create_recipe or delete_recipe or state when not to use it. This is clear context without explicit exclusions.

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