Skip to main content
Glama

Cut list

cut_list
Read-only

Generate cut lists for joinery builds and hand-drawn groups, exporting board sizes, quantities, and layouts as CSV, DXF, or SVG.

Instructions

Cut list of joinery builds, and of groups drawn by hand: each part of a drawn group up to 50 mm thick is a board at the size it was drawn (board is its finish and thickness, no edge banding), the groups are named in drawn and the parts that are not boards in skipped [[id,name]]. Rows [part,board,qty,length,width,thickness mm,edge long+short,cutouts [x,y,w,d] mm?] merged by size, hardware, sheets per board. export what=cut_list writes it as .csv, or .dxf/.svg (boards laid out on sheets). sources names the panel standards behind the boards: MDF is a dry-process fibreboard (NBR 15316), MDP a particleboard of 551 to 750 kg/m³ that holds screws better (NBR 14810).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idsNoBuild or drawn group ids (default: every build and drawn group on this storey)

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
rowsYes
drawnNo
sheetsNo
skippedNo
sourcesYes
hardwareYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changedv3.0.0
    • removedOutput schema / properties / drawn / description
      Removed value: -"Hand-drawn builds left out"
    • removedOutput schema / properties / hardware / description
      Removed value: -"Hardware by build: \"<id>: <item>\""
    • removedOutput schema / properties / rows / description
      Removed value: -"[part, board, qty, length, width, thickness, edge, cutouts?]"
    • removedOutput schema / properties / sheets / description
      Removed value: -".dxf/.svg: [board, sheets]"
    • removedOutput schema / properties / skipped / description
      Removed value: -"[id, name] left out"
    • removedOutput schema / properties / sources / description
      Removed value: -"Standards cited, by code: [title, tier, url]"
  2. First observedv0.1.0

TDQS

B3.3/5.0
Behavior4/5

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

With readOnlyHint and openWorldHint already declared, the description still adds substantial behavioral content the annotations do not: the 50 mm board threshold, the 'board is its finish and thickness, no edge banding' rule, skipping of non-board parts as [[id,name]], and row merging by size/hardware/sheets. These tell the agent how output is derived and transformed. It does not cover auth or pagination, so it falls short of 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.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is front-loaded with the core purpose, but the body is a jargon-heavy run-on stitched together with colons and semicolons, and the trailing panel-standard trivia (NBR 15316 / NBR 14810) is marginal for tool selection. The content is mostly substantive, yet the structure makes it hard to parse quickly.

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

Completeness3/5

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

An output schema exists, so the description ideally need not restate the return shape, yet it spends most of its length on row layout. Behavioral coverage of the core transformation is decent, but the absence of any usage or routing guidance leaves a real gap for an agent choosing among dozens of siblings. Adequate, not complete.

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 description coverage is 100% for the single optional 'ids' parameter, which already documents the default ('every build and drawn group on this storey'). The description adds no additional meaning about how ids are supplied or whether they can mix build and drawn-group ids, so the baseline 3 applies.

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?

The description names a specific resource and scope: a cut list covering joinery builds and hand-drawn groups, with detail on what qualifies as a board (<=50 mm thick) and what gets skipped. It is clear what the tool produces, though the operative verb is implicit ('Cut list of...') and it never explicitly distinguishes itself from siblings like 'joinery', 'layout', or 'export'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to call this versus alternatives, nor any prerequisites. The only pointer toward another tool is the aside that 'export what=cut_list writes it as .csv, or .dxf/.svg', which names a mechanism rather than a decision condition. The dense output-format detail substitutes for usage guidance rather than supplying it.

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