Skip to main content
Glama

kitchen_vessel_from_dimensions

Build a cookware vessel and compute its capacity from a standard pan name or typed inside dimensions. Use presets like '9x13' or custom dims; also returns summary and fill guidance.

Instructions

Build a vessel and its capacity from a standard pan name or typed dimensions; no photo, always works.

Pass EITHER preset OR dimensions (both is an error). preset takes natural names: "9x13", "9 x 13 inch pan", "8 inch round", "8-inch cake pan", "half sheet", "loaf pan", "bundt", "2 qt saucepan", "10 inch skillet", "23x33 cm"... Presets include square/round/springform pans, 9x13, loaf pans, quarter/half/full sheets, pie plate, skillets, bundt and tube pans, one muffin cup, casseroles and pots by quart. The result says which preset it resolved to (preset.resolved_to, preset.match exact|alias|parsed|default|fuzzy): tell the user. An unknown name returns candidates. dims: "9 x 13 x 2 in" (length x width x depth), "9 x 2 in" (round: diameter x depth), a list or a dict; or the named fields diameter, or length and width, plus depth. dims_unit: in (inches, default), cm, mm, m. Measurements are INSIDE, rim to inside floor. For slanted walls add bottom_diameter (or bottom_length and bottom_width, never wider than the rim); profile cylinder|frustum|cap is inferred (bowl: "cap"). Bundt/tube: tube_diameter (approximate). Outside sizes need wall_thickness. corner_radius is optional. Returns summary (quote it), vessel (pass to kitchen_scale_recipe), capacity (L, mL, cups, quarts, brimful), fill_guidance, preset {source, verified, how resolved} and warnings.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dimsNo
depthNo
shapeNo
widthNo
lengthNo
presetNo
profileNo
diameterNo
dims_unitNoin
bottom_widthNo
bottom_lengthNo
corner_radiusNo
tube_diameterNo
wall_thicknessNo
bottom_diameterNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so richly: measurements are INSIDE rim-to-floor, outside sizes require wall_thickness, slant needs bottom_* bounded by the rim, unknown names return candidates, and it states the preset resolution fields (resolved_to, match exact|alias|parsed|default|fuzzy) plus warnings. It also identifies the downstream consumer (kitchen_scale_recipe).

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 the either/or rule before the detail; the length is justified by 15 undocumented parameters. Some phrasing is instructional filler ('tell the user', 'quote it'), but overall every line carries usable semantics.

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?

For a zero-annotation, 15-param, 0%-schema-coverage tool, this covers input modes, units, geometry conventions and the returned fields. Since an output schema exists, the return list is a bonus rather than a necessity, making the definition complete enough to invoke correctly.

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% across 15 params, so the description must compensate and largely does: it documents dims string/array/dict forms with ordering, named fields (diameter, length, width + depth), dims_unit values, bottom_*/tube_diameter/wall_thickness/corner_radius, and profile cylinder|frustum|cap semantics. Only 'shape' goes unmentioned, which is a minor gap.

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 and resource — 'Build a vessel and its capacity' — plus the two input modes ('a standard pan name or typed dimensions'). The phrase 'no photo, always works' implicitly separates it from a photo-based sibling like kitchen_measure_vessel, so an agent can route without opening the schema.

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 the input-mode rule: 'Pass EITHER preset OR dimensions (both is an error)', and gives abundant concrete preset and dims examples so the agent knows what to supply. It stops short of naming the photo-based alternative it contrasts against, so the routing is implied ('no photo') rather than spelled out.

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