Skip to main content
Glama

joiva_update_log_entry

DestructiveIdempotent

Change grams, time, preparation (garung, behandlung) or preparation note of an existing Joiva log entry. Changing the preparation re-derives that entry's nutrient values (measured BLS variant first, else documented USDA retention factors); the catalog product stays untouched.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "entryId": "<entryId>"
    },
    "name": "joiva_update_log_entry"
  }
}

Input Schema

NameRequiredDescriptionDefault
gramsNo
notizNoShort note on the preparation, e.g. 'selbst geröstet, 10 min 170 °C'.
garungNoHow it was prepared when eaten, exactly one of: roh, gekocht, gedämpft, gebacken, geröstet, gebraten, gegrillt. Not given = as bought (the product's own state is copied); null = clear. Joiva re-derives the values: a measured BLS variant first (e.g. roasted hazelnuts), else documented USDA retention factors; otherwise the entry reports that the preparation is not accounted for.
entryIdYes
loggedAtNoISO 8601 timestamp with offset
unitCountNoHow many of that unit, e.g. 2 for 'zwei Eier M'. Only stored together with unitLabel.
unitLabelNoHow the amount was meant, e.g. 'Ei M', 'Scheibe', 'EL'. Display only: `grams` stays mandatory and remains the stored amount, so both are given. Labels that match a food's existing `portions` (name and gram weight, as listed in the food catalog) reuse that portion. Not needed when the user gave a weight.
behandlungNoPre-treatments, any of: eingeweicht, gekeimt, fermentiert, geräuchert, gepökelt (e.g. soaked AND roasted nuts = behandlung ['eingeweicht'] + garung 'geröstet'). Not given = as bought; [] = none.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / unitLabel / description
      Previous value: -"How the amount was meant, e.g. 'Ei M', 'Scheibe', 'EL'. Display only: `grams` stays mandatory and remains the stored amount, so both are given. Labels from a food's `portions` (returned by joiva_search_foods and joiva_list_frequent_foods with their gram weight) match existing portions. Not needed when the user gave a weight."New value: +"How the amount was meant, e.g. 'Ei M', 'Scheibe', 'EL'. Display only: `grams` stays mandatory and remains the stored amount, so both are given. Labels that match a food's existing `portions` (name and gram weight, as listed in the food catalog) reuse that portion. Not needed when the user gave a weight."
  2. First observed

TDQS

A4/5.0
Behavior4/5

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

Annotations already flag a non-read-only, destructive, idempotent mutation, so the description's real contribution is the nutrient re-derivation rule: a measured BLS variant takes precedence, otherwise documented USDA retention factors, and the catalog product is unaffected. That is genuine side-effect disclosure an agent cannot get from the annotations. It stops short of confirming partial-update semantics (what happens to fields not supplied) or any authorization requirement.

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, front-loaded with the mutable field list and followed by the one consequence an agent must know before mutating. No filler, no repetition of the title.

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 8-parameter mutation with no output schema, the description covers purpose, affected fields, and the key downstream effect on nutrient values, with annotations carrying the safety profile. It leaves out partial-update behavior and error conditions (e.g. entry not found, preparation not accountable), which are relevant for a destructive, idempotent edit.

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 description coverage is 75% and the schema already documents garung, behandlung, unitLabel, unitCount and notiz in detail, so the baseline is 3. The description adds the useful mapping of 'time' to the entry timestamp and links preparation changes to nutrient re-derivation, but says nothing about the unitCount/unitLabel pair or the grams cap.

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 ('Change') plus the exact resource ('an existing Joiva log entry') and enumerates the mutable fields (grams, time, garung, behandlung, preparation note). The word 'existing' plus the closing note that 'the catalog product stays untouched' separates it from joiva_log_food (creates entries) and from any catalog-side editing.

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

Usage Guidelines3/5

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

Usage is implied rather than stated: an agent can infer this is the tool for correcting an already-logged entry, and the 'catalog product stays untouched' clause hints the alternative when the product itself must change. There is no explicit when-not guidance, no mention of siblings such as joiva_log_food or joiva_delete_log_entry, and no statement that omitted fields are left unchanged.

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