simple-3d-modeling-mcp

simple-3d-modeling-mcp

Enables to create, iterate, and export 3D models through natural language conversations with an LLM by bundling OpenSCAD via WebAssembly for zero-setup 3D modeling.

Category
Visit Server

README

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

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)

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured