Skip to main content
Glama

set_pricing

Price a condition's estimate line by setting material cost per order unit and labor per measured unit, plus supporting-material prices. Enter 0 for an explicit zero or null to clear a price back to unentered.

Instructions

Price one condition for the estimate — the canvas Estimate panel's row. unit is what the condition is bought in (SF, SY, LF, EA); material and labor are $ per that unit: material is priced on the ORDER quantity (waste applied — SY is the waste-adjusted SY), labor on the MEASURED quantity (no waste); EA carries no waste on either. materials prices the condition's supporting-material rows (from edit_materials) per THEIR unit (bag, pail, roll) — quantities are already whole packages. null clears a price back to "not entered"; 0 is an explicit $0 (owner-furnished material, labor-only scope). Every price comes from the estimator or a document they gave you — never invent, estimate or 'typical' one; a price nobody entered stays unentered and estimate_summary names it. The reply carries the condition's estimate line. Rides export_takeoff into the app; undo_last reverses the call.

Input Schema

NameRequiredDescriptionDefault
unitNoPricing unit (default: what was measured — area, then length, then count)
laborNoLabor $ per unit, on the measured quantity; null clears
materialNoMaterial $ per unit, on the order quantity; null clears
conditionYesFinish tag of an existing condition, e.g. 'CPT-1'
materialsNoPrices for the condition's supporting-material rows

Output Schema

NameRequiredDescriptionDefault
lineYesThe condition's estimate line after this write; null while it has no committed shapes
noteNo
pricingYesThe condition's prices after this write; an absent field is not entered
conditionYes
condition_idYes
material_pricesYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.1.29

TDQS

A4.3/5.0
Behavior4/5

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

No annotations are supplied, so the description carries the full disclosure burden and does so well: it explains that null clears to 'not entered' while 0 is a deliberate $0, that a price nobody entered stays unentered and is named by estimate_summary, and that undo_last reverses the call. It doesn't address permissions or validation failure behavior, so not a 5.

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?

The core action and unit semantics are front-loaded, and every sentence carries operational content (waste rules, null vs 0, source discipline). It is a dense single paragraph without structural breaks, which makes the materials and null-handling rules harder to scan than they need to be.

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?

With an output schema present, the description correctly needn't exhaustively document the return value but still notes 'the reply carries the condition's estimate line.' Combined with the waste rules, null/0 semantics and undo linkage, an agent has what it needs; only permission and error handling are absent.

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 coverage is 100%, so baseline is 3, but the description adds real meaning beyond the schema: material priced on the ORDER quantity with waste applied, labor on the MEASURED quantity, EA carrying no waste, and materials priced per their own package unit. This clarifies the non-obvious semantics the schema only gestures at.

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 ('Price one condition for the estimate') and anchors it to a concrete UI surface (the Estimate panel's row). It also distinguishes the tool from edit_materials by explaining that materials pricing targets rows created there, so an agent can tell them apart.

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 restricts price sources ('Every price comes from the estimator or a document they gave you — never invent, estimate or typical') and names related tools (edit_materials, export_takeoff, undo_last). It lacks an explicit when-not-to-use statement or a direct alternative for editing the condition itself, keeping it just below full marks.

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