Skip to main content
Glama

ReciPal MCP by usefulapi

Update recipe

recipal_update_recipe
DestructiveIdempotent

WRITE: change fields of one recipe; fields you leave out stay unchanged. package_yield_quantity "default" sets the package weight to the total weight of the current ingredients (no moisture loss accounted for); ingredient_list "default" rebuilds the label ingredient list in descending weight order. Changes labels and costs of this recipe. Tags cannot be set here. PUT /recipes/{id}.

Input Schema

NameRequiredDescriptionDefault
skuNoYour SKU.
nameNoRecipe name.
packagesNoNumber of packages the recipe yields per batch (0 or more).
servingsNoServings per package (at least 1).
allergensNoAllergens by name, e.g. {"Milk": true, "Almond": true, "other-shellfish": "Oyster"}. Standard names: Wheat, Peanuts, Soy, Sesame, Mustard, Sulfites, Milk (Goat milk, Sheep milk), Egg (Duck egg, Quail egg), Fish (Tuna, Cod, Salmon, Bass), Shellfish (Crab, Lobster, Shrimp), tree nuts (Almond, Cashew, Hazelnut, Macadamia nut, Pecan, Pine nut, Pistachio, Walnut ...), Gluten (Barley, Oats, Rye, Triticale). other-milk/-egg/-fish/-shellfish/-treenut take a free-text source. An empty object {} clears all allergens.
recipe_idYesReciPal recipe id.
labor_costNoLabor cost per batch.
preparationNoPreparation instructions for staff.
overhead_costNoOverhead cost per batch (rent, electricity, equipment ...).
packaging_costNoCost per package of direct and secondary packaging.
subrecipe_nameNoName shown when this recipe is used as a subrecipe in another recipe's ingredient list.
ingredient_listNoIngredient list text for the label, or "default" to rebuild it from the ingredients.
suggested_servingNoSuggested serving in common terms, e.g. "1 piece or 1 cup".
package_yield_unitNoUnit of the finished package weight: "grams" (default), "ounces", "mL" or "fluid ounces".
prepared_serving_noteNoNote after the serving size on FDA labels, e.g. "makes 1 cup prepared".
subrecipe_name_frenchNoFrench name shown when used as a subrecipe.
package_yield_quantityNoNet weight of each finished package in package_yield_unit, or "default" to total the ingredient weights.
visual_unit_of_measureNoVisual reference after the metric serving size on FDA labels, e.g. "5 chips".

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnly=false, destructive=true and idempotent=true, and the description adds genuinely useful context beyond them: omitted fields are preserved, the call recalculates labels and costs, 'default' values trigger derived rebuilds, and the total-weight yield ignores moisture loss. It does not explain the failure mode when recipe_id is unknown or what a partial failure looks like.

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?

A single dense but front-loaded block: operation type first, then mutation semantics, then the two sentinel behaviors, then the exclusion and endpoint. No filler sentences.

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 18-parameter mutation with no output schema, the description covers the semantics an agent most needs: partial-update behavior, sentinel values, downstream recalculation, and the tag limitation. It leaves out error/validation behavior and permission requirements, a modest gap.

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 baseline is 3, and the description earns an increment by clarifying the two polymorphic parameters beyond the schema: the 'default' sentinel for package_yield_quantity (total ingredient weight, no moisture loss) and for ingredient_list (rebuilt in descending weight order). The remaining 16 parameters are left entirely to the schema.

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?

Opens with an explicit 'WRITE: change fields of one recipe' verb+resource statement and adds the partial-update scope ('fields you leave out stay unchanged'), which separates it from create_recipe and from the ingredient-level update tools. The 'Tags cannot be set here' line further bounds the resource.

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?

Clear about when to use it: partial updates of a single recipe, with the restriction that tags are out of scope. It stops short of naming the sibling to use for tags or stating prerequisites (recipe must exist, permissions), so it is not fully explicit about alternatives.

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.