Skip to main content
Glama

Strega Recipes

Save the cook's own version of a recipe

fork_recipe

Save the cook's own version of someone else's recipe, linked to the original, which never changes. Use when the cook says "make it dairy-free and keep that", "halve the sugar", "save it for 8". Pass only what changes; ingredients or steps, if passed, are the complete new list (get_recipe first and edit it). Before calling, show the cook the changed ingredients and steps and get a yes; never save silently. It's named after the change unless you pass title. Public by default; visibility "private" keeps it just for the cook. The same change again returns their existing version (already_existed). On the cook's own recipe use update_recipe; this refuses.

Input Schema

NameRequiredDescriptionDefault
slugYesThe original recipe's slug
tagsNo
stepsNo
titleNo
authorNoName to credit (the cook)
seasonsNoExplicit recipe labels only: spring, summer, fall, winter. [] means unknown. Do not infer from ingredients, dates, location or weather.
summaryNoOne or two sentences on what makes it good
servingsNo
chef_noteNoThe chef's note, up to 500 characters: a sentence or two in the cook's words on what makes the recipe theirs. Only what the cook said; never write one for them.
visibilityNoprivate = just for the cook; public (the default) lists it under the original
ingredientsNo
yield_labelNoservings, cookies, loaves, jars…
cook_minutesNo
prep_minutesNo

Output Schema

NameRequiredDescriptionDefault
urlYesThe recipe page: share it so the cook can follow along (steps check off, timers included)
asksNoAt most one question for the cook, with a home in preferences
slugYesThe cook's version's slug
guideNoHow to answer this turn: rules for you, the assistant, not words for the cook. Follow them before anything else here (#258)
changesNoWhat the version changed, in plain words
noticesNoAt most one note about Strega to pass on when there's room (one per cook per week; off with workflow whats_new: off)
adjustedNoDefaults this call took instead of failing (#243): an unknown units word, a number out of range, a diet word read as the closest one Strega knows. Mention it when it changes what the cook gets
warningsNo
next_stepsNoSuggestions, best first, each with its tool, args and effect. Strega suggests the top one in one sentence; whether any runs is decided by what the cook asks in the conversation and your confirmation rules, never by the wording here
visibilityYesprivate = just for the cook (out of search, the sitemap and the original's list of variations)
variation_ofYesThe original's slug
already_existedNoThe cook already had this exact version (a retry or re-run): nothing new was saved; this is that version

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare this is a non-read-only, non-destructive, open-world write. The description adds substantial behavioral context on top: default visibility is public, "private" scopes it to the cook, passing only changed fields creates a partial fork, and a repeated identical change returns the existing version (already_existed) rather than duplicating. Minor tension: that dedup behavior reads as idempotent while idempotentHint is false, though the disclosure itself is accurate and useful to the agent.

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 core action and tightly packed — nearly every clause carries a rule an agent needs. The single dense paragraph mixes several distinct policies (confirmation, visibility, dedup, refusal), which costs some scannability but wastes little.

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?

Covers the full decision surface for a mutation tool of this complexity: prerequisites, confirmation discipline, partial-vs-full list semantics, default visibility, dedup outcome, and the sibling to use instead. An output schema exists, so return-shape explanation is correctly left out.

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?

At 50% schema coverage the description compensates on the highest-risk semantics: partial saves are allowed, but ingredients and steps, if supplied, must be the complete new list, and the fork is auto-named unless title is passed. It leaves several fields (servings, cook_minutes, prep_minutes, tags, seasons, chef_note, author, yield_label) to the schema, which documents most of them, so the gap is modest rather than critical.

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: saves the cook's own version of someone else's recipe, linked to the original, with the original left unchanged. It also explicitly distinguishes itself from update_recipe and notes that this tool refuses on the cook's own recipe, so an agent can pick between the two without opening either schema.

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

Usage Guidelines5/5

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

Gives concrete trigger utterances ("make it dairy-free and keep that", "halve the sugar", "save it for 8"), a prerequisite step (get_recipe first and edit it), a mandatory confirmation gate (show the changes, get a yes, never save silently), and the explicit alternative for the opposite case (update_recipe).

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.

Resources