get_joint_recommendation
Returns clearance recommendations for a joint type and material pairing, optionally narrowing the range using a printer identifier and calibration data.
Instructions
Get recommended clearance settings for a joint type and material pairing.
Returns clearance recommendations based on the joint type
and the materials of the two mating parts. When
``printer_id`` is supplied AND kiln-pro is installed, the
response narrows the clearance range by the user's
calibration tier (HIGH halves it, MEDIUM shaves ~10%, LOW
and UNKNOWN leave it unchanged) and attaches a
``calibration_used`` block documenting the source.
Args:
joint_type: Type of joint (e.g. ``"clearance_fit"``,
``"press_fit"``, ``"snap_fit"``).
material_a: Material of the first part (default ``"PLA"``).
material_b: Material of the second part (default ``"PLA"``).
printer_id: Optional printer identifier (e.g.
``"bambu_a1"``). For a joint whose parts MOVE, omitting
it resolves the user's active printer rather than
answering generically — pass it only to ask about a
machine that is not the one they are set up on. For
every other joint type, omitting it keeps the historic
flat-range behaviour.
mating: Optional shape hint for joints whose parts MOVE
against each other (``"clearance_fit"``, ``"loose"``):
``"pin_in_bore"`` for a shaft or pin turning in a hole,
``"slot"`` for a tongue sliding in a groove,
``"planar_face"`` for two flat faces sliding, or
``"gear_flank"`` for meshing teeth. Omitted, the
round-joint case is assumed, the reading that errs loose
rather than tight. Ignored for joints that do not move.
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": {
"joint_type": "<joint_type>"
},
"name": "get_joint_recommendation"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| mating | No | Optional shape hint for joints whose parts MOVE against each other (``"clearance_fit"``, ``"loose"``): ``"pin_in_bore"`` for a shaft or pin turning in a hole, ``"slot"`` for a tongue sliding in a groove, ``"planar_face"`` for two flat faces sliding, or ``"gear_flank"`` for meshing teeth. Omitted, the round-joint case is assumed, the reading that errs loose rather than tight. Ignored for joints that do not move. | |
| joint_type | Yes | Type of joint (e.g. ``"clearance_fit"``, ``"press_fit"``, ``"snap_fit"``). | |
| material_a | No | Material of the first part (default ``"PLA"``). Default: "PLA". | |
| material_b | No | Material of the second part (default ``"PLA"``). Default: "PLA". | |
| printer_id | No | Optional printer identifier (e.g. ``"bambu_a1"``). For a joint whose parts MOVE, omitting it resolves the user's active printer rather than answering generically — pass it only to ask about a machine that is not the one they are set up on. For every other joint type, omitting it keeps the historic flat-range behaviour. |