Featured

Deploy OpenClaw in 60 seconds — 20% off logoDeploy OpenClaw in 60 seconds — 20% off

Launch OpenClaw on Hostinger in about 60 seconds and keep your agent live 24/7. Our referral link gives you 20% off, no coupon code needed.

Launch on Hostinger
Run your Hermes agent on Hostinger, fully managed logoRun your Hermes agent on Hostinger, fully managed

Launch Hermes on Hostinger in one click, fully managed, no VPS knowledge needed. Use code ZACAARON10 for 10% off.

Launch on Hostinger
Crawl and scrape any site into clean data, 10% off logoCrawl and scrape any site into clean data, 10% off

Firecrawl crawls and scrapes any site into clean markdown for your agent. Get 1,000 free credits, and new users get 10% off their first purchase.

Try Firecrawl free
Your own AI agent, running 24/7 with QwikClaw logoYour own AI agent, running 24/7 with QwikClaw

QwikClaw sets up and runs an always-on OpenClaw agent for you. One click, no config files, no server setup.

Deploy now
One API to scrape, enrich, and extract the internet. logoOne API to scrape, enrich, and extract the internet.

Context.dev gives your agents a single API to scrape, enrich, and extract live web data — no proxies, no parsers, no maintenance.

Start building free
SetupClaw: done-for-you OpenClaw for founders & exec teams logoSetupClaw: done-for-you OpenClaw for founders & exec teams

White-glove OpenClaw for founders and exec teams (4–50+ employees): we install, harden, integrate your tools, and maintain it — secured from day one.

Get it set up for you
SEO data APIs for your agent, $1 free credit logoSEO data APIs for your agent, $1 free credit

DataForSEO gives your agent live access to SERP results, keyword data, backlinks, and on-page SEO data through one API. New accounts get a $1 credit, good for up to 20,000 keyword or backlink lookups.

Try DataForSEO free
Reach 47,000+ AI builders

A flat monthly placement in front of developers actively installing AI tools. No lock-in, cancel anytime.

Advertise here

Works with

Claude CodeClaude DesktopCursorVS CodeClineCodex CLIOpenClaw+ any MCP client

Install to Claude Code

This server doesn't publish a one-line install command. Follow the setup in the source repository.

Summary

MCP server for generating print-ready 3D models from text descriptions via a multi-agent pipeline, enabling AI assistants to create and optimize STL files.

README.md

<div align="center">

🖨️ 3D Agent MCP

Text → 2D Preview → 3D Model → Print-Ready STL

AI-powered multi-agent pipeline for generating 3D printable models from text descriptions, with MCP server for seamless AI assistant integration.

![Python](https://python.org) ![License](LICENSE) ![MCP](https://modelcontextprotocol.io) ![Gradio](https://gradio.app) ![Docker](https://docker.com) ![AutoGen](https://github.com/microsoft/autogen) ![GHCR](https://github.com/teslaproduuction/3d-agent-mcp/pkgs/container/3d-agent-mcp)

🇬🇧 English | 🇷🇺 Русский

<img src="docs/images/v2_text_to_3d_pipeline.png" alt="Pipeline" width="90%"/>

</div>

---

Demo

<video src="https://github.com/teslaproduuction/3d-agent-mcp/raw/main/docs/demo.mp4" controls width="100%"></video>

Generated Examples

<table> <tr> <td><img src="docs/PR/data/images/preview_preview_022218a9.png" width="200"/></td> <td><img src="docs/PR/data/images/preview_preview_02a7f736.png" width="200"/></td> <td><img src="docs/PR/data/images/preview_preview_037a6c8e.png" width="200"/></td> <td><img src="docs/PR/data/images/preview_preview_06079652.png" width="200"/></td> </tr> <tr> <td><img src="docs/PR/data/images/preview_preview_066fe8d4.png" width="200"/></td> <td><img src="docs/PR/data/images/preview_preview_08134311.png" width="200"/></td> <td><img src="docs/PR/data/images/mv_back-right_0a51fab9.png" width="200"/></td> <td><img src="docs/PR/data/images/mv_left.png" width="200"/></td> </tr> </table>

2D previews generated before 3D conversion — faster iteration, less API cost

Multi-View Generation

<table> <tr> <td><img src="docs/PR/data/images/preview_zero123_right_bf464842.png" width="150"/></td> <td><img src="docs/PR/data/images/preview_zero123_right_bf93635c.png" width="150"/></td> <td><img src="docs/PR/data/images/preview_zero123_right_c023b3c2.png" width="150"/></td> <td><img src="docs/PR/data/images/preview_zero123_right_c46b046f.png" width="150"/></td> <td><img src="docs/PR/data/images/preview_zero123_right_d243190d.png" width="150"/></td> </tr> </table>

Multiple camera angles → higher-quality 3D geometry via Hunyuan3D-2mv

---

Architecture

System Context (C4 Level 1)

<img src="docs/images/c4_l1_context.png" alt="C4 Context" width="80%"/>

Containers (C4 Level 2)

<img src="docs/images/c4_l2_containers.png" alt="C4 Containers" width="80%"/>

Agent Pipeline

User Prompt
    │
    ▼
┌─────────────────────┐
│    Planner Agent    │  ← Decomposes prompt into objects
└─────────┬───────────┘
          │
          ▼
┌─────────────────────┐
│  Image Gen Agent    │  ← DALL-E 3 / FLUX / Qwen (2D preview)
└─────────┬───────────┘
          │
    [User confirms preview]
          │
          ▼
┌─────────────────────┐
│  Generation Agent   │  ← Tripo3D API / Hunyuan3D (local)
└─────────┬───────────┘
          │
          ▼
┌─────────────────────────────────────┐
│  Intelligent PostProcessing Agent   │
│  ├── Overhang analysis (24 angles)  │
│  ├── Support strategy decision      │
│  └── Optimal orientation on bed     │
└─────────┬───────────────────────────┘
          │
          ▼
    Print-Ready STL

Technical Stack

<img src="docs/images/v2_tech_stack.png" alt="Tech Stack" width="80%"/>

---

Features

| Feature | Description | |---|---| | Text-to-3D | Generate 3D model from any text description | | 2D Preview gate | Create image preview before expensive 3D API call | | Intelligent post-processing | AI agent analyzes geometry, decides supports and orientation | | Multi-view generation | Multiple camera angles → better 3D quality | | Multi-object scenes | Plan and generate complex scenes with multiple objects | | MCP integration | Use from Claude Desktop, Cursor, and any MCP client | | Local models | Hunyuan3D-2, TripoSR, FLUX — no API costs, runs on-premise | | Docker stack | Full local stack with GPU support |

Intelligent Post-Processing Output

desk_organizer analysis:

✅ Printable without supports in recommended orientation.

Complexity: EASY

AI Analysis:
  - Geometry complexity: MEDIUM
  - Max overhang angle: 38.5°
  - Bed contact area: 1 250 mm²
  - No internal cavities detected
  - Recommended: rotate 180° around X axis

---

Quick Start

Option 0 — Docker image (fastest)

docker pull ghcr.io/teslaproduuction/3d-agent-mcp:latest

cp .env.example .env
# Fill in API keys

docker-compose up -d
# → http://localhost:7860

Option 1 — UV (recommended, 10–100× faster than pip)

# Install UV
winget install --id=astral-sh.uv -e        # Windows
curl -LsSf https://astral.sh/uv/install.sh | sh  # Linux/macOS

# Clone and setup
git clone https://github.com/teslaproduuction/3d-agent-mcp.git
cd 3d-agent-mcp
uv venv --python 3.10
uv sync --all-extras

# Configure
cp .env.example .env
# Edit .env with your API keys

# Run
uv run python ui/gradio_app.py
# → http://localhost:7860

Option 2 — Docker (full stack with local models)

cp .env.example .env
# Edit .env

docker-compose up -d --build
# → http://localhost

Option 3 — pip

python -m venv .venv
source .venv/bin/activate      # Linux/macOS
.venv\Scripts\activate         # Windows

pip install -r requirements.txt
cp .env.example .env
python ui/gradio_app.py        # → http://localhost:7860

---

MCP Integration

Works with Claude Desktop, Cursor, Windsurf, and any MCP-compatible client.

Claude Desktop config (claude_desktop_config.json)

{
  "mcpServers": {
    "3d-agent": {
      "command": "python",
      "args": ["/path/to/3d-agent-mcp/mcp_server/server.py"],
      "env": {
        "TRIPO_API_KEY": "your_key",
        "OPENAI_API_KEY": "your_key"
      }
    }
  }
}

Usage in Claude

User: Generate a phone stand for 3D printing

Claude: [calls generate_3d_model tool]
✅ Model generated and optimized for printing!
   - File: outputs/models/phone_stand_optimized.stl
   - Supports: none required
   - Orientation: base-down
   - Print time: ~2h 15min

Available MCP tools: generate_3d_model · generate_2d_preview · analyze_printability · plan_scene

→ See mcp_server/README.md for full API docs.

---

API Keys

| Key | Purpose | Required | |---|---|---| | OPENAI_API_KEY | DALL-E 3 image gen + GPT for agents | For cloud mode | | TRIPO_API_KEY | 3D generation (Tripo3D cloud) | For cloud mode | | ANTHROPIC_API_KEY | Claude models as agent LLM | Optional | | REPLICATE_API_TOKEN | SDXL / Flux image generation | Optional |

No cloud keys needed for local mode — run Hunyuan3D + FLUX via Docker stack.

---

Configuration

config.yaml controls all behavior:

default_settings:
  # Image generation
  image_generation:
    provider: "local"     # local | dalle3 | sdxl | flux

  # 3D generation
  generation:
    api_provider: "local" # local | tripo | meshy
    face_limit: 10000

  # Post-processing
  postprocessing:
    mode: "intelligent"   # AI decides automatically
    auto_orient: true
    max_overhang_angle: 45.0

  # Printer profile
  printer:
    build_volume: [220, 220, 250]  # mm — Ender 3 / Bambu A1
    nozzle_diameter: 0.4
    material: "PLA"

# LLM backend
llm:
  default_provider: "ollama"   # ollama | openai | anthropic
  local:
    ollama_models: ["qwen2.5:32b", "qwen2.5:7b"]

---

Project Structure

3d-agent-mcp/
├── agents/                              # AI agents
│   ├── coordinator.py                   # Pipeline orchestrator
│   ├── planner_agent.py                 # Scene decomposition
│   ├── image_generation_agent.py        # 2D preview
│   ├── generation_agent.py              # 3D API calls
│   └── intelligent_postprocessing_agent.py
│
├── api_clients/                         # API wrappers
│   ├── llm_client.py                    # OpenAI / Anthropic / Ollama
│   ├── image_api_client.py              # DALL-E / SDXL / FLUX
│   └── tripo_client.py                  # Tripo3D
│
├── mcp_server/                          # MCP server
│   ├── server.py                        # Tool definitions
│   └── README.md                        # MCP API docs
│
├── ui/                                  # Gradio web UI
│   ├── gradio_app.py                    # Main app
│   └── tabs/, handlers/, components/
│
├── postprocessing/                      # Geometry analysis
├── docker/                              # Local model containers
│   ├── hunyuan3d/                       # Hunyuan3D-2 (local 3D)
│   ├── flux/                            # FLUX.1 (local image gen)
│   ├── comfyui/                         # ComfyUI
│   └── nginx/                           # Reverse proxy
│
├── tests/
├── config.yaml                          # Main config
├── .env.example                         # API key template
├── docker-compose.yml                   # Full Docker stack
└── pyproject.toml

---

Diagrams

| Diagram | File | |---|---| | Component | docs/PR/diagrams/01_component.png | | Sequence | docs/PR/diagrams/02_sequence.png | | Activity | docs/PR/diagrams/03_activity_gci.png | | Deployment | docs/PR/diagrams/04_deployment.png | | Classes | docs/PR/diagrams/05_classes.png |

---

Development

# Run tests
pytest tests/

# Format
black .

# Lint
flake8 .

# Type check
mypy .

---

Roadmap

  • [ ] Meshy API integration
  • [ ] PySLM — physics-based support generation
  • [ ] G-code preview before printing
  • [ ] Printer preset library (Ender 3, Bambu, Prusa)
  • [ ] Export to OBJ, FBX, GLTF
  • [ ] REST API mode (no Gradio dependency)

---

Contributing

  1. Fork the repo
  2. Create a feature branch: git checkout -b feature/my-feature
  3. Commit changes: git commit -m "feat: add my feature"
  4. Push: git push origin feature/my-feature
  5. Open a Pull Request

---

License

MIT © 2026 — see LICENSE

See related servers & alternatives →

Related MCP servers

Browse all →

Related guides

Hand-picked reading to help you choose and use Files & Docs servers.