MCP 3DVista
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP 3DVista read my 3DVista export and generate a branded HTML skin"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP 3DVista
Let AI build skins and write the code for your 3DVista virtual tours. Deja que la IA diseñe los skins y programe tus recorridos virtuales de 3DVista.
🇬🇧 English
Table of contents
What is this?
MCP 3DVista is a Model Context Protocol (MCP) server for people who build virtual tours with 3DVista Virtual Tour Pro.
MCP is an open standard that lets AI assistants such as Claude (Claude Code or Claude Desktop), Cursor or VS Code Copilot use external tools. Once you install this server, your assistant can:
read your real tour export: scenes, skin component names, hotspots, languages;
write JavaScript for 3DVista's Run JavaScript action, using your real names;
design and install a full branded HTML skin on top of your tour;
generate a native 3DVista skin (
.vts) with buttons, brand icons, texts and actions, ready to import into the Skin Editor;plan a native skin for the 3DVista Skin Editor, step by step;
generate SVG icon sets in your brand colors;
inject custom CSS/JS/HTML into the exported
index.htm, safely and repeatably;audit your tour for offline use, for events or VR headsets without internet.
You talk to the assistant in plain language. It calls these tools and gives you finished files and code.
Why use it? Benefits
Problem | How MCP 3DVista solves it |
3DVista has no official JavaScript API, so custom code means guesswork and searching forums | Generates code from internal player calls the community already uses ( |
AI assistants make up component and scene names |
|
Building a skin by hand in the Skin Editor takes hours | Generate a native |
Every re-export overwrites | Injections use named blocks you can repeat, plus |
Tours shown at events or in VR headsets without internet break silently |
|
Icons that don't match the client's brand |
|
Also:
Zero dependencies. Pure Node.js, no
npm install, nothing to keep updated.Nothing leaves your computer. The server works on local files only and never calls the internet.
Safe edits. The first time it changes
index.htm, it saves the original asindex.htm.original.Bilingual friendly. Tool names and messages are in Spanish; the assistant understands requests in any language.
How it helps you work with AI
Without this server, an AI assistant only knows 3DVista from its general training. It can't see your project, so it guesses the names of buttons and scenes. Code like that usually fails without any error message.
With MCP 3DVista, the AI gets three things:
Context. It reads the real export, so it knows your scene "Sala principal" is index 0, that your info panel is called
Panel_Info, and which internal functions your 3DVista version includes.Proven tools. Instead of writing code from scratch each time, the AI calls templates that have been tested and checks syntax with
validar_javascript.Direct action. The AI can write the skin files, inject them into your export and remove them again. You don't have to copy and paste between windows.
The result: you describe what you want ("add a WhatsApp button that sends the current scene name") and get working code, made for your tour.
Requirements
Node.js 18 or newer (download). Check it with
node --version.An MCP-compatible client: Claude Code, Claude Desktop, Cursor, VS Code (Copilot agent mode) or similar.
3DVista Virtual Tour Pro and a tour exported as HTML5. The skin and code tools also work before you have an export.
Installation
1. Download the server
git clone https://github.com/juanchacon98/mcp-3dvista.gitOr click Code → Download ZIP on GitHub and unzip it. Note the full path to server.js, for example C:\tools\mcp-3dvista\server.js or /Users/you/mcp-3dvista/server.js.
2. Connect it to your AI client
claude mcp add 3dvista --scope user -- node "/full/path/to/mcp-3dvista/server.js"Check it with claude mcp get 3dvista (it should say Connected). Start a new session to load the tools.
Edit claude_desktop_config.json:
Windows:
%APPDATA%\Claude\claude_desktop_config.jsonmacOS:
~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"3dvista": {
"command": "node",
"args": ["/full/path/to/mcp-3dvista/server.js"]
}
}
}On Windows, use double backslashes: "C:\\tools\\mcp-3dvista\\server.js". Restart Claude Desktop.
Create ~/.cursor/mcp.json (global) or .cursor/mcp.json (per project):
{
"mcpServers": {
"3dvista": { "command": "node", "args": ["/full/path/to/mcp-3dvista/server.js"] }
}
}Create .vscode/mcp.json in your workspace:
{
"servers": {
"3dvista": { "type": "stdio", "command": "node", "args": ["/full/path/to/mcp-3dvista/server.js"] }
}
}3. Try it
Ask your assistant: "Use the 3dvista tools to show me the guide." It should call consultar_guia.
Quick start
In 3DVista, export your tour as HTML5 to a folder, for example
C:\tours\my-hotel\.Ask: "Analyze the 3DVista tour in C:\tours\my-hotel". You'll get every scene, skin component and hotspot.
Ask: "Create an HTML skin for it, primary color #1f6f43, logo C:\brand\logo.png, buttons: scenes, previous, next, autoplay, fullscreen, info, WhatsApp +57 300 123 4567".
Open the tour through a local web server (not
file://) and check it.After each re-export from 3DVista, ask: "Reinstall the skin in C:\tours\my-hotel".
Example prompts
Analysis
"List all the scenes and buttons in my tour at D:\export."
"Which components in my skin contain the word 'Panel'?"
Code for 3DVista actions
"Give me the code so that clicking a hotspot goes to the scene 'Kitchen'."
"I need a button that shows
Panel_Infoand hidesPanel_Mapat the same time.""When the tour changes scene, log a Google Analytics event with the scene name."
"Make an autoplay button that moves to the next scene every 20 seconds."
"Check this code before I paste it into 3DVista: …"
Skins
"Generate a native 3DVista skin (.vts) with a side bar and my logo C:\brand\logo.png."
"Read the skin C:\skins\old.vts and tell me what each button does."
"Design a minimal skin: logo top left, a vertical button bar on the left, scenes grouped into 'Exterior' and 'Interior'."
"Give me a native Skin Editor plan with a bottom bar, a scene menu and a contact panel, in navy blue."
"Generate white-on-orange circle icons for info, WhatsApp, fullscreen and audio in C:\brand\icons."
Delivery
"This tour will run without internet on Meta Quest headsets. What will break?"
"Add this CSS to the export to hide the 3DVista loading logo."
Tools reference
Tool | What it does | Main parameters |
| Reads an HTML5 export: scenes in playlist order, skin components with exact names, hotspots, languages, internal script functions |
|
| Generates JavaScript for 3DVista's Run JavaScript action |
|
| Lists every action | — |
| Checks syntax and common mistakes (unchecked nulls, external URLs, stray |
|
| Builds a complete branded HTML/CSS/JS skin and installs it in the export |
|
| Reinstalls an existing skin after re-exporting |
|
| Creates a native 3DVista skin file ( |
|
| Reads any |
|
| Blueprint for the Skin Editor: component tree, names, sizes, colors and the code for each action |
|
| Icon set in brand colors as SVG and PNG (3DVista Icon Buttons need PNG), with |
|
| Adds named, repeatable CSS/JS/HTML blocks to |
|
| Removes one injected block, or all of them |
|
| Installs only the |
|
| Returns the helper source code | — |
| Lists internet resources (video, maps, fonts, CDNs, analytics, links) |
|
| Built-in guide: |
|
Actions available in generar_codigo: ir_a_escena, siguiente_escena, anterior_escena, mostrar_componente, ocultar_componente, alternar_componente, mostrar_varios, mostrar_temporal, click_componente, abrir_url, whatsapp, llamar, correo, pantalla_completa, silenciar, auto_recorrido, cambiar_idioma, compartir, evento_analytics, al_cambiar_escena, personalizado.
Code modes:
accion(default): self-contained code to paste into Action → Run JavaScript inside 3DVista.helper: short code that useswindow.TDVH. Needs the helper installed in the export.externo: for pages or Web Frames outside the player; it looks for the player inwindow.parent.
HTML skin vs. native skin
HTML skin ( | Native skin ( | |
Built with | Generated web files, injected after export | A generated |
Speed | Seconds | Seconds with |
Customization | Anything CSS/JS can do; edit | Limited to Skin Editor components |
Inside immersive VR mode | ❌ Not visible (browser mode only) | ✅ Works with 3DVista's VR skin |
Survives re-export | Needs | ✅ Yes, it's part of the project |
You can combine both: keep a simple native skin for VR and add the HTML skin for desktop and mobile.
Native .vts skin (crear_skin_vts):
Ask: "Create a native skin for my hotel in C:\skins\hotel.vts, color #1f6f43, buttons previous, next, info, fullscreen and WhatsApp +57 300 123 4567".
In 3DVista open Skin, click the Open Skin Library icon (top left of the editor), then Import Skin, choose the
.vtsand press Select. You can also import it when creating a new project.Everything appears in the Skin Editor with clear names (
Contenedor_Barra,Boton_Info,Panel_Info…), ready to adjust by hand.
Design: a modern glass look (dark or light theme) with background blur, fine borders and soft shadows; thin line icons that get a brand-colored circle on hover; a brand card (logo, name, subtitle); an info card with overlay, label, title, accent line, wrapped paragraph and pill contact buttons with icons; styled tooltips. Typography: Montserrat is embedded by default (bundled in fuentes/montserrat, SIL Open Font License 1.1). Use fuentes to embed your own .ttf/.otf, marca.fuente to use a font already in your project, or fuente_incluida: false to skip it.
What it generates: containers (absolute, horizontal or vertical layout, nested), text buttons, paragraphs (wrapped text), icon buttons with PNG icons in your colors and a hover variant, labels, images (your logo) and actions: show/hide/toggle with fade, next/previous scene, native viewer controls, open URL and JavaScript (including any generar_codigo action). Ready-made templates: barra_inferior (bottom bar) and barra_lateral (side bar), with an optional info panel and a collapsible options menu (⚙ button) holding the viewer controls: mute, fullscreen, gyroscope (only shown on devices that have one), VR mode, show/hide hotspots and zoom. These use 3DVista's native media controls (the same ones its own skins use), so toggles switch icon with their state (e.g. a crossed speaker when muted) and work on mobile and in VR.
⚠️ Loading a skin replaces the project's current skin and its actions. Try it on a copy of the project first. Thumbnail menus (scene lists) aren't generated yet; add them in the Skin Editor. Format verified with 3DVista 2026.1.2.
HTML skin features: logo and name, current scene title, button bar (bottom or left), slide-in scene menu with search and groups, info and contact modal, floating WhatsApp button, autoplay, mute, fullscreen, share, keyboard support (Esc) and a responsive mobile layout. It uses no web fonts and no CDNs.
The TDVH browser helper
crear_skin_html and instalar_ayudante add window.TDVH, a simple and safe API you can use from the console or your own code:
TDVH.diagnostico(); // check the player, playlist and components
TDVH.escenas(); // [{indice, nombre, id, clase}, …]
TDVH.irA('Kitchen'); // by label (ignores accents/case), id or index
TDVH.siguiente(); TDVH.anterior();
TDVH.mostrar('Panel_Info'); TDVH.ocultar('Panel_Info'); TDVH.alternar('Panel_Info');
TDVH.click('Boton_Info');
TDVH.alCambiarEscena(function (i, escena) { console.log(escena.nombre); });
TDVH.autoRecorrido(15); // toggle autoplay every 15 s
TDVH.silenciar(); TDVH.pantallaCompleta(); TDVH.idioma('en');
TDVH.whatsapp('573001234567', 'Hello!');
TDVH.evento('cta_click', { boton: 'whatsapp' }); // gtag / dataLayer / fbq, if presentIf a name doesn't exist, it returns false and prints a [TDVH] warning in the console instead of breaking the tour.
Recommended workflow
Design in 3DVista ─► Export HTML5 ─► analizar_tour ─► generar_codigo / crear_skin_html
▲ │
└──── paste code into actions, re-export ◄── test in browser
│
└─► instalar_skin_html (after every re-export) ─► auditar_offline ─► deliverNaming tips: give skin components clear names such as Boton_Info, Panel_Escenas or Contenedor_Barra (no spaces or accents), and give scenes readable labels. The generated code finds them by those names.
VR headsets and offline tours
On Meta Quest or Apple Vision Pro, the tour first opens in the browser, where the HTML skin works. Inside immersive VR mode, only 3DVista's VR skin and hotspots are shown.
Without internet, these don't work: YouTube/Vimeo, Google Maps, web fonts, analytics, external links, and WhatsApp or phone calls from the headset. Run
auditar_offlinebefore delivery.The HTML skin uses only system fonts and inline icons.
Troubleshooting
Symptom | Fix |
The tools don't appear in the assistant | Restart the client or open a new session. Run |
| Point it to the folder that contains |
The skin doesn't appear | Open the tour with a local web server, not |
| The name doesn't match the Skin Editor. Run |
Code doesn't work inside 3DVista's preview but works after export | Code in |
Want to undo everything |
|
FAQ
Does it modify my .vtp project? No. It only reads and writes the HTML5 export folder.
Does it send my tour anywhere? No. The server runs on your computer, reads local files and makes no network requests. Your AI client still sends your prompts and the tool results to its model provider, as usual.
Which 3DVista versions are supported? The analysis runs the export script in a sandbox and falls back to text parsing. It has been designed for current HTML5 exports. Because 3DVista's internals aren't documented, always test generated code. If something fails, please open an issue.
Do I need to know JavaScript? No. Describe what you want and the assistant writes and checks the code. Knowing a little helps you adjust it.
Can I use it commercially for client projects? Yes, it's MIT-licensed.
Project structure and development
server.js MCP server (JSON-RPC 2.0 over stdio, no SDK)
lib/analizar.js export analysis + offline audit
lib/codigo.js code templates + JS validation
lib/skin.js HTML skin, native skin blueprint, icon export
lib/inyectar.js safe, repeatable index.htm injection
lib/iconos.js icon set (24×24 line icons)
lib/png.js icon rasterizer + PNG encoder (no dependencies)
lib/vts.js native .vts skin generator/reader
lib/guia.js built-in guide
fuentes/montserrat/ bundled font (SIL OFL 1.1)
runtime/ files copied into the tour (tdv-helper.js, skin-3jc.js, skin-3jc.css)
test/ end-to-end test + fake export + skin previewnpm test # end-to-end JSON-RPC test (creates test/export-demo)
python -m http.server -d test # then open http://localhost:8000/vista-previa.htmlContributions are welcome: new generar_codigo actions, skin modules, icons and translations. Open an issue or a pull request.
Disclaimer and license
This is an independent community project, not affiliated with or endorsed by 3DVista. Bundled font: Montserrat © The Montserrat Project Authors, SIL OFL 1.1. "3DVista" is a trademark of its owner. Released under the MIT License © Corporación 3JC.
Related MCP server: SVGator MCP Server
🇪🇸 Español
Contenido
¿Qué es?
MCP 3DVista es un servidor Model Context Protocol (MCP) para quienes crean recorridos virtuales con 3DVista Virtual Tour Pro.
MCP es un estándar abierto que permite a asistentes de IA como Claude (Claude Code o Claude Desktop), Cursor o VS Code Copilot usar herramientas externas. Con este servidor instalado, tu asistente puede:
leer el export real de tu recorrido: escenas, nombres de componentes del skin, hotspots, idiomas;
escribir JavaScript para la acción Ejecutar JavaScript de 3DVista, con tus nombres reales;
diseñar e instalar un skin HTML completo con la marca del cliente sobre el recorrido;
generar un skin nativo de 3DVista (
.vts) con botones, iconos de la marca, textos y acciones, listo para importar en el Skin Editor;planificar un skin nativo para el Skin Editor de 3DVista, paso a paso;
generar sets de iconos SVG con los colores de la marca;
inyectar CSS/JS/HTML propio en el
index.htmexportado, de forma segura y repetible;auditar el recorrido para uso sin internet, para eventos o visores VR sin conexión.
Le hablas al asistente en lenguaje normal. Él usa estas herramientas y te entrega archivos y código terminados.
¿Por qué usarlo? Ventajas
Problema | Cómo lo resuelve MCP 3DVista |
3DVista no tiene API de JavaScript oficial: programar algo a medida es prueba y error y buscar en foros | Genera código con las llamadas internas que ya usa la comunidad ( |
Las IA inventan nombres de componentes y escenas |
|
Armar un skin a mano en el Skin Editor toma horas | Genera un skin nativo |
Cada re-export sobrescribe | Las inyecciones usan bloques con nombre que se pueden repetir, y |
Los recorridos para eventos o visores VR sin internet fallan sin avisar |
|
Iconos que no combinan con la marca del cliente |
|
Además:
Cero dependencias. Node.js puro, sin
npm install, nada que mantener actualizado.Nada sale de tu computador. El servidor solo trabaja con archivos locales y nunca se conecta a internet.
Cambios seguros. La primera vez que modifica
index.htm, guarda el original comoindex.htm.original.En español. Los nombres de las herramientas y los mensajes están en español; el asistente entiende peticiones en cualquier idioma.
Cómo te ayuda a trabajar con IA
Sin este servidor, un asistente de IA solo conoce 3DVista por su entrenamiento general. No ve tu proyecto, así que adivina los nombres de los botones y escenas. Ese código casi siempre falla sin mostrar ningún error.
Con MCP 3DVista, la IA obtiene tres cosas:
Contexto. Lee el export real, así sabe que tu escena "Sala principal" es el índice 0, que tu panel de información se llama
Panel_Infoy qué funciones internas incluye tu versión de 3DVista.Herramientas probadas. En vez de escribir código desde cero cada vez, usa plantillas ya probadas y revisa la sintaxis con
validar_javascript.Acción directa. La IA puede escribir los archivos del skin, inyectarlos en el export y quitarlos de nuevo. No tienes que copiar y pegar entre ventanas.
El resultado: describes lo que quieres ("agrega un botón de WhatsApp que envíe el nombre de la escena actual") y recibes código que funciona, hecho para tu recorrido.
Requisitos
Node.js 18 o superior (descargar). Compruébalo con
node --version.Un cliente compatible con MCP: Claude Code, Claude Desktop, Cursor, VS Code (modo agente de Copilot) u otro similar.
3DVista Virtual Tour Pro y un recorrido exportado en HTML5. Las herramientas de skin y código también sirven antes de tener el export.
Instalación
1. Descarga el servidor
git clone https://github.com/juanchacon98/mcp-3dvista.gitO en GitHub haz clic en Code → Download ZIP y descomprímelo. Anota la ruta completa de server.js, por ejemplo C:\herramientas\mcp-3dvista\server.js o /Users/tu-usuario/mcp-3dvista/server.js.
2. Conéctalo a tu cliente de IA
claude mcp add 3dvista --scope user -- node "/ruta/completa/a/mcp-3dvista/server.js"Compruébalo con claude mcp get 3dvista (debe decir Connected). Abre una sesión nueva para cargar las herramientas.
Edita claude_desktop_config.json:
Windows:
%APPDATA%\Claude\claude_desktop_config.jsonmacOS:
~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"3dvista": {
"command": "node",
"args": ["/ruta/completa/a/mcp-3dvista/server.js"]
}
}
}En Windows usa barras invertidas dobles: "C:\\herramientas\\mcp-3dvista\\server.js". Reinicia Claude Desktop.
Crea ~/.cursor/mcp.json (global) o .cursor/mcp.json (por proyecto):
{
"mcpServers": {
"3dvista": { "command": "node", "args": ["/ruta/completa/a/mcp-3dvista/server.js"] }
}
}Crea .vscode/mcp.json en tu espacio de trabajo:
{
"servers": {
"3dvista": { "type": "stdio", "command": "node", "args": ["/ruta/completa/a/mcp-3dvista/server.js"] }
}
}3. Pruébalo
Pídele a tu asistente: "Usa las herramientas de 3dvista para mostrarme la guía." Debería llamar a consultar_guia.
Inicio rápido
En 3DVista, exporta el recorrido en HTML5 a una carpeta, por ejemplo
C:\recorridos\hotel\.Pide: "Analiza el recorrido 3DVista en C:\recorridos\hotel". Verás todas las escenas, componentes del skin y hotspots.
Pide: "Créale un skin HTML, color principal #1f6f43, logo C:\marca\logo.png, botones: escenas, anterior, siguiente, automático, pantalla completa, info, WhatsApp +57 300 123 4567".
Abre el recorrido con un servidor web local (no con
file://) y revísalo.Después de cada re-export desde 3DVista, pide: "Reinstala el skin en C:\recorridos\hotel".
Ejemplos de lo que puedes pedir
Análisis
"Lista todas las escenas y botones del recorrido en D:\export."
"¿Qué componentes de mi skin tienen la palabra 'Panel'?"
Código para acciones de 3DVista
"Dame el código para que al hacer clic en un hotspot vaya a la escena 'Cocina'."
"Necesito un botón que muestre
Panel_Infoy ocultePanel_Mapaal mismo tiempo.""Cuando el recorrido cambie de escena, envía un evento a Google Analytics con el nombre de la escena."
"Haz un botón de recorrido automático que avance de escena cada 20 segundos."
"Revisa este código antes de pegarlo en 3DVista: …"
Skins
"Genera un skin nativo de 3DVista (.vts) con barra lateral y mi logo C:\marca\logo.png."
"Lee el skin C:\skins\viejo.vts y dime qué hace cada botón."
"Diseña un skin minimalista: logo arriba a la izquierda, barra de botones vertical a la izquierda, escenas agrupadas en 'Exterior' e 'Interior'."
"Dame un plan de skin nativo para el Skin Editor con barra inferior, menú de escenas y panel de contacto, en azul marino."
"Genera iconos de círculo naranja con trazo blanco para info, WhatsApp, pantalla completa y audio en C:\marca\iconos."
Entrega
"Este recorrido va a funcionar sin internet en visores Meta Quest. ¿Qué va a fallar?"
"Agrega este CSS al export para ocultar el logo de carga de 3DVista."
Referencia de herramientas
Herramienta | Qué hace | Parámetros principales |
| Lee un export HTML5: escenas en el orden de la lista, componentes del skin con sus nombres exactos, hotspots, idiomas y funciones internas de script |
|
| Genera JavaScript para la acción Ejecutar JavaScript de 3DVista |
|
| Lista todas las acciones que | — |
| Revisa la sintaxis y errores comunes (nulls sin comprobar, URLs externas, |
|
| Crea un skin HTML/CSS/JS completo con la marca y lo instala en el export |
|
| Vuelve a instalar un skin existente después de re-exportar |
|
| Crea un archivo de skin nativo de 3DVista ( |
|
| Lee cualquier |
|
| Plano para el Skin Editor: árbol de componentes, nombres, tamaños, colores y el código de cada acción |
|
| Set de iconos con los colores de la marca en SVG y PNG (los botones con icono de 3DVista necesitan PNG), con variantes |
|
| Agrega bloques de CSS/JS/HTML con nombre en |
|
| Quita un bloque inyectado, o todos |
|
| Instala solo el ayudante |
|
| Devuelve el código fuente del ayudante | — |
| Lista los recursos de internet (videos, mapas, fuentes, CDNs, analítica, enlaces) |
|
| Guía incluida: |
|
Acciones disponibles en generar_codigo: ir_a_escena, siguiente_escena, anterior_escena, mostrar_componente, ocultar_componente, alternar_componente, mostrar_varios, mostrar_temporal, click_componente, abrir_url, whatsapp, llamar, correo, pantalla_completa, silenciar, auto_recorrido, cambiar_idioma, compartir, evento_analytics, al_cambiar_escena, personalizado.
Modos de código:
accion(por defecto): código autónomo para pegar en Acción → Ejecutar JavaScript dentro de 3DVista.helper: código corto que usawindow.TDVH. Requiere tener el ayudante instalado en el export.externo: para páginas o Web Frames fuera del player; busca el player enwindow.parent.
Skin HTML vs. skin nativo
Skin HTML ( | Skin nativo ( | |
Cómo se hace | Archivos web generados que se inyectan después de exportar | Un archivo |
Rapidez | Segundos | Segundos con |
Personalización | Todo lo que permitan CSS y JS; se edita en | Limitada a los componentes del Skin Editor |
Dentro del modo VR inmersivo | ❌ No se ve (solo en modo navegador) | ✅ Funciona con el skin VR de 3DVista |
Sobrevive al re-export | Hay que correr | ✅ Sí, es parte del proyecto |
Puedes combinarlos: un skin nativo sencillo para VR y el skin HTML para escritorio y celular.
Skin nativo .vts (crear_skin_vts):
Pide: "Crea un skin nativo para mi hotel en C:\skins\hotel.vts, color #1f6f43, botones anterior, siguiente, info, pantalla completa y WhatsApp +57 300 123 4567".
En 3DVista abre Skin, haz clic en el icono Open Skin Library (arriba a la izquierda del editor), luego Import Skin, elige el
.vtsy pulsa Select. También puedes importarlo al crear un proyecto nuevo.Todo aparece en el Skin Editor con nombres claros (
Contenedor_Barra,Boton_Info,Panel_Info…), listo para ajustarlo a mano.
Diseño: estilo moderno de vidrio (tema oscuro o claro) con desenfoque de fondo, bordes finos y sombras suaves; iconos de línea finos con un círculo del color de la marca al pasar el mouse; tarjeta de marca (logo, nombre, subtítulo); tarjeta de información con velo, etiqueta, título, línea de acento, párrafo con salto de línea y botones de contacto redondeados con icono; tooltips con estilo. Tipografía: Montserrat se incrusta por defecto (incluida en fuentes/montserrat, licencia SIL Open Font License 1.1). Usa fuentes para incrustar tu propia .ttf/.otf, marca.fuente para usar una fuente que ya tenga tu proyecto, o fuente_incluida: false para no incluirla.
Qué genera: contenedores (disposición absoluta, horizontal o vertical, anidados), botones de texto, párrafos (texto con salto de línea), botones con icono PNG en tus colores y variante para hover, textos, imágenes (tu logo) y acciones: mostrar/ocultar/alternar con fundido, escena siguiente/anterior, controles nativos del visor, abrir URL y JavaScript (incluida cualquier acción de generar_codigo). Plantillas listas: barra_inferior y barra_lateral, con panel de información opcional y un menú plegable de opciones (botón ⚙) con los controles del visor: silencio, pantalla completa, giroscopio (solo aparece en dispositivos que lo tienen), modo VR, mostrar/ocultar hotspots y zoom. Usan los controles nativos de 3DVista (los mismos de sus skins), así que los interruptores cambian de icono según el estado (p. ej. altavoz tachado al silenciar) y funcionan en celular y en VR.
⚠️ Cargar un skin reemplaza el skin actual del proyecto y sus acciones. Pruébalo primero en una copia del proyecto. Los menús de miniaturas (listas de escenas) todavía no se generan; agrégalos en el Skin Editor. Formato verificado con 3DVista 2026.1.2.
Qué trae el skin HTML: logo y nombre, título de la escena actual, barra de botones (abajo o a la izquierda), menú lateral de escenas con buscador y grupos, ventana de información y contacto, botón flotante de WhatsApp, recorrido automático, silencio, pantalla completa, compartir, soporte de teclado (Esc) y diseño adaptado a celulares. No usa fuentes web ni CDNs.
El ayudante TDVH en el navegador
crear_skin_html e instalar_ayudante agregan window.TDVH, una API sencilla y segura que puedes usar desde la consola o desde tu propio código:
TDVH.diagnostico(); // revisa el player, la lista y los componentes
TDVH.escenas(); // [{indice, nombre, id, clase}, …]
TDVH.irA('Cocina'); // por etiqueta (sin importar tildes/mayúsculas), id o índice
TDVH.siguiente(); TDVH.anterior();
TDVH.mostrar('Panel_Info'); TDVH.ocultar('Panel_Info'); TDVH.alternar('Panel_Info');
TDVH.click('Boton_Info');
TDVH.alCambiarEscena(function (i, escena) { console.log(escena.nombre); });
TDVH.autoRecorrido(15); // activa/desactiva el avance cada 15 s
TDVH.silenciar(); TDVH.pantallaCompleta(); TDVH.idioma('en');
TDVH.whatsapp('573001234567', '¡Hola!');
TDVH.evento('cta_click', { boton: 'whatsapp' }); // gtag / dataLayer / fbq, si existenSi un nombre no existe, devuelve false y escribe un aviso [TDVH] en la consola, sin romper el recorrido.
Flujo de trabajo recomendado
Diseñar en 3DVista ─► Exportar HTML5 ─► analizar_tour ─► generar_codigo / crear_skin_html
▲ │
└──── pegar código en acciones, re-exportar ◄── probar en el navegador
│
└─► instalar_skin_html (después de cada re-export) ─► auditar_offline ─► entregarConsejos de nombres: ponle a los componentes del skin nombres claros como Boton_Info, Panel_Escenas o Contenedor_Barra (sin espacios ni tildes), y a las escenas etiquetas legibles. El código generado los busca por esos nombres.
Visores VR y recorridos sin internet
En Meta Quest o Apple Vision Pro, el recorrido abre primero en el navegador, donde el skin HTML funciona. Dentro del modo VR inmersivo solo se ven el skin VR de 3DVista y los hotspots.
Sin internet no funcionan: YouTube/Vimeo, Google Maps, fuentes web, analítica, enlaces externos, ni WhatsApp o llamadas desde el visor. Corre
auditar_offlineantes de entregar.El skin HTML solo usa fuentes del sistema e iconos incluidos en el código.
Solución de problemas
Síntoma | Solución |
Las herramientas no aparecen en el asistente | Reinicia el cliente o abre una sesión nueva. Ejecuta |
| Indica la carpeta que contiene |
El skin no aparece | Abre el recorrido con un servidor web local, no con |
| El nombre no coincide con el del Skin Editor. Corre |
El código no funciona en la vista previa de 3DVista pero sí después de exportar | El código en modo |
Quiero deshacer todo |
|
Preguntas frecuentes
¿Modifica mi proyecto .vtp? No. Solo lee y escribe en la carpeta del export HTML5.
¿Envía mi recorrido a algún lado? No. El servidor corre en tu computador, lee archivos locales y no hace conexiones de red. Tu cliente de IA sí envía tus mensajes y los resultados de las herramientas a su proveedor del modelo, como siempre.
¿Qué versiones de 3DVista soporta? El análisis ejecuta el script del export en un entorno aislado y, si falla, lee el texto directamente. Está diseñado para los exports HTML5 actuales. Como 3DVista no documenta su funcionamiento interno, prueba siempre el código generado. Si algo falla, abre un issue.
¿Necesito saber JavaScript? No. Describe lo que quieres y el asistente escribe y revisa el código. Saber un poco te ayuda a ajustarlo.
¿Puedo usarlo en proyectos comerciales para clientes? Sí, tiene licencia MIT.
Estructura del proyecto y desarrollo
server.js servidor MCP (JSON-RPC 2.0 por stdio, sin SDK)
lib/analizar.js análisis del export + auditoría offline
lib/codigo.js plantillas de código + validación JS
lib/skin.js skin HTML, plano del skin nativo, exportación de iconos
lib/inyectar.js inyección segura y repetible en index.htm
lib/iconos.js set de iconos (línea 24×24)
lib/png.js rasterizador de iconos + codificador PNG (sin dependencias)
lib/vts.js generador/lector de skins nativos .vts
lib/guia.js guía incluida
fuentes/montserrat/ fuente incluida (SIL OFL 1.1)
runtime/ archivos que se copian al recorrido (tdv-helper.js, skin-3jc.js, skin-3jc.css)
test/ prueba de extremo a extremo + export simulado + vista previa del skinnpm test # prueba de extremo a extremo por JSON-RPC (crea test/export-demo)
python -m http.server -d test # luego abre http://localhost:8000/vista-previa.htmlLas contribuciones son bienvenidas: nuevas acciones para generar_codigo, módulos de skin, iconos y traducciones. Abre un issue o un pull request.
Aviso legal y licencia
Proyecto comunitario independiente, sin relación ni respaldo de 3DVista. Fuente incluida: Montserrat © The Montserrat Project Authors, SIL OFL 1.1. "3DVista" es una marca registrada de su propietario. Publicado bajo la licencia MIT © Corporación 3JC.
Available Tools
16 toolsanalizar_tourA
Lee un export HTML5 de 3DVista y lista escenas (en orden), componentes del skin con sus nombres exactos, hotspots, idiomas y funciones de script disponibles. Usar SIEMPRE antes de generar codigo que dependa de nombres.
Inputs: ruta_export (required), filtro, idioma, formato.
auditar_offlineB
Busca recursos de internet (YouTube, Google Maps, fuentes web, CDNs, enlaces) en el export que fallaran si el recorrido se usa sin conexion.
Inputs: ruta_export (required).
consultar_guiaB
Guia de 3DVista: flujo de trabajo, API en tiempo de ejecucion (llamadas internas), convencion de nombres, depuracion, VR y uso sin internet.
Inputs: tema.
crear_iconos_svgB
Genera un set de iconos SVG con los colores de la marca para usar en Icon Buttons del Skin Editor (incluye variante _activo para hover). Iconos: menu, cerrar, escenas, info, pantalla, pantalla_salir, audio, audio_off, compartir, whatsapp, telefono, correo, inicio, mapa, ubicacion, anterior, siguiente, arriba, abajo, play, pausa, buscar, idioma, vr, giroscopio, camara, hotspot, hotspot_off, ajustes, zoom_mas, zoom_menos, vr_off, mas, enlace, descargar, calendario, usuario
Inputs: carpeta_salida (required), png, color, fondo, +5 more.
crear_skin_htmlB
Crea un skin HTML/CSS/JS completo (logo, titulo de escena, barra de botones, menu de escenas con buscador y grupos, panel info/contacto, WhatsApp, auto-recorrido) con la marca del cliente. Sin recursos de internet. Si se da ruta_export lo instala en index.htm.
Inputs: info, marca, textos, botones, +11 more.
crear_skin_vtsA
Crea un skin NATIVO de 3DVista (.vts) listo para importar: Skin Editor > icono "Open Skin Library" > Import Skin (o al crear proyecto). Genera contenedores, botones con iconos PNG de la marca, textos, imagenes y acciones (mostrar/ocultar con fundido, siguiente/anterior, URL, JavaScript). Sobrevive al re-export y funciona con el VR de 3DVista. Use "plantilla" para una barra lista y/o "componentes" para un diseno a medida.
Inputs: archivo_salida (required), info, tema, marca, +13 more.
generar_codigoB
Genera JavaScript para 3DVista (Acciones > "Ejecutar JavaScript" de botones, hotspots o al iniciar). Acciones: ir_a_escena, siguiente_escena, anterior_escena, mostrar_componente, ocultar_componente, alternar_componente, mostrar_varios, mostrar_temporal, click_componente, abrir_url, whatsapp, llamar, correo, pantalla_completa, silenciar, auto_recorrido, cambiar_idioma, compartir, evento_analytics, al_cambiar_escena, personalizado. Use listar_acciones para ver parametros.
Inputs: accion (required), modo, parametros.
instalar_ayudanteB
Instala solo el ayudante window.TDVH en el export para poder usar codigo en modo "helper" y depurar desde la consola (TDVH.diagnostico()).
Inputs: ruta_export (required).
instalar_skin_htmlA
Reinstala un skin HTML ya creado en un export (usar despues de re-exportar desde 3DVista, que reescribe index.htm). Copia la carpeta skin-3jc y la inyecta.
Inputs: origen (required), ruta_export (required).
inyectar_en_exportA
Inserta CSS, JS o HTML propio en el index.htm del export (bloque con nombre, idempotente, con respaldo index.htm.original). Opcionalmente escribe archivos en el export.
Inputs: ruta_export (required), nombre_bloque (required), js, css, +3 more.
leer_skin_vtsA
Lee un skin .vts (exportado con "Save Skin as Portable File" o de la biblioteca de 3DVista) y muestra su arbol de componentes, nombres, acciones y textos. Util para aprender de un skin existente o revisar uno generado.
Inputs: ruta (required), formato.
listar_accionesA
Lista las acciones que generar_codigo sabe producir, con sus parametros.
Inputs: no named parameters.
obtener_ayudanteB
Devuelve el codigo fuente del ayudante TDVH (para revisar o pegar manualmente).
Inputs: no named parameters.
planificar_skin_nativoB
Produce el plano de un skin para el Skin Editor de 3DVista: arbol de componentes con nombres, tamanos, colores y el codigo de cada accion. Modulos: barra, escenas, logo, info, titulo_escena, whatsapp_flotante, idiomas, bienvenida
Inputs: marca, idiomas, modulos, contacto, +2 more.
quitar_inyeccionA
Quita un bloque inyectado del index.htm (o todos si no se da nombre_bloque).
Inputs: ruta_export (required), nombre_bloque.
validar_javascriptA
Revisa la sintaxis de un fragmento JS antes de pegarlo en 3DVista y avisa de problemas comunes (nulls, URLs externas, await).
Inputs: codigo (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 16 tools
Most tools target clear resource/action pairs: analyze export, read .vts, inject, remove, audit, generate/validate code, and create skins/icons. Some boundaries overlap between crear_skin_html/instalar_skin_html, crear_skin_vts/planificar_skin_nativo, and inyectar_en_export/instalar_ayudante, but the descriptions clarify output and workflow enough.
All 16 names are Spanish snake_case with verb-first phrasing such as analizar_tour, generar_codigo, and crear_skin_vts. Minor prepositions or adverbs like inyectar_en_export and auditar_offline do not break the predictable convention.
16 tools are slightly above the typical 3-15 range, but the server covers a broad workflow from inspection through code generation, validation, skin creation, and installation. Each tool maps to a distinct step, though a few pairs could potentially be consolidated.
The surface covers inspection, code injection/removal, helper installation, offline audit, guidance, action listing, JS validation, and both HTML and native skin creation. Minor gaps exist, such as no direct modify/update operation for an existing native .vts and no listing of injected blocks, but these are workaroundable.
Maintenance
Related MCP Connectors
Build, version, review, and export websites, web apps, and games from a conversation.
Generate, edit, and deploy immersive 3D/WebGL web projects from any MCP assistant.
Let your AI agent build, preview and update web apps, download source and publish when you allow it.
Make and edit real estate listing videos, photos and websites from your AI assistant.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to inspect, modify, export, and validate design documents with 47 tools covering design, code generation, branding, and print/mockup workflows.5 npm2MIT

SVGator MCP Serverofficial
FlicenseNot gradedqualityCmaintenanceEnables AI assistants to browse, inspect, edit, create, and export SVGator projects, handling everything from simple color edits to complex animated exports.5-
Cueflow MCP Serverofficial
AlicenseNot gradedqualityBmaintenanceEnables AI assistants to author, validate, and preview narrated, animated UI walkthroughs from static HTML scene kits, producing self-contained multilingual HTML guides without recording video.259 npm2MIT- AlicenseNot gradedqualityAmaintenanceEnables AI agents to inspect and edit live 3D scenes, materials, shaders, and lights in the browser without touching project code, then turn any previewed change into ready-to-paste source. Also provides performance and mobile audits, video frame capture, and Playwright helpers.5,202 npmMIT