build_organic_mesh
Create a freeform organic 3D mesh from a blended primitive recipe and open an interactive preview for orbiting, zooming, and iterating on the design.
Instructions
Build a freeform/organic mesh from a smooth-blended primitive recipe. 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": {
"recipe": "<recipe>"
},
"name": "build_organic_mesh"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| parts | No | When True, emit one solid per primitive ``"group"`` + run the fit check + return an assembled preview. Default: false. | |
| recipe | Yes | The recipe as a JSON object: ``name``, ``resolution`` (grid cells across the longest axis, 40-280), optional ``smooth_mm`` / ``mirror`` / ``shell_mm``, and ``primitives``, a list of ``{"type": ..., ...}`` entries (sphere, ellipsoid, capsule, tapered_capsule, torus, arc, rounded_box, ring_stack) with the per-type fields and per-primitive options the tool description lays out. | |
| brief_id | No | The saved goal's id from ``design_session``, so this make is recorded against the goal and checked against it. Empty when there is no goal. Default: "". | |
| output_dir | No | Optional directory for the per-part STLs when ``parts=True``. Omitted, the set lands in ``<system temp>/kiln_organic/<recipe name>/`` — for the same reason ``output_path`` has a guessable default: a part set is the slowest build here and the likeliest to outrun the call. Either way the directory holds one ``<group>.stl`` per part plus ``_assembled.stl``, the assembled preview, which is kept beside its own parts rather than orphaned in a temp file. Default: "". | |
| output_path | No | Optional STL output path for the single-mesh mode. Omitted, the mesh lands at ``<system temp>/kiln_organic/<recipe name>.stl`` (an anonymous temp file when the recipe names nothing usable); the same name overwrites, which is what iterating on one subject should do. Default: "". | |
| reference_images | No | Path (or list of paths) to the image(s) the user is asking you to reproduce. Pass on every iteration, not just the first. |