MCP Hub
Back to servers

3D MCP Server

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.

glama
Updated
Feb 20, 2026

3D MCP Server

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.

Installation

npm install -g @jagjerez-org/3d-mcp-server

Prerequisites

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 export and preview tools. Scene building and SCAD code generation work without it.

Quick Start

With Claude Desktop

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"

With Cursor

Add to .cursor/mcp.json:

{
  "mcpServers": {
    "3d": {
      "command": "3d-mcp-server"
    }
  }
}

Tools

Primitives

ToolDescription
create_primitiveCreate cube, sphere, cylinder, cone, or torus
create_textCreate 3D extruded text
create_polyhedronCreate custom mesh from vertices and faces
custom_scadAdd raw OpenSCAD code directly

Transformations

ToolDescription
transformTranslate, rotate, scale, mirror, or color an object

Boolean Operations

ToolDescription
boolean_opUnion, difference, or intersection of multiple objects

Extrusions

ToolDescription
linear_extrudeExtrude 2D shape (circle, square, polygon) into 3D
rotate_extrudeCreate solid of revolution from 2D profile

Scene Management

ToolDescription
statusCheck OpenSCAD installation and scene info
scene_listList all objects in the scene
scene_clearClear the entire scene
remove_objectRemove a specific object

Output

ToolDescription
get_scadGet the full OpenSCAD source code
save_scadSave scene as .scad file
exportExport to STL, OBJ, 3MF, AMF, OFF, DXF, SVG, CSG
previewRender a PNG preview image

Examples

Box with hole

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")

Phone stand

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")

Gear

AI: "Create a simple gear with 12 teeth"

→ custom_scad(code: "...", name: "gear")
→ preview()

Environment Variables

VariableDefaultDescription
OPENSCAD_BINopenscadPath to OpenSCAD binary
SCAD_WORK_DIR/tmp/3d-mcp-workWorking directory for files

How It Works

  1. Scene graph — Objects are tracked in memory with unique IDs
  2. OpenSCAD codegen — Each operation generates clean OpenSCAD code
  3. Boolean CSG — Objects combine via union/difference/intersection
  4. Export — OpenSCAD CLI renders the final SCAD to STL/PNG/etc.

The AI builds models step by step: create shapes → transform → combine → export.

License

MIT

Reviews

No reviews yet

Sign in to write a review