Skip to main content
Glama

opdater_beholdning

Destructive

Update and manage your home inventory list by adding, removing, or replacing items. It only changes a local list, never store baskets.

Instructions

Gem hvad I har hjemme. Ændrer kun en lokal liste, aldrig butikkernes kurv. tilfoej: [{"navn": "løg", "maengde": "2 stk", "sted": "køleskab"}]. Findes navnet, rettes det. fjern: navne på varer der er brugt op. erstat_alt=True: listen er hele beholdningen (fx efter et kig i køleskabet), og alt andet slettes. Spørg, hvis det er uklart om noget er brugt op, og vis bagefter den nye beholdning.

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": "opdater_beholdning"
  }
}

Input Schema

NameRequiredDescriptionDefault
fjernNo
tilfoejNo
erstat_altNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.37.0

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, and the description adds real value on top: the mutation is confined to a local list and never touches the store basket, and `erstat_alt=True` wipes everything not in the supplied list. It also discloses upsert behaviour ('Findes navnet, rettes det') and a follow-up step of showing the new inventory, though it says nothing about concurrency or partial-failure handling.

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 purpose, then one tightly scoped clause per parameter using backticked names, which makes it easy to scan. The closing instruction about asking when unsure and showing the result is useful but slightly interrupts the parameter block's rhythm.

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 3-parameter mutation tool with no output schema and no schema descriptions, the definition covers intent, per-parameter meaning, deletion scope and expected follow-up display. The only real gap is any statement about what the tool returns or how conflicts with an existing item's `sted`/`maengde` are merged.

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

Parameters5/5

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

Schema coverage is 0% – only titles like 'Fjern' and 'Tilfoej' – so the description carries the full burden and does: a worked JSON example for `tilfoej`, the meaning of `fjern` as names of used-up goods, and the destructive full-replacement semantics of `erstat_alt`.

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 concrete verb and resource ('Gem hvad I har hjemme', opdaterer en lokal liste) and immediately scopes it away from store baskets, which separates it from the cart tools in the sibling set. It never names a specific sibling by name, so the differentiation is conceptual rather than explicit.

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?

Gives per-mode guidance: `tilfoej` for adding/correcting, `fjern` for used-up items, `erstat_alt=True` for a full re-baseline after checking the fridge, plus a rule to ask when unsure. It stops short of naming an alternative tool (e.g. vis_beholdning) for read-only inspection or stating when not to call it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.