generate_fridge_magnet
Create a printable fridge magnet with a plain, debossed-text, or photo front, a rear magnet pocket, and an inline 3D stage to orbit, zoom, and iterate before printing.
Instructions
Generate a printable fridge magnet with front decoration. 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
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "generate_fridge_magnet"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| back | No | ``"plain"`` or ``"qr:URL"``. A photo or logo is refused here; it goes on ``front``. Default: "plain". | |
| size | No | Size preset — ``"small"``, ``"medium"``, ``"large"``. Any other name is refused. Default: "". | |
| front | No | What goes on the front: empty for a plain face, ``"text:HELLO"`` for debossed text, or the path to a photo or logo to carve. The magnet recess is cut into the same body from behind, so a photo is carved shallower when the body is thin, and refused when it is too thin to carve one that reads (the small size is); a file that is not there is refused. Default: "". | |
| shape | No | ``"rectangle"`` (default) or ``"circle"``. Default: "rectangle". | |
| 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 PLA). Default: "PLA". | |
| width_mm | No | Width in mm (default 50, diameter for circle). Default: 50.0. | |
| height_mm | No | Height in mm (default 50, ignored for circle). Default: 50.0. | |
| body_color | No | Body color (default white). Default: "white". | |
| photo_mask | No | Photo crop shape for a photograph (a logo on a clean field is carved unmasked whatever is passed; a name outside this list is refused) — ``"circle"``, ``"rectangle"``, ``"rounded_rectangle"``. Empty or ``"auto"`` follows ``shape``: ``"circle"`` for a circle magnet, ``"rounded_rectangle"`` for a rectangle. Default: "". | |
| include_step | No | Also write a CAD-exact STEP file built from the same parameters as the mesh; on success the answer gains a ``step`` block with ``step_path``. A photo front or a QR back cannot be exported as STEP and the answer says so; the mesh outputs are unaffected. Default: false. | |
| thickness_mm | No | Total thickness (default 4mm, min 3mm). Default: 4.0. | |
| color_overrides | No | JSON dict mapping role → color name/hex. Overrides body_color for "body" role unless body_color is also set. Default: "". | |
| magnet_depth_mm | No | Magnet pocket depth (default 2mm). Default: 2.0. | |
| magnet_diameter_mm | No | Magnet pocket diameter (default 10mm). Default: 10.0. |