# 3D Visualizer

Renders point clouds, meshes and calibrated depth inside an agent chat or a Python session. Useful when you want to look at a scan instead of reading numbers.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 22
- Author: kleinicke
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/kleinicke/ply-visualizer/tree/HEAD/packages/python
- Updated: 2026-10-20
- HTML: https://affpapa.org/en/nevibecode/mcp/3d-visualizer

## What it does

The server takes PLY, STL and calibrated depth files, hands them to an interactive viewer and can save a frame as an image. It runs two ways: as an MCP server for an agent, and as a Python library you import with `from viz3d import show`. Lists, NumPy arrays and PyTorch tensors of shape (N, 3) all work — GPU tensors and ones attached to autograd included, with no manual `.detach()` or `.numpy()` call.

Python 3.10+ is required. Headless work needs the `headless` extra plus a one-time Chromium install via `playwright install chromium`, then a check with `3d-visualizer doctor --check-headless`. Skip Chromium and the offscreen renderer will not start.

By default `--tools core` exposes eight everyday tools; `--tools full` adds depth conversion, selections, animation, alignment and export. The `--renderer` flag picks how frames are drawn: `auto` uses an advertised MCP Apps host and falls back to offscreen Chromium, `inline` demands a widget or an explicit browser, `headless` suits unattended runs. Arrays travel through a temporary binary PLY written row by row, so very large sets are not a zero-copy path.

## Requirements
- Needs: Python and uv (commands run via uvx)

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add python -- uvx 3d-visualizer
```
uvx runs the command named after the package; if the README names another one, use uvx --from 3d-visualizer <command>

### Codex

**Platform CLI**
```bash
codex mcp add python -- uvx 3d-visualizer
```
uvx runs the command named after the package; if the README names another one, use uvx --from 3d-visualizer <command>

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "python": {
            "command": "uvx",
            "args": [
                "3d-visualizer"
            ]
        }
    }
}
```
uvx runs the command named after the package; if the README names another one, use uvx --from 3d-visualizer <command>

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "python": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "3d-visualizer"
            ]
        }
    }
}
```
uvx runs the command named after the package; if the README names another one, use uvx --from 3d-visualizer <command>

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add python uvx 3d-visualizer
```
uvx runs the command named after the package; if the README names another one, use uvx --from 3d-visualizer <command>

## When to use it
- look at a point cloud from a scan without a separate viewer app
- compare two meshes and save a frame
- preview a PyTorch tensor straight from a training script
- render a preview on a server with no browser window
- convert depth data into another format

## Example prompts
- Open `scan.ply` and tell me how many points it has and its bounding box
- Compare `scan.ply` with `mesh.stl` and save the preview to `preview.png`
- Do a headless render of `scan.ply` and return the image

## Similar
- [Pascal 3D Editor](https://affpapa.org/en/nevibecode/mcp/pascal-3d-editor.md) — MCP server · ★ 25085
- [Unity-MCP](https://affpapa.org/en/nevibecode/mcp/unity-mcp.md) — MCP server · ★ 4523
- [mcp](https://affpapa.org/en/nevibecode/mcp/sceneview-mcp.md) — MCP server · ★ 1348
- [Gearboy MCP Server](https://affpapa.org/en/nevibecode/mcp/gearboy-mcp-server.md) — MCP server · ★ 1219
- [ChiR24-unreal_mcp_server](https://affpapa.org/en/nevibecode/mcp/chir24-unreal-mcp-server.md) — MCP server · ★ 975
- [Nova3D](https://affpapa.org/en/nevibecode/mcp/nova3d.md) — MCP server · ★ 733

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
