Skip to main content
Glama
simple-3d-modeling-mcp

simple-3d-modeling-mcp

by mazzanfar

simple-3d-modeling-mcp

npm version npm provenance OpenSSF Scorecard CodeQL License: GPL-2.0

Install with Claude Desktop

An MCP (Model Context Protocol) server that lets anyone create, iterate on, and export 3D models through natural conversation with an LLM. Works with any MCP-compatible client — Claude, ChatGPT, Codex, and more. Zero setup — the OpenSCAD engine is bundled via WebAssembly. No system install needed.

Features

  • Zero-setup — npm install simple-3d-modeling-mcp and go. OpenSCAD runs via bundled WASM.

  • Inline previews — rendered PNG images appear directly in the chat

  • Turntable animations — 360 degree animated previews (APNG) for first-look at new models

  • Multi-view grids — front, right, top, and perspective in a single image

  • Live browser viewer — interactive 3D viewer with rotate/zoom/pan, auto-updates on each render

  • Print-ready exports — STL, 3MF, AMF, and more formats for 3D printing

  • Native OpenSCAD support — optionally install OpenSCAD for faster rendering and library support (BOSL2, MCAD)

Related MCP server: OpenSCAD MCP Server

Quick Start

This server uses the standard Model Context Protocol over stdio, so it works with any MCP-compatible client. Pick yours below:

Claude Desktop

Easiest: Download simple-3d-modeling.mcpb and double-click to install.

Or manually add to your claude_desktop_config.json:

{
  "mcpServers": {
    "simple-3d-modeling": {
      "command": "npx",
      "args": ["-y", "simple-3d-modeling-mcp"]
    }
  }
}

Claude Code

claude mcp add simple-3d-modeling -- npx -y simple-3d-modeling-mcp

ChatGPT Desktop (macOS)

Go to Settings → MCP Servers → Add Server, then enter:

  • Name: simple-3d-modeling

  • Command: npx -y simple-3d-modeling-mcp

OpenAI Codex CLI

codex mcp add simple-3d-modeling -- npx -y simple-3d-modeling-mcp

Other MCP Clients (Cursor, Windsurf, etc.)

Any client that supports MCP over stdio can use this server. The command to run is:

npx -y simple-3d-modeling-mcp

Consult your client's documentation for how to register an MCP server with that command.


That's it. No OpenSCAD install. No PATH configuration.

Tools

Tool

Description

render

Render code to a PNG preview image (also pushes to live viewer)

render_turntable

360 degree turntable animation (APNG)

render_multiview

Multi-view grid (front, right, top, perspective)

export

Export to STL, 3MF, AMF, OFF, DXF, SVG

validate

Syntax-check without full render

open_viewer

Open interactive 3D viewer in browser

cheatsheet

OpenSCAD language quick-reference

list_libraries

Discover installed libraries (native OpenSCAD only)

get_version

Check engine info (WASM or native)

read_scad_file

Read an existing .scad file

Live Browser Viewer

On first render, an interactive 3D viewer automatically opens in your browser:

  • Live updates — model refreshes automatically on every render

  • Model history — sidebar shows every version, click to revisit

  • Dimensions — bounding box and volume computed from geometry

  • Export — download STL directly from the viewer

  • Controls — rotate (drag), zoom (scroll), pan (right-drag), wireframe, auto-rotate, grid

Compatibility Notes

Client

Inline Image Previews

Export / Validate / Viewer

Claude Desktop

Yes

Yes

Claude Code

Yes

Yes

ChatGPT Desktop

Yes

Yes

OpenAI Codex CLI

Depends on terminal

Yes

Cursor / Windsurf

Yes

Yes

Tip: Even if a client doesn't render inline images, the live browser viewer (open_viewer) works everywhere — it opens a standalone browser tab with full 3D interaction.

Native OpenSCAD (Optional)

For faster rendering and library support, install OpenSCAD. The server auto-detects it on your PATH and uses it when available.

Environment Variables

Variable

Description

Default

OPENSCAD_PATH

Explicit path to native OpenSCAD binary

auto-detected

OPENSCAD_WORK_DIR

Directory for temporary render files

OS temp dir

Example Conversation

You: Make me a phone stand that holds the phone at 60 degrees

LLM: calls render — Here's a phone stand with a 60 degree viewing angle. The base is 80mm wide with a 3mm lip. The interactive 3D viewer is open in your browser too. Want me to adjust anything?

You: Make it thicker and add a cable slot in the back

LLM: modifies code, calls render — Updated! Wall thickness is now 4mm with a 12mm cable slot. Check the viewer to spin it around.

You: Perfect! Export it for my 3D printer

LLM: calls export(format="3mf") — Exported to ~/Desktop/phone-stand.3mf (42 KB). Ready to slice and print!

Development

npm install
npm run build        # compile TypeScript
npm test             # run tests
npm run dev          # watch mode

License

GPL-2.0 (required by the openscad-wasm dependency)

Available Tools

10 tools
cheatsheetA

Get an OpenSCAD language cheatsheet with primitives, transformations, and tips.

Inputs: no named parameters.

exportB

Export OpenSCAD code to a 3D file (STL, 3MF, AMF, etc.). Returns the file path.

Inputs: code (required), format, params, filename.

get_versionA

Check the OpenSCAD engine info (WASM or native).

Inputs: no named parameters.

list_librariesA

List installed OpenSCAD libraries. Note: libraries only work with native OpenSCAD, not the bundled WASM engine.

Inputs: no named parameters.

open_viewerA

Open the interactive 3D viewer in the browser. Shows the most recently rendered model with rotate/zoom/pan controls.

Inputs: no named parameters.

read_scad_fileC

Read an OpenSCAD (.scad) file from disk.

Inputs: path (required).

renderA

Render OpenSCAD code to a preview image. Returns the image inline. Also updates the live 3D viewer if open.

Inputs: code (required), view, width, height, +2 more.

render_multiviewB

Render multiple views of the model in a single grid image (front, right, top, perspective).

Inputs: code (required), views, width, height, +1 more.

render_turntableA

Render a 360° turntable animation of the model. Returns an animated image (APNG) inline.

Inputs: code (required), width, frames, height, +1 more.

validateA

Check OpenSCAD code for syntax errors without full rendering. Fast.

Inputs: code (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.7/5.0

    Scored across 10 tools

    Disambiguation4/5

    Most tools are clearly distinct, and the render variants (render, render_turntable, render_multiview) are differentiated by output type. open_viewer and render could be slightly confused, but the descriptions clarify that open_viewer shows an interactive viewer while render produces an image.

    Naming Consistency4/5

    The naming is mostly consistent with imperative verb or verb_noun patterns such as render, validate, list_libraries, and read_scad_file. The lone exception is cheatsheet, which is a noun and breaks the otherwise predictable pattern.

    Tool Count5/5

    Ten tools is a well-scoped size for a simple 3D modeling server. Each tool fills a clear role in the render-validate-export-view workflow without feeling bloated or sparse.

    Completeness4/5

    The core modeling workflow is covered: render, validate, export, open viewer, and read existing SCAD files. Missing write/save functionality for .scad files and file listing are minor gaps, but they don't break the main render-and-export loop.

    Maintenance

    ActivityMaintained
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      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.
      6 npm
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables LLMs to create and manipulate 3D models using OpenSCAD through MCP tools for code-based modeling, preview, and export.
      1
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables conversational creation and editing of STEP CAD models through MCP clients like Codex, Claude, or Cursor, with real-time 3D browser preview and tools for primitives, booleans, mounting holes, flanges, and gripper bases.
      1
      MIT