wall_calc
Compute a coursed block/brick wall specification — course and unit counts, weight, cost, mortar bags, a build-time curve across 1-6 builders, and load-bearing/height advisories. Pure arithmetic, no model call: a native-catalogue rebuild of the Gemini Enterprise "Wall Builder" demo, kept byte-for-byte correct against that original's formulas (see mcp-worker/test/test_wall_calc_parity.py). country is not an input — it is derived from block_id and returned in the result.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"block_id": "<block_id>",
"height_m": "<height_m>",
"width_m": "<width_m>",
"pattern": "<pattern>"
},
"name": "wall_calc"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| pattern | Yes | running = half-unit stagger on alternate courses; stack = none. | |
| width_m | Yes | 0.2-20m, snapped to 0.2m steps. | |
| block_id | Yes | parpaing200/150 and brique are French standards; uk_brick/uk_block are UK standards. Determines unit dimensions, weight, and colour. | |
| builders | No | 1-6, snapped/clamped. Selects which point on the returned build_days_curve is build_days_selected. | |
| height_m | Yes | 0.2-20m, snapped to 0.2m steps. | |
| include_dpc | No | Adds a damp-proof-course length to the result. | |
| load_bearing | No | Triggers an advisory (not a block swap) if the chosen block is under the load-bearing weight threshold. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| country | No | Country the block spec is for. | |
| courses | Yes | Courses of blocks. | |
| pattern | No | Bond pattern. | |
| width_m | No | Snapped wall width in metres. | |
| block_id | No | Block id. | |
| builders | Yes | Builders, snapped to range. | |
| height_m | No | Snapped wall height in metres. | |
| width_mm | No | Width in mm. | |
| available | Yes | Always true. | |
| height_mm | No | Height in mm. | |
| height_pct | No | Height as a percentage of the maximum. | |
| per_course | Yes | Blocks per course. | |
| total_cost | Yes | Total block cost. | |
| actual_h_mm | No | Built height in mm. | |
| actual_w_mm | No | Built width in mm. | |
| include_dpc | No | Whether a damp-proof course is included. | |
| mortar_bags | No | Mortar bags. | |
| total_units | Yes | Total blocks. | |
| dpc_length_m | No | DPC length in metres. | |
| load_bearing | No | Whether load-bearing was requested. | |
| height_advisory | No | True when the wall is tall. | |
| total_weight_kg | Yes | Total weight in kg. | |
| build_days_curve | No | Build days per builder count. | |
| build_days_selected | No | Build days at the chosen builder count. | |
| load_bearing_advisory | No | True when the block is too light for load-bearing. |