OpenSCAD MCP Server

A local MCP server that turns OpenSCAD source or explicit primitive dimensions into editable SCAD, STL geometry, and four PNG previews. The connected assistant can write SCAD for complex designs…

Local serverstdio

What is the OpenSCAD MCP Server?

OpenSCAD MCP Server is an MCP project maintained in the jhacksman/openscad-mcp-server repository. The maintainer describes its purpose as “A local MCP server that turns OpenSCAD source or explicit primitive dimensions into editable SCAD, STL geometry, and four PNG previews. The connected assistant can…”. Read the project documentation for the complete scope.

Local setup

The project provides a local client configuration using /absolute/path/to/venv/bin/openscad-mcp. Follow the repository’s build and installation steps before copying it, and replace example paths with the paths on your own computer.

Source

Project documentation · Repository · Discovery listing. This profile records the public documentation checked on 2026-10-08.

Recorded tools

Check the linked publisher documentation and your connected client's tool list. Names and availability can vary with the server version and account permissions.

ToolWhat it does
get_capabilitiesOpenSCAD version and supported primitives with default parameters
create_3d_modelCreate a primitive using model_type and parameters, or a limited description
create_model_from_scadCompile trusted scad_code for a custom 3D model
modify_3d_modelChange primitive parameters or replace a model's scad_code
get_modelRead a saved model and its artifact paths
get_model_sourceRead saved SCAD source and its revision, including inside Docker
get_model_previewReturn a PNG image as MCP image content
export_modelExport scad, stl, csg, or 3mf

How to install the OpenSCAD MCP Server

{
  "mcpServers": {
    "openscad": {
      "command": "/absolute/path/to/venv/bin/openscad-mcp",
      "args": [
        "--output-dir",
        "/absolute/path/to/models"
      ]
    }
  }
}

From the project documentation. Replace placeholders and example paths before connecting.