Skip to main content
Glama

joiva_share_recipe

Creates an anonymous link to one saved dish as a recipe to cook: name, ingredients with grams and nutrients per portion, no day, no daily totals. Whoever opens it copies the dish into their own Joiva dishes with one tap; without an account the button leads through sign-up and back, then Joiva copies it by itself. The dish is chosen by savedMealId or mealName. cardUrl is the square nutrition card (1080×1080 PNG) for posting. The URL is returned only once and cannot be looked up again.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "joiva_share_recipe"
  }
}

Input Schema

NameRequiredDescriptionDefault
tzNoIANA timezone, default Europe/Berlin
campaignNoCampaign tag for attribution, e.g. 'fb-smoothie' (a-z, 0-9, hyphen). It is appended to the URL as the c parameter; accounts created through the link are counted with the source share:campaign-tag.
mealNameNoAlternatively the dish name
ttlHoursNoValidity in hours (1 to 8760 = 1 year). Default: 168 = 7 days.
savedMealIdNoDish id

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.3/5.0
Behavior5/5

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

Goes well beyond the annotations by explaining the recipient flow (anonymous open → sign-up redirect → automatic copy), that the link is single-retrieval and unrecoverable ('returned only once and cannot be looked up again'), and that the card is a 1080×1080 PNG. The one-time URL disclosure is exactly the kind of consequence an agent could not infer from readOnlyHint=false / destructiveHint=false / idempotentHint=false.

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?

Purpose and payload scope are front-loaded, and the closing sentence on the one-time URL is well placed as a warning. The recipient-flow sentence is long and the cardUrl note is dropped mid-paragraph, slightly interrupting the parameter discussion, but nothing is padding.

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?

With no output schema, the description correctly supplies the return contract (the share URL plus `cardUrl`) and the sharing semantics, which the annotations cannot carry. The remaining gap is ambiguity around selection: all five parameters are optional, yet the description never says what happens if neither savedMealId nor mealName is supplied, nor whether both may be given.

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

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so tz, campaign, ttlHours, and the two dish selectors are already documented in structured fields; the description only echoes that the dish is chosen by savedMealId or mealName. The cardUrl explanation is about a return value rather than a parameter, so it does not lift this dimension. Baseline 3 applies.

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 a specific verb and resource: 'Creates an anonymous link to one saved dish as a recipe to cook', then bounds the payload precisely (name, ingredients with grams and nutrients per portion, 'no day, no daily totals'). That bounding sentence implicitly separates it from the day/meal/collection sharing siblings without the agent needing to open another schema.

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?

Usage context is clear: sharing a single dish so a recipient can one-tap copy it, with `cardUrl` called out for posting. The parenthetical 'no day, no daily totals' signals what this share is not, but no sibling is named as the alternative for day- or collection-level sharing, so routing is implied rather than stated.

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