loading…
Search for a command to run...
loading…
Enables AI-driven 3D model generation and manipulation using OpenSCAD through natural language commands. Users can create primitives, apply transformations, per
Enables AI-driven 3D model generation and manipulation using OpenSCAD through natural language commands. Users can create primitives, apply transformations, perform boolean operations, and export models to various formats like STL and OBJ.
MCP server for AI-driven 3D model generation using OpenSCAD. Create, combine, transform, and export 3D models through natural language via any MCP-compatible AI client.
npm install -g @jagjerez-org/3d-mcp-server
Install OpenSCAD for export and preview rendering:
# Ubuntu/Debian
sudo apt install openscad
# macOS
brew install openscad
# Windows — download from https://openscad.org/downloads.html
Note: OpenSCAD is only required for
exportandpreviewtools. Scene building and SCAD code generation work without it.
Add to your Claude Desktop config (~/.config/claude/claude_desktop_config.json):
{
"mcpServers": {
"3d": {
"command": "3d-mcp-server"
}
}
}
Then ask Claude: "Create a box with a cylindrical hole through the center and export it as STL"
Add to .cursor/mcp.json:
{
"mcpServers": {
"3d": {
"command": "3d-mcp-server"
}
}
}
| Tool | Description |
|---|---|
create_primitive |
Create cube, sphere, cylinder, cone, or torus |
create_text |
Create 3D extruded text |
create_polyhedron |
Create custom mesh from vertices and faces |
custom_scad |
Add raw OpenSCAD code directly |
| Tool | Description |
|---|---|
transform |
Translate, rotate, scale, mirror, or color an object |
| Tool | Description |
|---|---|
boolean_op |
Union, difference, or intersection of multiple objects |
| Tool | Description |
|---|---|
linear_extrude |
Extrude 2D shape (circle, square, polygon) into 3D |
rotate_extrude |
Create solid of revolution from 2D profile |
| Tool | Description |
|---|---|
status |
Check OpenSCAD installation and scene info |
scene_list |
List all objects in the scene |
scene_clear |
Clear the entire scene |
remove_object |
Remove a specific object |
| Tool | Description |
|---|---|
get_scad |
Get the full OpenSCAD source code |
save_scad |
Save scene as .scad file |
export |
Export to STL, OBJ, 3MF, AMF, OFF, DXF, SVG, CSG |
preview |
Render a PNG preview image |
AI: "Create a 30x30x10 box with a 5mm radius hole through the center"
→ create_primitive(shape: "cube", width: 30, depth: 30, height: 10)
→ create_primitive(shape: "cylinder", radius: 5, height: 12)
→ boolean_op(operation: "difference", objectIds: ["abc", "def"])
→ export(format: "stl")
AI: "Make a phone stand at 60 degrees"
→ create_primitive(shape: "cube", width: 80, depth: 50, height: 5, name: "base")
→ create_primitive(shape: "cube", width: 80, depth: 5, height: 100, name: "back")
→ transform(objectId: "...", operation: "rotate", x: -60)
→ boolean_op(operation: "union", objectIds: [...])
→ preview()
→ export(format: "stl")
AI: "Create a simple gear with 12 teeth"
→ custom_scad(code: "...", name: "gear")
→ preview()
| Variable | Default | Description |
|---|---|---|
OPENSCAD_BIN |
openscad |
Path to OpenSCAD binary |
SCAD_WORK_DIR |
/tmp/3d-mcp-work |
Working directory for files |
The AI builds models step by step: create shapes → transform → combine → export.
MIT
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"3d-mcp-server": {
"command": "npx",
"args": []
}
}
}