3D MCP Server

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.

Category
Visit Server

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 export and preview tools. 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

  1. Scene graph — Objects are tracked in memory with unique IDs
  2. OpenSCAD codegen — Each operation generates clean OpenSCAD code
  3. Boolean CSG — Objects combine via union/difference/intersection
  4. 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

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured