Prototipo · Versión preliminar: todos los servidores del registro oficial, sincronizados cada 30 minutos. Inicia sesión con Google para escribir reseñas.Prototipo · se actualiza cada 30 min
PopNx MCPServidores MCP para quienes usan IA · en palabras sencillas

3D Visualizer

de kleinickeversión 0.4.2i★ 23 (Estrellas de todo el repositorio)iSe ejecuta en tu computadora
Nombre en el registroio.github.kleinicke/3d-visualizer

Cómo instalar

What it does

Inspect, compare and export point clouds, meshes and calibrated depth data with inline 3D previews.

  • Connects Se ejecuta en tu computadora
  • Account or key No key needed
  • Category Diseño, imágenes y audio

Instalación

Elige la app de IA que usas y copia la configuración.

Pasó 3/3 revisiones · Funciona en tu computadora · ✓ Comandos revisados el 14 nov 2026

Primero: ¿qué IA usas?

Elige tu app y los pasos aparecen abajo.

Funciona con Claude, pero hay que preparar algo antes

Instala Python (uv) en tu computadora primero (una sola vez) · Solo en la app de Claude para computadora (Windows o Mac), no en la web ni en el móvil

Que la IA lo instale

Copia este mensaje en un chat de Claude. La IA revisa tu equipo, te dice qué archivo va a cambiar y espera tu visto bueno cada vez.

Instala el MCP server 3D Visualizer para Claude en este equipo, en este orden: 1) Comprueba uv con uv --version. Si falta, dime que lo instale desde https://docs.astral.sh/uv/getting-started/installation/; no lo instales tú. 2) Usa solo esta configuración (ya revisada por PopNx MCP): { "mcpServers": { "3d-visualizer": { "command": "uvx", "args": [ "3d-visualizer", "mcp", "--root", "your-value" ] } } } 3) Dime la ruta completa del archivo que vas a cambiar o el comando que vas a ejecutar y espera mi visto bueno. 4) No hace falta clave. 5) Haz lo acordado y comprueba que las herramientas de 3D Visualizer aparecen de verdad.

Este mensaje no lleva tu clave. Si hace falta una, la IA te pedirá que la pegues tú en el archivo o en el campo de la app.

  1. Instala uv (si no lo tienes)

    ¿Ya está instalado? Compruébalo primero · Abre la Terminal, escribe este comando y pulsa Enter

    uv --version
    • Aparece un número de versión, p. ej. uv … = ya está instalado, sáltate este paso
    • Aparece "command not found" (en Windows, "is not recognized") = aún no está instalado, o acabas de instalarlo y debes cerrar y volver a abrir la Terminal
    Cómo abrir la Terminal

    Mac: pulsa ⌘ + Espacio, escribe Terminal y pulsa Enter

    Windows: abre Inicio, escribe Windows PowerShell y elige Abrir

    Si no está instalado: uv no tiene instalador de clics. Copia el comando de una línea para tu sistema (macOS o Windows) desde la página oficial de uv y pégalo en la Terminal · no hace falta instalar Python aparte; uv lo descarga cuando lo necesita

    Abrir la página de descarga de uv ↗

    Al terminar, cierra la Terminal, ábrela de nuevo y ejecuta el mismo comando. Debe aparecer un número de versión: uv --version

    Se instala una vez y sirve para todo lo que usa uv

  2. Abre el archivo de configuración de la app de Claude de escritorio

    SettingsDeveloperEdit Config

  3. Pega esta configuración y guarda el archivo

    {
      "mcpServers": {
        "3d-visualizer": {
          "command": "uvx",
          "args": [
            "3d-visualizer",
            "mcp",
            "--root",
            "your-value"
          ]
        }
      }
    }
  4. Cierra Claude y vuelve a abrirlo

  5. Pruébalo

    Usa 3D Visualizer y dime qué puedes hacer por mí; luego muéstrame una cosa

    ✓ Si Claude dice que está usando 3D Visualizer o muestra una herramienta de 3D Visualizer en la respuesta, ya está conectado

Nombres de menú comprobados con la ayuda de Anthropic el 11 nov 2026 · tu pantalla puede variar un poco según la versión

ChatGPT todavía no puede conectar 3D Visualizer

3D Visualizer se instala en tu computadora, pero ChatGPT solo conecta servidores que funcionan en la web

Lo que puedes hacer en su lugar

A · Usa una app que pueda conectar 3D Visualizer

  • Instala Python (uv) en tu computadora primero (una sola vez) · Solo en la app de Claude para computadora (Windows o Mac), no en la web ni en el móvil
  • Instala Python (uv) en tu computadora primero (una sola vez)
  • Instala Python (uv) en tu computadora primero (una sola vez) · No hay botón de un clic: pega la configuración y completa los valores tú
  • Instala Python (uv) en tu computadora primero (una sola vez) · No hay botón de un clic: pega la configuración y completa los valores tú

B · Otros en Diseño, imágenes y audio que funcionan con ChatGPT

Elegidos entre los más usados de la misma categoría, solo los que se conectan con una dirección y sin clave

Funciona con Claude Code, pero hay que preparar algo antes

Instala Python (uv) en tu computadora primero (una sola vez)

Que la IA lo instale

Copia este mensaje en un chat de Claude Code. La IA revisa tu equipo, te dice qué archivo va a cambiar y espera tu visto bueno cada vez.

Instala el MCP server 3D Visualizer para Claude Code en este equipo, en este orden: 1) Comprueba uv con uv --version. Si falta, dime que lo instale desde https://docs.astral.sh/uv/getting-started/installation/; no lo instales tú. 2) Usa solo esta configuración (ya revisada por PopNx MCP): claude mcp add --scope user 3d-visualizer -- uvx 3d-visualizer mcp --root your-value 3) Dime la ruta completa del archivo que vas a cambiar o el comando que vas a ejecutar y espera mi visto bueno. 4) No hace falta clave. 5) Haz lo acordado y comprueba que las herramientas de 3D Visualizer aparecen de verdad.

Este mensaje no lleva tu clave. Si hace falta una, la IA te pedirá que la pegues tú en el archivo o en el campo de la app.

  1. Instala uv (si no lo tienes)

    ¿Ya está instalado? Compruébalo primero · Abre la Terminal, escribe este comando y pulsa Enter

    uv --version
    • Aparece un número de versión, p. ej. uv … = ya está instalado, sáltate este paso
    • Aparece "command not found" (en Windows, "is not recognized") = aún no está instalado, o acabas de instalarlo y debes cerrar y volver a abrir la Terminal
    Cómo abrir la Terminal

    Mac: pulsa ⌘ + Espacio, escribe Terminal y pulsa Enter

    Windows: abre Inicio, escribe Windows PowerShell y elige Abrir

    Si no está instalado: uv no tiene instalador de clics. Copia el comando de una línea para tu sistema (macOS o Windows) desde la página oficial de uv y pégalo en la Terminal · no hace falta instalar Python aparte; uv lo descarga cuando lo necesita

    Abrir la página de descarga de uv ↗

    Al terminar, cierra la Terminal, ábrela de nuevo y ejecuta el mismo comando. Debe aparecer un número de versión: uv --version

    Se instala una vez y sirve para todo lo que usa uv

  2. Abre la Terminal

    Mac: pulsa Command+Espacio y escribe Terminal · Windows: abre PowerShell

  3. Pega este comando y pulsa Enter

    claude mcp add --scope user 3d-visualizer -- uvx 3d-visualizer mcp --root your-value
  4. Escribe /mcp en Claude Code

    Deberías ver 3D Visualizer en la lista como conectado

  5. Pruébalo

    Usa 3D Visualizer y dime qué puedes hacer por mí; luego muéstrame una cosa

    ✓ Si Claude Code dice que está usando 3D Visualizer o muestra una herramienta de 3D Visualizer en la respuesta, ya está conectado

Nombres de menú comprobados con la ayuda de Anthropic el 11 nov 2026 · tu pantalla puede variar un poco según la versión

Funciona con Cursor, pero hay que preparar algo antes

Instala Python (uv) en tu computadora primero (una sola vez) · No hay botón de un clic: pega la configuración y completa los valores tú

Que la IA lo instale

Copia este mensaje en un chat de Cursor. La IA revisa tu equipo, te dice qué archivo va a cambiar y espera tu visto bueno cada vez.

Instala el MCP server 3D Visualizer para Cursor en este equipo, en este orden: 1) Comprueba uv con uv --version. Si falta, dime que lo instale desde https://docs.astral.sh/uv/getting-started/installation/; no lo instales tú. 2) Usa solo esta configuración (ya revisada por PopNx MCP): { "mcpServers": { "3d-visualizer": { "command": "uvx", "args": [ "3d-visualizer", "mcp", "--root", "your-value" ] } } } 3) Dime la ruta completa del archivo que vas a cambiar o el comando que vas a ejecutar y espera mi visto bueno. 4) No hace falta clave. 5) Haz lo acordado y comprueba que las herramientas de 3D Visualizer aparecen de verdad.

Este mensaje no lleva tu clave. Si hace falta una, la IA te pedirá que la pegues tú en el archivo o en el campo de la app.

  1. Instala uv (si no lo tienes)

    ¿Ya está instalado? Compruébalo primero · Abre la Terminal, escribe este comando y pulsa Enter

    uv --version
    • Aparece un número de versión, p. ej. uv … = ya está instalado, sáltate este paso
    • Aparece "command not found" (en Windows, "is not recognized") = aún no está instalado, o acabas de instalarlo y debes cerrar y volver a abrir la Terminal
    Cómo abrir la Terminal

    Mac: pulsa ⌘ + Espacio, escribe Terminal y pulsa Enter

    Windows: abre Inicio, escribe Windows PowerShell y elige Abrir

    Si no está instalado: uv no tiene instalador de clics. Copia el comando de una línea para tu sistema (macOS o Windows) desde la página oficial de uv y pégalo en la Terminal · no hace falta instalar Python aparte; uv lo descarga cuando lo necesita

    Abrir la página de descarga de uv ↗

    Al terminar, cierra la Terminal, ábrela de nuevo y ejecuta el mismo comando. Debe aparecer un número de versión: uv --version

    Se instala una vez y sirve para todo lo que usa uv

  2. Abre el archivo de configuración MCP de Cursor

    ~/.cursor/mcp.json

    Pega esta configuración, completa los valores vacíos y guarda

    {
      "mcpServers": {
        "3d-visualizer": {
          "command": "uvx",
          "args": [
            "3d-visualizer",
            "mcp",
            "--root",
            "your-value"
          ]
        }
      }
    }
  3. Abre el chat de IA de Cursor en modo Agent

  4. Pruébalo

    Usa 3D Visualizer y dime qué puedes hacer por mí; luego muéstrame una cosa

    ✓ Si Cursor dice que está usando 3D Visualizer o muestra una herramienta de 3D Visualizer en la respuesta, ya está conectado

Nombres de menú comprobados con la ayuda de Cursor el 11 nov 2026 · tu pantalla puede variar un poco según la versión

Funciona con VS Code, pero hay que preparar algo antes

Instala Python (uv) en tu computadora primero (una sola vez) · No hay botón de un clic: pega la configuración y completa los valores tú

Que la IA lo instale

Copia este mensaje en un chat de VS Code. La IA revisa tu equipo, te dice qué archivo va a cambiar y espera tu visto bueno cada vez.

Instala el MCP server 3D Visualizer para VS Code en este equipo, en este orden: 1) Comprueba uv con uv --version. Si falta, dime que lo instale desde https://docs.astral.sh/uv/getting-started/installation/; no lo instales tú. 2) Usa solo esta configuración (ya revisada por PopNx MCP): { "servers": { "3d-visualizer": { "type": "stdio", "command": "uvx", "args": [ "3d-visualizer", "mcp", "--root", "your-value" ] } } } 3) Dime la ruta completa del archivo que vas a cambiar o el comando que vas a ejecutar y espera mi visto bueno. 4) No hace falta clave. 5) Haz lo acordado y comprueba que las herramientas de 3D Visualizer aparecen de verdad.

Este mensaje no lleva tu clave. Si hace falta una, la IA te pedirá que la pegues tú en el archivo o en el campo de la app.

  1. Instala uv (si no lo tienes)

    ¿Ya está instalado? Compruébalo primero · Abre la Terminal, escribe este comando y pulsa Enter

    uv --version
    • Aparece un número de versión, p. ej. uv … = ya está instalado, sáltate este paso
    • Aparece "command not found" (en Windows, "is not recognized") = aún no está instalado, o acabas de instalarlo y debes cerrar y volver a abrir la Terminal
    Cómo abrir la Terminal

    Mac: pulsa ⌘ + Espacio, escribe Terminal y pulsa Enter

    Windows: abre Inicio, escribe Windows PowerShell y elige Abrir

    Si no está instalado: uv no tiene instalador de clics. Copia el comando de una línea para tu sistema (macOS o Windows) desde la página oficial de uv y pégalo en la Terminal · no hace falta instalar Python aparte; uv lo descarga cuando lo necesita

    Abrir la página de descarga de uv ↗

    Al terminar, cierra la Terminal, ábrela de nuevo y ejecuta el mismo comando. Debe aparecer un número de versión: uv --version

    Se instala una vez y sirve para todo lo que usa uv

  2. Abre el archivo de configuración MCP de VS Code

    MCP: Open User Configuration

    Pega esta configuración, completa los valores vacíos y guarda

    {
      "servers": {
        "3d-visualizer": {
          "type": "stdio",
          "command": "uvx",
          "args": [
            "3d-visualizer",
            "mcp",
            "--root",
            "your-value"
          ]
        }
      }
    }
  3. Abre el chat de IA de VS Code en modo Agent

  4. Pruébalo

    Usa 3D Visualizer y dime qué puedes hacer por mí; luego muéstrame una cosa

    ✓ Si VS Code dice que está usando 3D Visualizer o muestra una herramienta de 3D Visualizer en la respuesta, ya está conectado

Nombres de menú comprobados con la ayuda de VS Code el 11 nov 2026 · tu pantalla puede variar un poco según la versión

Otras apps que usan MCP, como Windsurf, Zed o Gemini CLI, añaden servidores de forma distinta. Míralo en la lista de apps

Ver todas las apps que usan MCP →

La configuración JSON está en “Para desarrolladores”, abajo

¿Te atascaste? Pregunta a quien usa 3D Visualizer💬 Conversación →
Para desarrolladores: comandos de Terminal y configuración JSON

Instalado en tu computadora

Claude Code

claude mcp add --scope user 3d-visualizer -- uvx 3d-visualizer mcp --root your-value

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "3d-visualizer": {
      "command": "uvx",
      "args": [
        "3d-visualizer",
        "mcp",
        "--root",
        "your-value"
      ]
    }
  }
}

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "3d-visualizer": {
      "command": "uvx",
      "args": [
        "3d-visualizer",
        "mcp",
        "--root",
        "your-value"
      ]
    }
  }
}

VS Code (mcp.json)

{
  "servers": {
    "3d-visualizer": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "3d-visualizer",
        "mcp",
        "--root",
        "your-value"
      ]
    }
  }
}

Esta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.

De un vistazo

Estrellas de GitHubi
23 (Estrellas de todo el repositorio)
Este repositorio tiene varias fichas MCP; sus estrellas cuentan una sola vez en las clasificaciones
Descargas por semanai
45/sem
Conexión
Se ejecuta en tu computadora
Última versióni
0.4.2
Publicado en el registroi
9 sept 2026
Último cambio de códigoi
31 oct 2026
Creador
kleinicke
Paquetes
pypi: 3d-visualizer
Estado en el registro
Activo

Qué apps pueden usarlo

Según cómo se conecta este servidor y la documentación de cada app, comprobado el 10 nov 2026.

Se ejecutan en tu computadora en

ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast

Todas las apps, con ventajas y desventajas →

Qué puede hacer

Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.

Revisiones básicasi

Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 15 nov 2026

  • ✓ Superada

    El creador coincide con el repo

    El nombre en el registro se verificó con la cuenta de GitHub kleinicke, dueña del repo

  • ✓ Superada

    Sigue en mantenimiento

    Último cambio de código: hace 15 días

  • ✓ Superada

    Tiene licencia

    Usa MIT

  • – No aplica

    El endpoint responde

    Este se ejecuta en tu computadora; no hay endpoint en internet

  • – No aplica

    Inicio de sesión con OAuth

    Se ejecuta en tu computadora y usa ajustes locales en su lugar

  • … Aún sin revisar

    Sin instrucciones ocultas en las descripciones de herramientas

    Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet

Vulnerabilidades publicadas (OSV.dev)

Aún no revisado

Qué revisamos → · JSON

Creadores: pedir otra revisión o avisar de un dato erróneo

Conversación

Pregunta, comparte un consejo o avisa de que no funciona. Ordenado por lo que la gente marcó como útil.

Aún no hay publicaciones. Sé la primera persona en preguntar o compartir.

Lo publicado aquí lo escriben usuarios, no el equipo de PopNx.

Inicia sesión para publicar

Reseñas de usuarios

Aún no hay reseñas

Inicia sesión para escribir una reseña

Comparado con otros en Diseño, imágenes y audioi

  • Más estrellas que el 91% de los otros 3072 servidores de esta categoría
  • Publicado en el registro más recientemente que el 26% de los otros 3072 servidores de esta categoría
  • Revisiones básicas iguales o mejores que el 100% de los otros 3072 servidores de esta categoría

Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.

Preguntas frecuentes

¿Es seguro 3D Visualizer?

Superó 3 de 3 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.

¿Qué claves o códigos necesita?

El registro no indica ninguna clave obligatoria, aunque algunos servidores te piden iniciar sesión la primera vez que los usas.

¿Se ejecuta en mi computadora o en la nube?

Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).

¿Sigue en mantenimiento?

El repo de GitHub cambió por última vez hace 15 días, y la última versión (0.4.2) llegó al registro hace 2 meses.

¿Qué apps pueden usarlo?

Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Python (uv) en tu computadora.

¿Qué puedo usar en su lugar?

En la misma categoría: Pascal 3D Editor, Figma MCP Server, Remocn: Remotion MCP server, Harness, ChatCut

Alternativas parecidas

Misma categoría, otros creadores, comandos ya revisados. Primero los oficiales, luego por estrellas.

Cómo leer una tarjeta:↓ Descargas por semanai★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi

Pascal 3D Editor

Create, inspect, validate, and save editable 3D building scenes with Pascal's MCP server.

de pascalorgMuy usado↓ 1 mil/sem★ 25,5 mil Estrellas de todo el repositorioActualizado anteayer

Computadora o nube✓ del servicio · pascal.app

Figma MCP Server

The Figma MCP server brings Figma design context directly into your AI workflow.

de figmaMuy usado★ 2,2 milActualizado hace 13 meses

Se ejecuta en la nube✓ del servicio · mcp.figma.com

Remocn: Remotion MCP server

Hosted MCP for Remotion videos: search Remocn components, read docs, plan a video, preview it.

de RemocnEn crecimiento★ 1,7 milActualizado hace 5 días

Se ejecuta en la nube✓ del servicio · remocn.dev

Harness

Start Claude Code and Codex agents the person can watch, wait for them and read their answers.

de autonomous-aiEn crecimiento↓ 87/sem★ 1,5 milActualizado hace 27 días

Se ejecuta en tu computadora✓ harness.autonomous.ai

ChatCut

AI video editor for agents: cut footage, add captions and motion graphics, export editable edits.

de ChatCut-IncEn crecimiento★ 1 milActualizado hace 16 días

Se ejecuta en la nube✓ del servicio · chatcut.io
  • Pascal 3D Editor — En la nube o instalado en tu equipo · Sin clave
  • Figma MCP Server — Funciona en la nube, sin instalar nada · Sin clave · En el directorio de Claude
  • Remocn: Remotion MCP server — Funciona en la nube, sin instalar nada · Sin clave
  • Harness — Se instala en tu equipo · Sin clave
  • ChatCut — Funciona en la nube, sin instalar nada · Sin clave

README del creador

Abrir el README

Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.

3D Visualizer — Python, CLI and MCP

Inspect point clouds, meshes and calibrated depth data in Python, notebooks or an AI conversation. The package is `3d-visualizer`, the Python import is `viz3d`, and the CLI is `3d-visualizer`. Python 3.10+ is required.

This checkout targets the next release. The public 0.4.2 package still uses the older import. For the new interface before publication, build the viewer and install ./packages/python with the extras you need.

Agent installation

These examples target 0.5.0.dev0. Development versions must be installed from this checkout until published; do not assume an unreleased version exists on PyPI.

For agents, use uv tool install or uvx; uv add is for using the library inside a Python project. Headless mode also needs Chromium installed once.

uv tool install "3d-visualizer[mcp,headless]==0.5.0.dev0"

uvx --from "3d-visualizer[headless]==0.5.0.dev0" playwright install chromium 3d-visualizer doctor --check-headless

Client configuration (replace the data directory):

{

"mcpServers": { "3d-visualizer": { "command": "uvx", "args": [ "--from", "3d-visualizer[mcp,headless]==0.5.0.dev0", "3d-visualizer-mcp", "--root", "/absolute/path/to/data" ] } } }

Install in VS Code

The VS Code link uses the current workspace as the allowed data root.

claude mcp add --transport stdio 3d-visualizer -- uvx --from "3d-visualizer[mcp,headless]==0.5.0.dev0" 3d-visualizer-mcp --root /absolute/path/to/data

The default --tools core exposes eight everyday tools. Use --tools full for depth conversion, selections, animation, alignment and export. --renderer auto uses an advertised MCP Apps host, otherwise offscreen Chromium. Use --renderer inline to require a widget or explicit browser; use --renderer headless for unattended work.

Unattended Python rendering

With the headless extra and Chromium installed:

from pathlib import Path

from viz3d import show

with show("scan.ply", headless=True) as view: state = view.inspect(detail="full") Path("preview.png").write_bytes(view.capture())

This uses offscreen Chromium and the shared renderer. It requires no notebook, chat widget or visible browser window. Inspect and capture raise on renderer failure instead of returning a placeholder success.

Install with uv (recommended)

Install uv, then choose:

uv add 3d-visualizer            # Add to a Python project

uv add "3d-visualizer[notebook]" # Local notebook display support uv pip install 3d-visualizer # Install into an existing virtual environment uv tool install 3d-visualizer # Install the CLI independently uvx --from 3d-visualizer 3d-visualizer scan.ply # Run without persistent installation

The Python import is from viz3d import show. Tool installation does not add the library to a Python project or notebook kernel; use uv add or uv pip install in that environment. No Node.js build is needed for PyPI installs.

For local Jupyter, run uv run --with jupyter jupyter lab from your project and select its Python kernel. Keep that kernel alive while using the viewer.

Developing from source

From the repository root, build the bundled engine with Node 24:

npm ci

npm run build:python-viewer uv tool install ./packages/python

Or add the local library to your Python project:

uv add /absolute/path/to/checkout/packages/python

See publishing setup for releases.

Alternative: install with pip from this repository

After building the browser assets above:

python3 -m venv packages/python/.venv

packages/python/.venv/bin/python -m pip install ./packages/python packages/python/.venv/bin/3d-visualizer engine/examples/example-point-cloud.ply

On Windows, replace the environment's bin/ paths with Scripts/, e.g. packages\python\.venv\Scripts\python.exe, 3d-visualizer.exe, or jupyter.exe. After activating the environment, the command is simply:

3d-visualizer scan.ply mesh.stl

3d-visualizer --no-browser scan.ply python -m viz3d scan.ply

The command prints a local URL and keeps running until Ctrl+C. --no-browser allows an agent or another application to open that URL itself. It does not render an image or report successful browser rendering to the caller.

Python

from viz3d import show

In an interactive Python session or local notebook:

viewer = show("scan.ply", "mesh.stl") print(viewer.url)

Later:

viewer.close()

from viz3d import show

Lists, iterables, NumPy arrays, and PyTorch tensors with shape (N, 3) work.

points = [[0, 0, 0], [1, 0, 0], [0, 1, 0]] colors = [[255, 0, 0], [0, 255, 0], [0, 0, 255]]

In a script, keep Python alive while the viewer is in use.

with show(points, colors=colors) as viewer: print(viewer.url) try: viewer.wait() except KeyboardInterrupt: pass

Coordinates must be finite float32-compatible numbers. Optional colors must match the point count and contain integer RGB values in 0..255. Point arrays are serialized to a temporary binary PLY, decoded by the existing engine, and removed when the session closes. This first implementation serializes arrays row by row; it is not a zero-copy transport for very large arrays.

NumPy and PyTorch

Pass arrays and tensors directly, including RGB colors:

import numpy as np

from viz3d import show

viewer = show(np.random.default_rng(0).normal(size=(1000, 3)))

import torch

from viz3d import show

device = "cuda" if torch.cuda.is_available() else ( "mps" if torch.backends.mps.is_available() else "cpu" ) points = torch.randn(1000, 3, device=device, requires_grad=True) rgb = torch.randint(0, 256, (1000, 3), device=device, dtype=torch.uint8) viewer = show(points, colors=rgb)

No manual .detach(), .cpu(), or .numpy() needed.

Keep Python alive and call viewer.close() when finished.

  • NumPy arrays can be transposed, sliced, read-only, or non-contiguous.
  • PyTorch inputs can be CPU or GPU tensors, detached or attached to autograd. Both coordinates and colors are handled independently, so mixing devices or NumPy/PyTorch inputs works. Float16 and bfloat16 tensors are supported.
  • Visualization detaches internally, transfers to CPU, and serializes a snapshot. The original device, values, requires_grad, and autograd graph are unchanged. GPU-to-CPU transfer synchronizes; avoid calling this every training step.
  • PyTorch conversion does not depend on NumPy. CPU rows are converted in bounded chunks rather than performing a GPU scalar read for every coordinate.
  • Inputs must be real, dense (N, 3) data. For (B, N, 3) batches, use show(batch[0]); batches are deliberately not flattened automatically. Sparse, quantized, complex, nested, and data-free meta tensors are rejected with an error. RGB retains the integer-valued 0..255 convention, including floating-point tensors; normalized RGB can be passed as (rgb * 255).round().

Training previews

All updates reuse the same browser tab/inline view and preserve its camera. The viewer receives change notifications and loads the newest revision; intermediate revisions can be skipped. Publish at a useful training interval, not every forward pass. Serialization and GPU transfer are synchronous. Updates replace the scene; manual files added to that scene are also replaced on the next update.

viewer = show(initial_points)

In your training loop, e.g. every 100 steps:

if step % 100 == 0: viewer.update(prediction[0], target=target[0], step=step)

Prediction is orange and target cyan. Supply colors= to override prediction RGB. Targets may have a different number of points. This is a geometric overlay, not a computed nearest-neighbor error metric. Visibility can be toggled in the standard file panel. Use Pause updates to inspect one revision and Fit scene to reset the framing explicitly.

Batch and augmentation inspection
from viz3d import show_batch

viewer = show_batch(batch, target=target_batch) viewer.update_batch(next_batch, target=next_targets, step=step)

A list of differently sized point arrays also works:

viewer = show_batch([original, augmented], labels=["Original", "Augmented"])

The sample selector switches batches in one scene and retains the camera. Colors, targets, and vectors (when supplied) must match the batch size. Batch snapshots serialize every sample; select a small inspection subset for large training batches. Only the chosen sample is loaded by the browser.

Gradient and displacement arrows
# After loss.backward(); non-leaf predictions need retain_grad() beforehand.

viewer.update( points, vectors=points.grad, vector_scale=-learning_rate, max_vectors=256, step=step, )

Arrows are anchored at the corresponding input points. Negative learning-rate scaling shows a plain gradient-descent direction; it is not an exact Adam or momentum optimizer step. To inspect the actual update, pass measured coordinate displacements instead. Nonzero arrows are magenta. Up to max_vectors evenly spaced vectors are displayed (default 256, maximum 2000). All supplied vector rows are validated; no autograd hooks or gradient computation are installed by this operation.

Layer inspection with a removable forward hook
viewer = show(initial_points)

with viewer.inspect_layer(model, select=lambda output: output[0], every=100): train(model)

For dictionary outputs use a selector such as lambda output: output"points". The selector must return (N, 3) coordinates, not arbitrary feature channels. The hook captures the first forward call and then every every calls. It returns None, preserving the model's output. A visualization error disables the hook, emits a warning and is accessible as inspection.error; it does not invalidate training. The context manager removes the hook, while the caller owns the viewer session's lifetime. inspection.close() also removes it explicitly.

Run viewer updates in the main process, on one rank in distributed training, and outside compiled model code. GPU-to-CPU transfer introduces synchronization. PyTorch forward hooks.

The server binds only to 127.0.0.1, uses a random session URL, and serves only the explicitly supplied files and bundled viewer assets. Source files remain on your machine; the package does not upload them. Keep file paths available for the life of the session. Do not share the session URL with untrusted code.

Inline Jupyter notebooks

In a local Jupyter notebook, return the viewer as the last expression in a cell. Browser auto-opening is disabled when a notebook kernel is detected:

viewer = show(points)

viewer # Interactive viewer appears in the output cell.

Or display explicitly, using the notebook extra:

viewer.display(height=480, ui="collapsed")

Settings are collapsed by default. A compact toolbar keeps Settings, Fit scene, Pause updates, and the batch selector accessible. Choose ui="full" to show settings immediately or ui="none" for a presentation-only canvas with mouse controls. In UI-free m

Solo se muestra el principio; lee el resto en el repo