generate_pet_tag
Creates a 3D-printable pet ID tag with front name, optional phone, selectable shape, and QR/text back, then opens an interactive 3D preview to orbit and zoom.
Instructions
Generate a 3D-printable pet ID tag. Opens Kiln's interactive inline 3D stage on the result (orbit/zoom panel in MCP Apps hosts; hosted sessions add a browser stage link). MAKE DOORS: design_session, Kiln's front door for making an object, is not installed here (signed in to Kiln it runs on Kiln's servers). On this install compile_scad IS the make → preview → iterate loop: make it, show the preview, iterate.
INLINE 3D STAGE: on success this tool opens Kiln's interactive 3D stage — an inline viewer panel the user can orbit, zoom, and turn over — in hosts that render MCP Apps panels (Kiln's hosted connection attaches a browser stage link for hosts that don't). Oversized meshes are decimated automatically for the stage; the PNG preview is the floor, not the whole experience.
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": {
"front_text": "<front_text>"
},
"name": "generate_pet_tag"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| back | No | Back config — ``"plain"``, ``"qr:URL"``, or ``"text:..."``. Default: "plain". | |
| shape | No | Tag shape — ``"circle"``, ``"oval"``, or ``"square"``. Default: "circle". | |
| brief_id | No | Optional saved-goal id from ``design_session``. When supplied, the produced mesh gets a ``design_brief:<id>`` intent sidecar so the audit's "matches what you asked for" gate, the brief failure_history wiring, and the ``compare_design_versions`` intent diff all light up against the saved goal. Omit to skip — REST callers without a goal still get an auto-inferred brief at dispatch time. Default: "". | |
| material | No | Material (default PETG for durability). Default: "PETG". | |
| body_color | No | Body color (default white). Default: "white". | |
| front_text | Yes | Pet name (REQUIRED). | |
| printer_id | No | Optional id of the printer that will print the tag. When its nozzle is on record and is brass, the result carries a warning to swap it for this mouthed part; omitted, or with no nozzle on record, only the material check applies. Default: "". | |
| diameter_mm | No | Tag diameter/width in mm (default 30). Default: 30.0. | |
| front_line2 | No | Optional phone number below name. Default: "". | |
| include_step | No | Also emit a CAD-exact STEP file. The STEP is REAL analytic B-rep built from the same typed parameters as the mesh — true cylinders, planes and elliptical walls a machine shop's CAD opens clean, never a tessellated conversion. On success the response gains a ``step`` block with ``step_path``. QR tags refuse the STEP honestly (a QR tag is a two-solid multicolor assembly) — the mesh outputs are always unaffected. Default: false. | |
| ring_hole_mm | No | Distance from edge to ring hole center (default 8). Default: 8.0. | |
| thickness_mm | No | Thickness in mm (default 3, min 2.5). Default: 3.0. | |
| color_overrides | No | JSON dict mapping role → color name/hex. Overrides body_color for "body" role unless body_color is also set. Default: "". | |
| ring_diameter_mm | No | Ring hole diameter in mm (default 5). Default: 5.0. |