uisandbox-mcp
npx uisandbox-mcp open ./dist # the sandbox opens in your browser with your build — no agent neededO suelta un zip en uisandbox.org. O, en Claude Code: /plugin marketplace add AlexanderKaan/uisandbox → /plugin install uisandbox@uisandbox y di "abre esta aplicación en UISandbox".
Qué hace
Trae el build — tres formas de entrada: un zip de
dist/,build/,out/(o un repo completo con el build dentro); una carpeta (un build se renderiza, una carpeta de código fuente se lee para el soporte de mandos); una URL pública de repositorio de GitHub (obtenida como zip a través de una ruta de mismo origen — lo único que sale de la pestaña, vernotes/security.md). Mientras funciona, la puerta muestra las etapas con sus números. De lo contrario, nada sale de la pestaña: los archivos se leen en la página y se sirven al frame mediante un service worker en este origen.Míralo 1:1. Cada color, radio, fuente, tamaño, espaciado, interlineado, espaciado entre letras, peso, grosor de borde, duración, ángulo de degradado y literal de sombra en tu CSS se convierte en una variable que contiene exactamente el mismo valor, de modo que la página se renderiza tal como era — también los estilos en tiempo de ejecución (
style=""establecido por JS,<style>que tu framework añade,insertRule/replaceSyncde styled-components, Emotion, Lit, cssinjs de Ant; hojas de estilo CDN a través de un proxy de mismo origen; frames anidados de mismo origen como los de Storybook).Gira los mandos. Marca, y las familias de color que tu CSS realmente contiene (secundario, acento, el conjunto de estados, una fila de paleta para lo que no es ni lo uno ni lo otro); fondo de página; tinte gris y tono de borde; fuente de display y de cuerpo (las tuyas listadas primero, luego alternativas por carácter); diales para tamaño de texto, interlineado, espaciado entre letras, peso, espaciado, radio, grosor de borde, elevación, movimiento y ángulo de degradado — cada dial con ×1 = como en tu código en su centro; tono, saturación y contraste globales que alcanzan cada color, incluidas paletas de gráficos e iconos dibujados con CSS; tu modo oscuro, activado con tus propios ganchos.
Exporta. Tus valores como CSS / JSON / una lista de parches, tus archivos parcheados en su lugar, tokens
--k-*para web (CSS, Tailwind, shadcn), constantes Swift + un catálogo de assets para iOS,colors.xml+ Kotlin para Android.
Related MCP server: PicassoWeb
Honesto por construcción
"1:1" se mide, no se siente. Check 1:1 carga el build sin tocar y el build tokenizado lado a lado y compara los estilos calculados de cada elemento (18 propiedades, incluidas shadow roots y frames anidados). Cero diferencias o dice qué difiere.
Un medidor de alcance en el pie del escenario dice cuánto de lo que ves tocan los mandos — colores pintados, familias, tamaños, radios — y qué queda fuera (imágenes, canvas, vídeo).
Rechaza lo que no puede mostrar. Los proyectos de iOS/Android, los temas de WordPress y el código fuente sin build reciben un mensaje claro en la puerta; una página que pide archivos que el archivo no contiene lo dice ("eso suele significar código fuente, no el build de salida").
Un archivo hostil no puede navegar fuera de la herramienta, registrar su propio service worker ni desregistrar el nuestro, ni colar una ruta de zip-slip de vuelta en una exportación. Lo que sí puede hacer — alcanzar el DOM de la herramienta, porque los frames son de mismo origen por diseño — no alcanza nada que valga la pena: no hay servidor, ni credenciales, ni estado. Lee
notes/security.md; despliega en un origen propio.
Ejecútalo
pnpm install
pnpm dev # http://localhost:5190
pnpm test # vitest + node:test (audit engine)
pnpm build # dist/ — static; public/_headers rides along
pnpm holdouts # every fixture zip through the real app in headless Chromium (see below)http://localhost:5190/?load=<zip-url> carga un zip por URL (mismo origen o CORS) — la puerta que usa un agente.
Ponlo a prueba
pnpm holdouts ejecuta cada archivo en fixtures/ (builds reales de repos públicos — ignorados por git, notes/decisions.md dice de dónde vino cada uno) a través de la aplicación: carga, Check 1:1, alcance y una comprobación de host (mismo origen, un worker). Los veredictos se comparan con scripts/holdouts.expect.json; un fixture que se espera ok y no lo es hace fallar la ejecución. --only <name>, --record, --base <url> --fixtures <url> para un build de producción o el sitio en vivo.
Cómo funciona
src/
sandbox/
rewrite.ts their CSS/HTML → literals replaced by var(--us-vN); byte-preserving
table.ts the substitution sheet: one entry per (kind, value), with sites
mapping.ts knob → their values, RELATIVE to the baseline (identity at rest); families
baseline.ts the knobs on the stand of THEIR code (audit + the sheet + the rendered page)
project.ts root and deploy-base detection · screens · raw + rewritten files · guard + hook
host.ts owns the sandboxes, answers the service worker; live vars injected into HTML
verify.ts the 1:1 check: raw vs identity, computed styles per element
coverage.ts the reach meter
live.ts MutationObserver: runtime style="" and <style> get the same rewrite
scheme.ts their dark mode: hooks found in their CSS, switched
public/sw.js serves a sandbox document's URLs from the page; /__ext/ proxies CDN CSS
tokens/ panel/ state/ export/ audit/ the knob engine, panel, undo/hash, exporters, source audit
notes/ decisions (numbered), traps, lessons, security, roadmapMCP
npx -y uisandbox-mcp (npm) — o pnpm mcp desde un clon — ejecuta el mismo motor como servidor MCP (stdio): load un zip por URL o ruta, set mandos, export cualquier formato, verify la comprobación 1:1 y screenshot en Chromium sin interfaz contra la aplicación real. Ver mcp/README.md para la lista de herramientas y la configuración de Claude/Cursor. Plugin de Claude Code (skill + servidor en uno): /plugin marketplace add AlexanderKaan/uisandbox y luego /plugin install uisandbox@uisandbox — da /uisandbox ("abre esta aplicación en un sandbox", "prueba la marca #e11d48") y el servidor MCP uisandbox. La skill sola es skills/uisandbox/SKILL.md (cópiala en .claude/skills/). Codex / Cursor / otros: añade el servidor MCP (npx -y uisandbox-mcp); el servidor envía sus propias instrucciones y avisos.
Despliegue
Estático, un solo origen, service worker en la raíz. Cloudflare Pages: comando de build pnpm build, salida dist/; public/_headers mantiene sw.js sin caché y establece las cabeceras de seguridad; public/_redirects envía enlaces profundos a la aplicación. No pongas nada más en el origen.
Hoja de ruta
notes/roadmap.md: lanzamiento (uisandbox.org) · la entrada como puerta principal · ser encontrado (SEO, llms.txt, analíticas) · el servidor MCP · después del lanzamiento.
Hecho con ♥ por Alexander Kaan en Pageminds · MIT, gratis para siempre · las decisiones que lo formaron, numeradas: notes/decisions.md
This server cannot be deployed
Maintenance
Related MCP Connectors
Turn any live website into brand colors, fonts, design tokens, SVGs, Lottie and paste-ready code.
Access and maintain design system docs, tokens, components, skills, and contexts across any project.
Provides style context & tokens to design or restyle web UIs in any framework
On-demand drift checks: declared CSS color, radius, spacing & type vs your own tokens or a pack
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides access to a universal design token system with 7 pre-built themes (colors, typography, spacing, motion) and multi-format export capabilities for Canva, Remotion, PPTX, CSS, and W3C JSON.1MIT
- AlicenseAqualityBmaintenanceAnalyzes and extracts design tokens, assets, and layout from live websites to enable AI clients to faithfully replicate them, with tools for screenshotting, component inspection, and pixel-diff verification.1423 npm4MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI coding assistants to inspect frontend projects, search a curated design and motion recipe catalog, prepare and preview structured design plans, apply changes with backups and rollback, capture previews, audit UI accessibility and performance, and monitor activity via a web dashboard.13 npmMIT
- AlicenseNot gradedqualityAmaintenanceExtract design tokens, colors, typography, spacing and components from any live website, and compute design drift against an approved baseline. Exports DESIGN.md, DTCG, Tailwind and shadcn.5,798 npm3,878MIT