Skip to main content
Glama

Joinerycalc

Dovetail layout

dovetail_layout
Read-onlyIdempotent

Exact layout of a through dovetail joint, for hand-cut joints and router templates. Hand mode: give the board width, the thicknesses of both boards, the number of tails, the pin width at its narrow end and the angle (degrees per side, 1:N slope ratio, included angle or degrees from horizontal), in mm or inches; the tail width is computed. Router mode: give the tail width instead; the pins are spaced evenly and the router template is sized. Returns every tail and pin position and width on both faces (they sum exactly to the board width), tail and pin lengths, the angle in all four conventions, and warnings. Given measured socket dimensions, also recommends tail widths that fit them. Deterministic: use this instead of computing dovetail geometry yourself.

Input Schema

NameRequiredDescriptionDefault
modeNohand: give pinWidth, the tail width is computed. router: give tailWidth, the pins are spaced evenly.hand
unitNoUnit of every length in the request and in the response.mm
angleYesDovetail angle, read according to angleFormat. It must give a per-side angle from 1° to under 45°.
pinWidthNoRequired in hand mode: pin width at its narrow end (the outside face of the pin board). Edge pins get the same narrow width. Between 0.5 and 5000 mm (0.02 to 196.85 in).
tailWidthNoRequired in router mode: tail width at its wide end. Between 0.5 and 5000 mm (0.02 to 196.85 in).
boardWidthYesWidth of both boards across the joint. Between 0.5 and 5000 mm (0.02 to 196.85 in).
angleFormatNoHow to read angle: degrees per side from vertical (router bits: 7, 8, 14), slope ratio N for 1:N (6 for 1:6), included angle in degrees, or degrees from horizontal.per_side_from_vertical
numberOfTailsYesNumber of tails.
measuredSocketsNoSocket dimensions as actually cut, measured on both sides. When given, the response recommends tail widths that fit them.
pinBoardThicknessYesThickness of the board the pins are cut on. Between 0.5 and 5000 mm (0.02 to 196.85 in).
routerBitDiameterNoRouter mode: dovetail bit diameter, at most the tail width. Default: 8 mm, or the smallest bit that cuts the depth of the tails if larger. Between 0.5 and 5000 mm (0.02 to 196.85 in).
tailBoardThicknessYesThickness of the board the tails are cut on. Between 0.5 and 5000 mm (0.02 to 196.85 in).
guideBushingDiameterNoRouter mode: guide bushing diameter, larger than the bit. Default: the bit diameter plus 7 mm. Between 0.5 and 5000 mm (0.02 to 196.85 in).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so safety is covered. The description adds useful behavioral context: the calculation is deterministic, returns every tail and pin position and width on both faces, includes lengths, angle conventions, and warnings, and can recommend tail widths from measured sockets.

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 description is front-loaded with the core purpose and then efficiently covers mode inputs, outputs, measured-socket recommendations, and determinism. It is dense but appropriate for a 13-parameter domain-specific calculation tool, with only minor repetition of schema details.

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?

Given the tool's complexity, nested measuredSockets object, and lack of an output schema, the description does a good job explaining the return contents and mode-dependent behavior. It does not need to restate schema-level parameter details, and the main remaining gap is that it could be more explicit about validation or error behavior.

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%, so the schema already documents parameters in detail. The description reinforces mode-dependent inputs such as pinWidth in hand mode and tailWidth in router mode, but it does not add substantial parameter meaning beyond the schema.

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?

The description states a specific operation and resource: exact layout of a through dovetail joint, with hand-cut and router-template variants. It clearly explains what is computed versus supplied in each mode, so an agent can identify the tool's function without ambiguity.

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?

It gives clear context for when to use hand mode versus router mode, and explicitly says to use this instead of computing dovetail geometry manually. It does not include exclusions or when-not guidance, but the mode selection guidance is strong and no sibling alternatives exist.

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