Skip to main content
Glama

πŸ–¨οΈ 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 License MCP Gradio Docker AutoGen GHCR

πŸ‡¬πŸ‡§ English | πŸ‡·πŸ‡Ί Русский


Demo

Generated Examples

2D previews generated before 3D conversion β€” faster iteration, less API cost

Multi-View Generation

Multiple camera angles β†’ higher-quality 3D geometry via Hunyuan3D-2mv


Related MCP server: Kiln

Architecture

System Context (C4 Level 1)

Containers (C4 Level 2)

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


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
# 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


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

A
license - permissive license
-
quality - not tested
A
maintenance

Maintenance

–Maintainers
–Response time
–Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/teslaproduuction/3d-agent-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server