OpenSCAD MCP Server
Devin's attempt at creating an OpenSCAD MCP Server that takes a user prompt and generates a preview image and 3d file.
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
- Creating 3D models from natural language descriptions.
- Modifying existing 3D models based on user input.
- Exporting models in different formats for 3D printing.
- 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"}]]}]