Skip to main content
Glama
talvola

bar-assistant-mcp

by talvola

bar_set_slot_meta

Set a recipe slot's category and tolerance to control ingredient matching, required before applying axis constraints.

Instructions

Declare the category + tolerance for a recipe slot.

Required before setting axis constraints. sort is the 1-based BA sort index of the ingredient in the recipe (see bar_describe_slots).

Args: cocktail_id: BA cocktail_id. sort: BA sort index of the slot (1-based). category: e.g. "gin", "rum", "whiskey". tolerance: "exact" (named bottle required) | "style" (match by vector) | "any" (any in-category bottle works). exact_ingredient_id: required when tolerance="exact". also_accept_categories: list of other categories that can sub here (e.g. ["bourbon"] on a rye slot). Cross-category subs get a small flat penalty so in-category ranks first. proof_min / proof_max: enforce a proof range (US proof).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sortYes
categoryYes
proof_maxNo
proof_minNo
toleranceNostyle
cocktail_idYes
exact_ingredient_idNo
also_accept_categoriesNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.3/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It discloses a meaningful semantic: cross-category subs get a small flat penalty so in-category ranks first, and tolerance modes change behavior ('exact' requires a named bottle). However, it doesn't discuss whether this mutates existing slot metadata, idempotency, permissions, or error behavior when required params are missing.

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 and prerequisite, then a compact Args block. Slightly verbose in restating param names, but each line adds semantic meaning not present in the schema. Well-structured for an 8-param tool.

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

Completeness5/5

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

Given 8 params with 0% schema coverage and an output schema present (so return values needn't be explained), the description covers all parameters, the prerequisite relationship with constraint tools, and the cross-category penalty behavior. Nothing essential for correct invocation is missing.

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 description coverage is 0%, so the description must compensate and it does: it explains sort as 1-based BA sort index, defines each tolerance value ('exact'=named bottle, 'style'=vector match, 'any'=any in-category), states exact_ingredient_id is required when tolerance='exact', and clarifies also_accept_categories semantics and proof_min/proof_max as US proof range.

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+resource ('Declare the category + tolerance for a recipe slot') and distinguishes itself from siblings by naming what it must precede (axis constraints) and pointing to bar_describe_slots for the sort index. An agent can tell it apart from bar_set_point_constraint and bar_set_band_constraint.

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?

Explicitly states 'Required before setting axis constraints', which is a clear prerequisite and sequencing rule. It doesn't say when NOT to use it or fully contrast with the constraint-setting siblings, but the prerequisite and the pointer to bar_describe_slots give solid context.

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