Skip to main content
Glama

ReciPal MCP by usefulapi

Create recipe

recipal_create_recipe
Destructive

WRITE: create a new, empty recipe (add ingredient lines with recipal_add_recipe_ingredient, or use recipal_create_recipe_from_ingredients to do both at once). All fields are optional. Creates a record in your ReciPal account; it counts against the plan's recipe allowance. POST /recipes.

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.
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.
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 (default 0).
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.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, destructiveHint=true, idempotentHint=false and openWorldHint=true, so the description doesn't need to restate the write semantics. It adds genuinely new context: the call creates a record in the caller's ReciPal account, consumes a slot in the plan's recipe allowance (a quota/cost constraint not in any structured field), and maps to POST /recipes. It stops short of warning about retry duplication despite idempotentHint=false, which is the one behavioral note an agent could still use.

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?

Two sentences plus an endpoint, with the operation class ('WRITE:') front-loaded and the alternative-path guidance immediately after the primary action. No restatement of the title, no filler, and the quota note is compressed to a single clause.

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 a 17-parameter, nested-object mutation the description covers the essentials: it is a shell-creating write, everything is optional, and it costs a plan slot. The remaining gap is the return value — there is no output schema, so the agent is not told whether the created recipe's ID comes back or whether it must call recipal_get_recipe / recipal_list_recipes afterward to obtain it.

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% with 17 well-documented properties, so the schema carries the burden and baseline would be 3. The description adds one materially useful fact the schema cannot convey: 'All fields are optional' (required=[]), confirming an empty body produces a valid empty recipe — that is exactly the decision an agent needs before calling.

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 ('create a new, empty recipe') plus the WRITE prefix marking it as a mutation. It explicitly distinguishes itself from two siblings by name (recipal_add_recipe_ingredient, recipal_create_recipe_from_ingredients), so an agent can route correctly without opening any 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 when-to-use-this vs. when-to-use-the-alternative guidance: use this for the shell, then recipal_add_recipe_ingredient for lines, or skip straight to recipal_create_recipe_from_ingredients to do both. That is explicit alternative routing, not inference.

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.