Skip to main content
Glama

Upload a private recipe

upload_recipe

Add a recipe the user supplies themselves: pasted in, dictated, a family recipe they want kept, or a web page they point at. For a web page, pass the page's raw HTML or its JSON-LD as markup together with source_url; the server extracts the facts. Each call creates a new private recipe, visible only to this user in searches and saves.

Input Schema

NameRequiredDescriptionDefault
nameNorecipe name; may be left empty when markup carries the recipe
yieldNo
markupNofor a recipe from a web page: the page's raw HTML, or just its schema.org/Recipe JSON-LD block, as fetched by the agent; the server extracts name, ingredients, steps, times, nutrition and rating from it, so the other fields can stay empty
source_urlNothe web page the recipe came from, if any; kept as attribution on the private copy
descriptionNo
ingredientsNoone ingredient per entry, with quantities, e.g. '2 cups rolled oats'
instructionsNoone step per entry
total_minutesNo

Output Schema

NameRequiredDescriptionDefault
idYes
nameYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • removedOutput schema / additionalProperties
      Removed value: -false
  2. First observed

TDQS

A4/5.0
Behavior4/5

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

Annotations only say this is a non-read-only, non-idempotent, non-destructive write; the description adds real context: every call creates a NEW private recipe (consistent with idempotentHint=false), it is visible only to this user in searches and saves, and when markup is passed the server extracts name, ingredients, steps, times, nutrition and rating from it. Missing only error/failure behavior and whether duplicates are detected.

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?

Three sentences, front-loaded with the core action and followed by the web-page path and the privacy/non-idempotency consequence. Some of the markup explanation duplicates the schema's markup description, but it earns its place because it describes the primary extraction workflow.

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?

An output schema exists, so return values need no explanation here; the description covers the two distinct input paths, the extraction behavior, and the visibility model. With 8 optional parameters and 63% schema coverage, the three undocumented scalar fields are low-risk name-obvious fields.

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 63%, and the description carries the most consequential semantics: markup can be full HTML or just the JSON-LD block and supersedes the other fields, source_url is kept as attribution, and name may be omitted when markup carries the recipe. yield, description and total_minutes are left to their self-explanatory names.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Add a recipe the user supplies themselves') and enumerates the accepted input modes: pasted, dictated, family recipe, or a web page. It distinguishes this from source-based siblings implicitly by insisting the user supplies the content, but never names add_to_pantry, save_recipe, or import_cookidoo_recipe, so the boundary is inferred rather than stated.

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 context for when this applies: user-supplied text, or a web page where the agent passes raw HTML/JSON-LD in markup along with source_url and lets the server extract facts. It does not explicitly say when NOT to use it (e.g. versus import_cookidoo_recipe for Cookidoo URLs or save_recipe for existing recipes).

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.