Skip to main content
Glama
cacack

mcp-server-brewfather

by cacack

set_inventory

Update or adjust the stock of one BrewFather inventory item by specifying fermentables, hops, miscs, or yeasts; use amount for absolute stock or adjust to add/subtract after brew day.

Instructions

Change the stock of one inventory item.

Pass exactly one of ``amount`` (set absolute stock) or ``adjust`` (add, or
subtract with a negative number — e.g. after brew day). ``kind`` is
fermentables, hops, miscs, or yeasts. Returns {item_id, result}.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
kindYes
adjustNo
amountNo
item_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are provided, so the description bears the full burden. It usefully discloses the mutual-exclusivity rule and that 'adjust' accepts negative values (adding vs subtracting), plus the return shape. However it is silent on error behavior, whether the change is reversible, and any permission or concurrency constraints for a stock-mutating operation.

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?

Front-loaded first sentence states the action, followed by tightly scoped parameter guidance and the return shape in three short blocks. No filler sentences.

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 mutation tool with no annotations and no output schema, the description covers the parameter contract well and even summarizes the return value. The remaining gap is behavioral: error cases and side effects of the change are not addressed.

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 description coverage is 0% and all four params are undocumented in the schema, so the description must compensate. It explains amount vs adjust semantics (absolute vs additive, negative allowed), enumerates the valid kind values (fermentables, hops, miscs, yeasts), and states the one-of requirement — only item_id is left to inference, which is low-cost.

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+resource in one line: 'Change the stock of one inventory item.' It is clearly distinct from the sibling list_inventory (a read), but it never names or contrasts against siblings explicitly.

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?

The description gives operational guidance ('pass exactly one of amount or adjust') but says nothing about when to reach for set_inventory versus update_batch or list_inventory, and no prerequisites or exclusions are stated. Usage is implied rather than directed.

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