Skip to main content
Glama

Craft Quantities: construction material calculators

Variation (change order) between two versions of a project

write_variation
Read-onlyIdempotent

Writes the variation (change order) between an agreed and a proposed version of a project: each line added, removed or changed, its quantity in metric and imperial, the labour hours, and the signed document as My Project prints it. Money only from the reader's own rates; with none, unpriced.

Input Schema

NameRequiredDescriptionDefault
nameNoThe project's name on the document.
afterYesThe proposed version, given the same ways.
ratesNoThe reader's own unit rates (the site holds no price), by line id or calculator slug: a number, or { low, high }. A line's own rate in a file stays unless its id is named here.
beforeYesThe agreed version: one of token, file, calculators, takeoffs or drawing.
clientNo
detailNofull (the default): the whole answer. summary: the result lines, the citation line and the page only — fewer tokens to read.full
marketNoOptional. A market whose own opening choice some inputs take (a UK reader's code, an IEC motor), and whose currency symbol prints the caller's own money figures.
numberNoThe variation's number (V-0003).
reasonNoWhy the job changed, in the reader's words.
systemNoThe unit system inputs left out open in, and the one the page link opens in. The answer comes in both.metric
currencyNoThe label the reader's rates are in ("$", "£", "lei"); the market's when left out. A label only: no currency is converted.
preparedByNo
paymentTermsNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already mark it read-only, idempotent and non-destructive. The description adds substantive behavior beyond that: it reports each added, removed or changed line, both unit systems, labour hours, and a signed document; money is computed only from the caller's rates and remains unpriced when rates are absent. The word 'Writes' could sound mutating, but the signed-document phrasing frames it as document generation rather than a persisted write.

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?

Two sentences, front-loaded with the action and comparison, followed by the output and pricing caveat. There is no filler and every clause carries information.

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 13-parameter nested tool with an output schema and read-only annotations, the description gives enough to know it produces a variation document and how pricing works. The main omission is explicit routing guidance versus related sibling tools; otherwise the schema carries parameter detail and the output schema carries return structure.

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

Parameters3/5

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

Schema coverage is high at 77%, so the schema already documents most parameters, including before/after and rates. The description adds the key mapping that before/after are the agreed and proposed versions and that rates drive money or leave it unpriced, but it does not cover the document metadata parameters such as number, reason, preparedBy, paymentTerms or detail.

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—writes a variation/change order—and identifies the two inputs as an agreed and a proposed version. It enumerates the output contents (added/removed/changed lines, metric and imperial quantities, labour hours, signed document), so an agent can tell this is a version-delta document, though it does not explicitly distinguish itself from sibling tools.

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 implies the tool is for comparing an agreed version with a proposed one, giving an implicit context for use. It does not explicitly say when to choose it over siblings such as write_proposal or compare_on_job, nor when not to use it.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources