OpenSCAD logo

OpenSCAD

Render PNG previews and export STL geometry from SCAD code through MCP.

Install OpenSCAD

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "openscad": {
      "command": "npx",
      "args": [
        "-y",
        "openscad-mcp-server"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Automated check passed— started and listed 2 tools correctly (5d ago).

Overview

OpenSCAD MCP server renders PNG previews and exports STL geometry from OpenSCAD source code. It accepts SCAD text over MCP, with preview controls for image size and camera orientation or position, and returns images or embedded STL resources. Use it for agent-led CAD iteration, visual comparison, and geometry handoff; complex models may render slowly and text rendering is unsupported.

Use cases

  • Render SCAD previews while refining parametric models
  • Compare camera views or parameterized design variants
  • Export STL geometry for downstream fabrication or inspection
  • Validate model proportions before persisting an artifact

Key features

  • Render PNG previews from SCAD source
  • Export STL geometry from SCAD code
  • Select named camera presets
  • Set explicit camera coordinates
  • Run over stdio or streamable HTTP

Tools2

What OpenSCAD lets your agent do. Expand a tool for its parameters.

Verified live~386 tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 1d ago

Recent health check succeeded.

8/8 checks healthy over the last 46d

What it can do

From the 2 tools this server returned when we ran it.

Read-only tools · 2
Network at startup3 connections
Files written at startupNone
Install scriptsprepare
npm provenanceSigned build
Package age255 days
Maintainers1

Observed 2026-10-23 in an isolated sandbox. A description of reach, not a security audit.

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 5d ago via OSV.dev · openscad-mcp-server (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars7Stargazers on the source repository.
npm downloads582Package downloads in the last 30 days.
Last commit1mo agoMost recent push to the default branch.
Availability100%Our rolling endpoint + install checks that succeeded.
Install checkPassedOur sandbox started it and listed its tools.
Tools exposed2Callable tools this server registers over MCP.
Directory activity2 viewsConfig copies, upvotes, and views on AllMCPs.

How OpenSCAD works

What the OpenSCAD MCP server does

The OpenSCAD MCP server turns SCAD source code into two types of output: a PNG preview for visual inspection and an STL file containing generated geometry. It is intended for workflows where an agent writes or changes parametric CAD code, checks the resulting shape, and then exports a selected version for another process.

The server is useful when model changes need visual grounding. An agent can render several parameter variants, compare their proportions, and continue refining the source before producing an STL artifact. The repository also includes an iterative modeling skill that describes a SCAD-to-preview-to-critique workflow.

How it works

MCP clients send SCAD source as a string to the server. For previews, the request can include image width and height, one of seven named camera presets, or an explicit camera position with x, y, and z values. The result is returned as MCP image content.

STL generation uses the same source-code approach but returns an embedded MCP resource. An optional filename can be supplied for the exported geometry. The implementation is based on OpenSCAD WebAssembly, so behavior and performance can differ from a full native OpenSCAD installation.

Setup and configuration

The published npm package is intended to run over stdio. A client can start it with npx -y openscad-mcp-server and register that command as an MCP server. No package installation step is required when using this invocation.

The package can also expose a stateless streamable HTTP MCP endpoint. Start it with the --http flag; MCP_PORT selects the port and defaults to 3000. The HTTP mode provides GET /health for health checks and accepts MCP requests at POST /mcp.

Tools and capabilities

  • render_scad_png accepts scadCode, optional width and height, and optional camera controls. Supported presets are isometric, front, back, left, right, top, and bottom.
  • export_scad_stl accepts scadCode and an optional filename, then returns STL geometry as an embedded resource.
  • PNG output supports visual review of parametric changes before an STL export.
  • The OpenSCAD MCP server can support repeated render-and-refine cycles within an MCP conversation.

Limitations and notes

The project is marked beta, so its APIs, performance, and capabilities may change. Rendering complex models can be slow, particularly in the WebAssembly environment. The WASM implementation does not necessarily support every OpenSCAD feature, and the documented feature limitations may affect generated results.

Text rendering is not currently supported. This matters for models that depend on OpenSCAD text or font-based geometry. The server should therefore be evaluated against the specific language features and model complexity used by a project before relying on it for production exports.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about OpenSCAD

OpenSCAD is an MCP server that connects AI agents to OpenSCAD-compatible SCAD source workflows. Its main tools render PNG previews with optional dimensions and camera settings, and export STL geometry from SCAD code. It supports iterative model review, parameter changes, and downstream geometry handoff through MCP image and embedded-resource outputs.

Run it through npx with `npx -y openscad-mcp-server` and add that command to your MCP client configuration. The published package is designed for stdio use, so a separate global installation is not required for this setup.

Start `npx -y openscad-mcp-server --http` to enable HTTP mode. Set `MCP_PORT` to choose a port, or use the default `3000`; health checks are available at `/health` and MCP requests use `POST /mcp`.

Cursor can use it only if the relevant client setup supports the corresponding MCP transport.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewOpenSCAD AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/openscad?style=directory)](https://allmcps.com/mcp/openscad)
HTML Embed
<a href="https://allmcps.com/mcp/openscad"><img src="https://allmcps.com/api/badge/openscad?style=directory" alt="OpenSCAD on AllMCPs" /></a>