From openscad
Open, view, and inspect 3D models (.scad and .stl files) using the openscad-viewer MCP tools. Use when working with OpenSCAD files, STL files, 3D models, or when the user wants to see or inspect a model from different angles.
How this skill is triggered — by the user, by Claude, or both
Slash command
/openscad:model-viewerThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
View and inspect OpenSCAD (.scad) and STL (.stl) 3D models using the `openscad-viewer:` MCP tools.
View and inspect OpenSCAD (.scad) and STL (.stl) 3D models using the openscad-viewer: MCP tools.
$PATH (for .scad files; not needed for .stl)If the MCP server is not already connected, start it manually:
npx openscad-viewer <file.scad|file.stl>
This opens a browser window at http://localhost:8439 showing the 3D model.
The user sees the same view the agent is inspecting.
openscad-viewer:openOpens a .scad or .stl file in the viewer. Use this to load or switch models.
Parameters:
file (required): Absolute or relative path to a .scad or .stl fileReturns:
{
"success": true,
"file": "/absolute/path/to/model.scad",
"fileSize": 2048,
"boundingBox": { "min": [-10, -10, 0], "max": [10, 10, 20] }
}
The bounding box tells you the model's dimensions. Use it to:
openscad-viewer:viewRenders the current model at a specified camera angle and returns a PNG screenshot.
Parameters:
azimuth (optional, default 45): Horizontal angle 0-360 degreeselevation (optional, default 30): Vertical angle -90 to 90 degreesdistance (optional): Distance from model center. Auto-calculated from bounding box if omitted.Returns:
{
"imagePath": "/tmp/openscad-viewer-capture-xxxxx.png",
"camera": { "azimuth": 45, "elevation": 30, "distance": 100 }
}
Read the returned imagePath to see the rendered model.
Side effect: The browser view animates to the requested angle, so the user sees what you are looking at.
| View | Azimuth | Elevation | Use For |
|---|---|---|---|
| Front | 0 | 0 | Width and height |
| Back | 180 | 0 | Rear features |
| Left | 270 | 0 | Left side profile |
| Right | 90 | 0 | Right side profile |
| Top | 0 | 90 | Footprint / layout |
| Bottom | 0 | -90 | Base features |
| Isometric | 45 | 30 | General 3D overview |
| High iso | 45 | 60 | Top-heavy features |
When inspecting or verifying a model:
view { "azimuth": 0, "elevation": 0 }view { "azimuth": 0, "elevation": 90 }view { "azimuth": 45, "elevation": 30 } (default)view { "azimuth": 90, "elevation": 0 }When modifying OpenSCAD code:
view to verify the change from relevant anglesopen after editing a file — the viewer watches for changes automaticallyopen only when switching to a different fileopen helps estimate appropriate camera distancesnpx claudepluginhub fingerskier/claude-plugins --plugin openscadOpens CAD, robot-description, DXF, and G-code files in a viewer and returns review links. Use when visually inspecting .step, .stl, .urdf, .gcode, or similar files.
CAD modeling with build123d Python library. Use when creating 3D models, exporting to GLB/STEP/STL, or doing boolean operations (union, difference, intersection). Triggers on: CAD, 3D modeling, sphere, box, cylinder, mesh export, GLB, STEP, STL, solid modeling, parametric design, threads, fasteners, bolts, nuts, screws, gears, pipes, flanges, bearings, bd_warehouse, spur gear, helical gear, bevel gear, planetary gear, ring gear, cycloid gear, rack and pinion, gggears, herringbone, gear mesh, gear train.
Render GLB 3D models to PNG images for visual verification. Use when you need to SEE your generated 3D model, verify geometry, check visual correctness, or show results to users. Triggers on: render GLB, preview model, visualize 3D, see my model, check geometry, visual verification, screenshot model, model preview.