Exact joinery layouts for agents. Dovetails: tail and pin widths, positions, angles, router template
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
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.
Dovetail angle, read according to angleFormat. It must give a per-side angle from 1° to under 45°.
Width of both boards across the joint. Between 0.5 and 5000 mm (0.02 to 196.85 in).
Number of tails.
Thickness of the board the pins are cut on. Between 0.5 and 5000 mm (0.02 to 196.85 in).
Thickness of the board the tails are cut on. Between 0.5 and 5000 mm (0.02 to 196.85 in).
hand: give pinWidth, the tail width is computed. router: give tailWidth, the pins are spaced evenly.
Unit of every length in the request and in the response.
Required 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).
Required in router mode: tail width at its wide end. Between 0.5 and 5000 mm (0.02 to 196.85 in).
How 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.
Socket dimensions as actually cut, measured on both sides. When given, the response recommends tail widths that fit them.
Router 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).
Router 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).
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.
| Argument | Type | Description |
|---|---|---|
| mode | string | hand: give pinWidth, the tail width is computed. router: give tailWidth, the pins are spaced evenly. |
| unit | string | Unit of every length in the request and in the response. |
| angle* | number | Dovetail angle, read according to angleFormat. It must give a per-side angle from 1° to under 45°. |
| pinWidth | number | Required 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). |
| tailWidth | number | Required in router mode: tail width at its wide end. Between 0.5 and 5000 mm (0.02 to 196.85 in). |
| boardWidth* | number | Width of both boards across the joint. Between 0.5 and 5000 mm (0.02 to 196.85 in). |
| angleFormat | string | How 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. |
| numberOfTails* | integer | Number of tails. |
| measuredSockets | object | Socket dimensions as actually cut, measured on both sides. When given, the response recommends tail widths that fit them. |
| pinBoardThickness* | number | Thickness of the board the pins are cut on. Between 0.5 and 5000 mm (0.02 to 196.85 in). |
| routerBitDiameter | number | Router 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). |
| tailBoardThickness* | number | Thickness of the board the tails are cut on. Between 0.5 and 5000 mm (0.02 to 196.85 in). |
| guideBushingDiameter | number | Router 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). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"boardWidth",
"tailBoardThickness",
"pinBoardThickness",
"numberOfTails",
"angle"
],
"properties": {
"mode": {
"enum": [
"hand",
"router"
],
"type": "string",
"default": "hand",
"description": "hand: give pinWidth, the tail width is computed. router: give tailWidth, the pins are spaced evenly."
},
"unit": {
"enum": [
"mm",
"inch"
],
"type": "string",
"default": "mm",
"description": "Unit of every length in the request and in the response."
},
"angle": {
"type": "number",
"description": "Dovetail angle, read according to angleFormat. It must give a per-side angle from 1° to under 45°.",
"exclusiveMinimum": 0
},
"pinWidth": {
"type": "number",
"description": "Required 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).",
"exclusiveMinimum": 0
},
"tailWidth": {
"type": "number",
"description": "Required in router mode: tail width at its wide end. Between 0.5 and 5000 mm (0.02 to 196.85 in).",
"exclusiveMinimum": 0
},
"boardWidth": {
"type": "number",
"description": "Width of both boards across the joint. Between 0.5 and 5000 mm (0.02 to 196.85 in).",
"exclusiveMinimum": 0
},
"angleFormat": {
"enum": [
"per_side_from_vertical",
"slope_ratio",
"included_angle",
"from_horizontal"
],
"type": "string",
"default": "per_side_from_vertical",
"description": "How 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."
},
"numberOfTails": {
"type": "integer",
"maximum": 30,
"minimum": 1,
"description": "Number of tails."
},
"measuredSockets": {
"type": "object",
"required": [
"left",
"right"
],
"properties": {
"left": {
"type": "object",
"required": [
"tipWidth",
"baseWidth",
"depth"
],
"properties": {
"depth": {
"type": "number",
"description": "Socket depth: for through dovetails, the pin board thickness. Between 0.5 and 5000 mm (0.02 to 196.85 in).",
"exclusiveMinimum": 0
},
"tipWidth": {
"type": "number",
"description": "Socket width on the inside face of the pin board, where the tail enters: the narrow side. Between 0.5 and 5000 mm (0.02 to 196.85 in).",
"exclusiveMinimum": 0
},
"baseWidth": {
"type": "number",
"description": "Socket width on the outside face of the pin board: the wide side. Between 0.5 and 5000 mm (0.02 to 196.85 in).",
"exclusiveMinimum": 0
}
}
},
"right": {
"type": "object",
"required": [
"tipWidth",
"baseWidth",
"depth"
],
"properties": {
"depth": {
"type": "number",
"description": "Socket depth: for through dovetails, the pin board thickness. Between 0.5 and 5000 mm (0.02 to 196.85 in).",
"exclusiveMinimum": 0
},
"tipWidth": {
"type": "number",
"description": "Socket width on the inside face of the pin board, where the tail enters: the narrow side. Between 0.5 and 5000 mm (0.02 to 196.85 in).",
"exclusiveMinimum": 0
},
"baseWidth": {
"type": "number",
"description": "Socket width on the outside face of the pin board: the wide side. Between 0.5 and 5000 mm (0.02 to 196.85 in).",
"exclusiveMinimum": 0
}
}
}
},
"description": "Socket dimensions as actually cut, measured on both sides. When given, the response recommends tail widths that fit them."
},
"pinBoardThickness": {
"type": "number",
"description": "Thickness of the board the pins are cut on. Between 0.5 and 5000 mm (0.02 to 196.85 in).",
"exclusiveMinimum": 0
},
"routerBitDiameter": {
"type": "number",
"description": "Router 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).",
"exclusiveMinimum": 0
},
"tailBoardThickness": {
"type": "number",
"description": "Thickness of the board the tails are cut on. Between 0.5 and 5000 mm (0.02 to 196.85 in).",
"exclusiveMinimum": 0
},
"guideBushingDiameter": {
"type": "number",
"description": "Router 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).",
"exclusiveMinimum": 0
}
}
}