drio
Open app

OpenSCAD MCP Server

Source

Devin's attempt at creating an OpenSCAD MCP Server that takes a user prompt and generates a preview image and 3d file.

Catalog onlyCatalog onlySTDIO

Overview

OpenSCAD MCP Server is a tool that allows users to describe 3D objects in natural language, generating OpenSCAD code to create parametric 3D models and preview images.

To use the server, clone the repository, set up a virtual environment, install dependencies, and start the server. Users can then interact with the server using various MCP tools to create, modify, export, and print 3D models.

  • Natural Language Processing for design parameter extraction - Integration with OpenSCAD for parametric model generation - Multi-angle preview image generation - Support for exporting models in various formats (CSG, AMF, 3MF, SCAD) - Optional 3D printer discovery and direct printing capabilities
  1. Creating 3D models from natural language descriptions.
  2. Modifying existing 3D models based on user input.
  3. Exporting models in different formats for 3D printing.
  4. Discovering and printing to networked 3D printers.

Add to your AI client

Use these steps to connect OpenSCAD MCP Server in Cursor, Claude, VS Code, and other MCP-compatible apps. The same JSON appears in the Use with menu above for one-click copy.

Cursor

Add this to your .cursor/mcp.json file in your project root, then restart Cursor.

.cursor/mcp.json

{
  "mcpServers": {
    "openscad-mcp-server-jhacksman": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-openscad-mcp-server-jhacksman"
      ]
    }
  }
}

Claude Desktop

Add this server entry to the mcpServers object in your Claude Desktop config, then restart the app.

~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)

{
  "mcpServers": {
    "openscad-mcp-server-jhacksman": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-openscad-mcp-server-jhacksman"
      ]
    }
  }
}

Claude Code

Add this to your project's .mcp.json file. Claude Code will detect it automatically.

.mcp.json (project root)

{
  "mcpServers": {
    "openscad-mcp-server-jhacksman": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-openscad-mcp-server-jhacksman"
      ]
    }
  }
}

VS Code (Copilot)

Add this to your .vscode/mcp.json file. Requires the GitHub Copilot extension with MCP support enabled.

.vscode/mcp.json

{
  "servers": {
    "openscad-mcp-server-jhacksman": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-openscad-mcp-server-jhacksman"
      ]
    }
  }
}

Windsurf

Add this to your Windsurf MCP config file, then restart Windsurf.

~/.codeium/windsurf/mcp_config.json

{
  "mcpServers": {
    "openscad-mcp-server-jhacksman": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-openscad-mcp-server-jhacksman"
      ]
    }
  }
}

Cline

Open Cline settings, navigate to MCP Servers, and add this server configuration.

Cline MCP Settings (via UI)

{
  "mcpServers": {
    "openscad-mcp-server-jhacksman": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-openscad-mcp-server-jhacksman"
      ]
    }
  }
}

FAQ

Can I create any 3D model using natural language?

Yes! The server can interpret a wide range of natural language descriptions to create 3D models.

What formats can I export my models to?

You can export models in CSG, SCAD, AMF, 3MF, DXF, and SVG formats.

Is there a web interface for previewing models?

Yes! The server provides a web interface to view multi-angle previews of your models.7:["$","div",null,{"className":"container mx-auto flex flex-col gap-4","children":["$L26","$L27",["$","$L28",null,{"currentProject":{"id":3682,"uuid":"f5e8f1e5-fa0f-43ca-8e7e-6539647f46a5","name":"OpenSCAD-MCP-Server","title":"OpenSCAD MCP Server","description":"Devin's attempt at creating an OpenSCAD MCP Server that takes a user prompt and generates a preview image and 3d file.","avatar_url":"https://avatars.githubusercontent.com/u/167836839?v=4","created_at":"$D2025-03-21T02:36:50.680Z","updated_at":"$D2025-03-21T02:41:58.278Z","status":"created","author_name":"jhacksman","author_avatar_url":"https://avatars.githubusercontent.com/u/167836839?v=4","tags":"[]","category":"developer-tools","is_featured":false,"sort":1,"url":"https://github.com/jhacksman/OpenSCAD-MCP-Server","target":"_self","content":"$29","summary":"$2a","img_url":null,"type":null,"metadata":"{\"star\":\"0\",\"license\":\"\",\"language\":\"Python\",\"is_official\":false,\"latest_commit_time\":\"2025-03-21 08:51:56\"}","user_uuid":null,"tools":null,"sse_url":null,"sse_provider":null,"sse_params":null,"is_official":false,"server_command":null,"server_params":null,"server_config":null,"allow_call":false,"is_innovation":false,"is_dxt":false,"dxt_manifest":null,"dxt_file_url":null,"is_audit":false},"randomProjects":[],"currentServerKey":"$undefined"}]]}]