3D MCP Server
Enables AI-driven 3D model generation and manipulation using OpenSCAD through natural language commands. Users can create primitives, apply transformations, perform boolean operations, and export models to various formats like STL and OBJ.
README
3D MCP Server
MCP server for AI-driven 3D model generation using OpenSCAD. Create, combine, transform, and export 3D models through natural language via any MCP-compatible AI client.
Installation
npm install -g @jagjerez-org/3d-mcp-server
Prerequisites
Install OpenSCAD for export and preview rendering:
# Ubuntu/Debian
sudo apt install openscad
# macOS
brew install openscad
# Windows — download from https://openscad.org/downloads.html
Note: OpenSCAD is only required for
exportandpreviewtools. Scene building and SCAD code generation work without it.
Quick Start
With Claude Desktop
Add to your Claude Desktop config (~/.config/claude/claude_desktop_config.json):
{
"mcpServers": {
"3d": {
"command": "3d-mcp-server"
}
}
}
Then ask Claude: "Create a box with a cylindrical hole through the center and export it as STL"
With Cursor
Add to .cursor/mcp.json:
{
"mcpServers": {
"3d": {
"command": "3d-mcp-server"
}
}
}
Tools
Primitives
| Tool | Description |
|---|---|
create_primitive |
Create cube, sphere, cylinder, cone, or torus |
create_text |
Create 3D extruded text |
create_polyhedron |
Create custom mesh from vertices and faces |
custom_scad |
Add raw OpenSCAD code directly |
Transformations
| Tool | Description |
|---|---|
transform |
Translate, rotate, scale, mirror, or color an object |
Boolean Operations
| Tool | Description |
|---|---|
boolean_op |
Union, difference, or intersection of multiple objects |
Extrusions
| Tool | Description |
|---|---|
linear_extrude |
Extrude 2D shape (circle, square, polygon) into 3D |
rotate_extrude |
Create solid of revolution from 2D profile |
Scene Management
| Tool | Description |
|---|---|
status |
Check OpenSCAD installation and scene info |
scene_list |
List all objects in the scene |
scene_clear |
Clear the entire scene |
remove_object |
Remove a specific object |
Output
| Tool | Description |
|---|---|
get_scad |
Get the full OpenSCAD source code |
save_scad |
Save scene as .scad file |
export |
Export to STL, OBJ, 3MF, AMF, OFF, DXF, SVG, CSG |
preview |
Render a PNG preview image |
Examples
Box with hole
AI: "Create a 30x30x10 box with a 5mm radius hole through the center"
→ create_primitive(shape: "cube", width: 30, depth: 30, height: 10)
→ create_primitive(shape: "cylinder", radius: 5, height: 12)
→ boolean_op(operation: "difference", objectIds: ["abc", "def"])
→ export(format: "stl")
Phone stand
AI: "Make a phone stand at 60 degrees"
→ create_primitive(shape: "cube", width: 80, depth: 50, height: 5, name: "base")
→ create_primitive(shape: "cube", width: 80, depth: 5, height: 100, name: "back")
→ transform(objectId: "...", operation: "rotate", x: -60)
→ boolean_op(operation: "union", objectIds: [...])
→ preview()
→ export(format: "stl")
Gear
AI: "Create a simple gear with 12 teeth"
→ custom_scad(code: "...", name: "gear")
→ preview()
Environment Variables
| Variable | Default | Description |
|---|---|---|
OPENSCAD_BIN |
openscad |
Path to OpenSCAD binary |
SCAD_WORK_DIR |
/tmp/3d-mcp-work |
Working directory for files |
How It Works
- Scene graph — Objects are tracked in memory with unique IDs
- OpenSCAD codegen — Each operation generates clean OpenSCAD code
- Boolean CSG — Objects combine via union/difference/intersection
- Export — OpenSCAD CLI renders the final SCAD to STL/PNG/etc.
The AI builds models step by step: create shapes → transform → combine → export.
License
MIT
Recommended Servers
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.
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.
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.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.