Skip to main content
Glama

grocy_stock_consume

Consume a specified amount of a product from stock by product ID or barcode; omit confirmation to preview the transaction as a dry run.

Instructions

Consume amount of a product from stock. POST consume, by product_id or barcode. Omit confirm for a dry-run.

Input Schema

NameRequiredDescriptionDefault
amountYes
barcodeNoProduct barcode. Provide this or product_id.
confirmNoSet to the boolean true to execute the write. Omit this field for a dry-run preview. false and the string true are rejected.
spoiledNo
recipe_idNo
product_idNoProduct id. Provide this or barcode.
location_idNo
exact_amountNo
stock_entry_idNo
transaction_typeNo
allow_subproduct_substitutionNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already flag this as a non-readonly, non-idempotent write, and the description adds the useful dry-run-by-default safety model. However, it says nothing about what consumption does to stock levels, how 'spoiled' differs from normal consumption, what transaction_type changes, or how partial/subproduct substitution behaves — significant gaps for an 11-parameter mutating tool.

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?

Two tight sentences, front-loaded with the action and followed by the key safety behavior. No padding, though the 'POST consume' fragment is endpoint trivia that doesn't help an agent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 11 parameters, low schema coverage, no output schema, and no annotations covering mutation semantics, the description leaves too much undocumented for an agent to call this confidently beyond the simple amount + product_id/confirm path.

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

Parameters2/5

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

Schema coverage is only 27% with 11 parameters, and the description only touches product_id/barcode and confirm — both of which the schema already documents. Eight parameters (amount, spoiled, recipe_id, location_id, exact_amount, stock_entry_id, transaction_type, allow_subproduct_substitution) get no explanation anywhere in the description, so it fails to compensate for the coverage gap.

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 ('Consume amount of a product from stock') plus the endpoint and the two lookup keys. It implicitly separates itself from siblings like grocy_stock_add and grocy_stock_transfer by naming the consume operation, though it never names the closest alternative (grocy_stock_booking / grocy_recipe_consume).

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?

'Omit confirm for a dry-run' implies a workflow (preview first, then confirm), but there is no explicit statement of when to use this versus grocy_stock_booking, grocy_stock_open, or grocy_recipe_consume, nor any prerequisite/auth guidance.

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