simple-3d-modeling-mcp
Enables to create, iterate, and export 3D models through natural language conversations with an LLM by bundling OpenSCAD via WebAssembly for zero-setup 3D modeling.
README
simple-3d-modeling-mcp
An MCP (Model Context Protocol) server that lets anyone create, iterate on, and export 3D models through natural conversation with an LLM. Works with any MCP-compatible client — Claude, ChatGPT, Codex, and more. Zero setup — the OpenSCAD engine is bundled via WebAssembly. No system install needed.
Features
- Zero-setup —
npm install simple-3d-modeling-mcpand go. OpenSCAD runs via bundled WASM. - Inline previews — rendered PNG images appear directly in the chat
- Turntable animations — 360 degree animated previews (APNG) for first-look at new models
- Multi-view grids — front, right, top, and perspective in a single image
- Live browser viewer — interactive 3D viewer with rotate/zoom/pan, auto-updates on each render
- Print-ready exports — STL, 3MF, AMF, and more formats for 3D printing
- Native OpenSCAD support — optionally install OpenSCAD for faster rendering and library support (BOSL2, MCAD)
Quick Start
This server uses the standard Model Context Protocol over stdio, so it works with any MCP-compatible client. Pick yours below:
Claude Desktop
Easiest: Download simple-3d-modeling.mcpb and double-click to install.
Or manually add to your claude_desktop_config.json:
{
"mcpServers": {
"simple-3d-modeling": {
"command": "npx",
"args": ["-y", "simple-3d-modeling-mcp"]
}
}
}
Claude Code
claude mcp add simple-3d-modeling -- npx -y simple-3d-modeling-mcp
ChatGPT Desktop (macOS)
Go to Settings → MCP Servers → Add Server, then enter:
- Name:
simple-3d-modeling - Command:
npx -y simple-3d-modeling-mcp
OpenAI Codex CLI
codex mcp add simple-3d-modeling -- npx -y simple-3d-modeling-mcp
Other MCP Clients (Cursor, Windsurf, etc.)
Any client that supports MCP over stdio can use this server. The command to run is:
npx -y simple-3d-modeling-mcp
Consult your client's documentation for how to register an MCP server with that command.
That's it. No OpenSCAD install. No PATH configuration.
Tools
| Tool | Description |
|---|---|
render |
Render code to a PNG preview image (also pushes to live viewer) |
render_turntable |
360 degree turntable animation (APNG) |
render_multiview |
Multi-view grid (front, right, top, perspective) |
export |
Export to STL, 3MF, AMF, OFF, DXF, SVG |
validate |
Syntax-check without full render |
open_viewer |
Open interactive 3D viewer in browser |
cheatsheet |
OpenSCAD language quick-reference |
list_libraries |
Discover installed libraries (native OpenSCAD only) |
get_version |
Check engine info (WASM or native) |
read_scad_file |
Read an existing .scad file |
Live Browser Viewer
On first render, an interactive 3D viewer automatically opens in your browser:
- Live updates — model refreshes automatically on every render
- Model history — sidebar shows every version, click to revisit
- Dimensions — bounding box and volume computed from geometry
- Export — download STL directly from the viewer
- Controls — rotate (drag), zoom (scroll), pan (right-drag), wireframe, auto-rotate, grid
Compatibility Notes
| Client | Inline Image Previews | Export / Validate / Viewer |
|---|---|---|
| Claude Desktop | Yes | Yes |
| Claude Code | Yes | Yes |
| ChatGPT Desktop | Yes | Yes |
| OpenAI Codex CLI | Depends on terminal | Yes |
| Cursor / Windsurf | Yes | Yes |
Tip: Even if a client doesn't render inline images, the live browser viewer (
open_viewer) works everywhere — it opens a standalone browser tab with full 3D interaction.
Native OpenSCAD (Optional)
For faster rendering and library support, install OpenSCAD. The server auto-detects it on your PATH and uses it when available.
Environment Variables
| Variable | Description | Default |
|---|---|---|
OPENSCAD_PATH |
Explicit path to native OpenSCAD binary | auto-detected |
OPENSCAD_WORK_DIR |
Directory for temporary render files | OS temp dir |
Example Conversation
You: Make me a phone stand that holds the phone at 60 degrees
LLM: calls render — Here's a phone stand with a 60 degree viewing angle. The base is 80mm wide with a 3mm lip. The interactive 3D viewer is open in your browser too. Want me to adjust anything?
You: Make it thicker and add a cable slot in the back
LLM: modifies code, calls render — Updated! Wall thickness is now 4mm with a 12mm cable slot. Check the viewer to spin it around.
You: Perfect! Export it for my 3D printer
LLM: calls export(format="3mf") — Exported to ~/Desktop/phone-stand.3mf (42 KB). Ready to slice and print!
Development
npm install
npm run build # compile TypeScript
npm test # run tests
npm run dev # watch mode
License
GPL-2.0 (required by the openscad-wasm dependency)
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。
mcp-server-qdrant
这个仓库展示了如何为向量搜索引擎 Qdrant 创建一个 MCP (Managed Control Plane) 服务器的示例。