open-beauty
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., "@open-beautyCreate a brutalist HTML page for a coffee shop called Luna."
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.
ES — Un harness de diseño en TypeScript con servidor MCP. Le das a un modelo un brief corto y devuelve una página HTML completa o un GIF, con tipografía, paleta, bordes, movimiento y validación ya decididos. La IA escribe el contenido; el sistema escribe el gusto.
EN — A TypeScript design harness with an MCP server. Give a small model a short brief and get a complete HTML page or looping GIF with typography, palette, borders, motion and a validator already decided. The model writes content; the system writes taste.

Por qué existe
Los modelos chicos pueden escribir un buen titular. Lo que no pueden hacer de forma consistente es elegir una tipografía, un acento, un ancho de borde y un ritmo de animación que funcionen juntos. El resultado típico es la estética "IA genérica": Inter, tarjetas redondeadas, degradados violetas, todo centrado, nada recordado.
Este repo mueve esas decisiones a tres sistemas editoriales completos. El modelo solo tiene que elegir uno, escribir contenido real y llamar a una herramienta.
Sin LLM en runtime. El render es determinista: brief + preset → HTML/GIF.
Sin plantillas genéricas. Cada estilo tiene su propio layout, no un recoloreo.
Con validador. Un página que se sale de la línea editorial se detecta y se corrige antes de publicar.
Un solo archivo. El HTML es autocontenido; el GIF se genera con canvas y
gifenc.
Related MCP server: visualspec
Los tres estilos
Renaissance | Brutalist | Paper Craft |
Pergamino, tinta, oro. Simetría, arco, capitular. Lento y digno. | Papel, tinta, ácido. 3px, sombras duras, marquee. Ruidoso. | Crema, kraft, washi tape. Capas, recortes, flotación. Cálido. |
|
|
|
Cada estilo incluye tokens exactos, reglas de layout, recetas de componentes, voz de copy y una lista de "nunca". Están en docs/STYLEGUIDE.md y en las skills de skills/.
GIFs
Renaissance | Brutalist | Paper Craft |
Los tres salen del mismo comando que las páginas y comparten la línea editorial.
Sitios educativos
El harness también sirve para lecciones, museos y explicadores, no solo para landings. Dos versiones propias, con copy real y fuentes citadas:
Renaissance | Paper Craft |
La città ideale — perspectiva, espacio y poder. Campos planos de fresco, EB Garamond, plato asimétrico. | Museo de las Cosas Pequeñas — insectos y semillas. Fraunces Soft, capas de papel, geometría cortada. |
Ambas pasan A/100 y vision 4/4. El método para escribir una lección está en skills/education.md.
Quickstart
Requisitos: Node ≥ 22, pnpm, Git.
git clone https://github.com/jdsalasca/open-beauty-site.git
cd open-beauty-site
pnpm install
pnpm build
# ver los estilos
node dist/cli.js styles
# crear una página
node dist/cli.js page \
--style brutalist \
--title "LUNA / SIGNAL" \
--tagline "A transmission from the other side of the prompt." \
--intro "We build signals for people who are tired of being talked to." \
--out out/luna.html
# crear un GIF
node dist/cli.js gif \
--style papercraft \
--text "Taller Papel" \
--subtitle "Hecho a mano" \
--out out/taller.gif
# auditar
node dist/cli.js validate out/luna.html --style brutalist --strictTambién podés generar los tres ejemplos completos:
pnpm examplesMCP
El servidor habla stdio y expone siete herramientas. Está pensado para que un modelo débil no tenga que adivinar nada.
node dist/mcp/server.jsClaude Code
claude mcp add -s user open-beauty -- node "C:/absolute/path/open-beauty-site/dist/mcp/server.js"Codex
[mcp_servers.open_beauty]
command = "node"
args = ["C:/absolute/path/open-beauty-site/dist/mcp/server.js"]
startup_timeout_sec = 30.0Cursor / genérico
{
"mcpServers": {
"open-beauty": {
"command": "node",
"args": ["C:/absolute/path/open-beauty-site/dist/mcp/server.js"]
}
}
}Herramientas
Tool | Qué hace |
| Lista los tres estilos y para qué sirve cada uno. |
| Devuelve tokens exactos, reglas y do/don't. Es la fuente de verdad. |
| Devuelve la skill lista para pegar en el contexto del agente. |
| Crea una página completa y la escribe a disco. |
| Crea un GIF con el mismo estilo. |
| Audita un HTML y devuelve score, grade y fixes. |
| Devuelve las rutas de los ejemplos de referencia. |
Recursos: beauty://styles/{renaissance|brutalist|papercraft} y beauty://skills/beauty.md.
El servidor manda instrucciones al conectarse: listar estilos → leer el estilo → crear con copy real → validar hasta A. La misma secuencia está en skills/beauty.md.
Validación
El validador no es un navegador; es un auditor de la línea editorial. Devuelve dos números: craft (¿obedece el manual?) y vision (¿tiene una idea visual?).
A · 100/100 · brutalist
vision 4/4 · all checks pass · scale-jump, flat-fields, asymmetry-or-bleed, material
No craft issues. The page respects the editorial system.
stats: {"bytes":18381,"colors":7,"fonts":["Space Mono","Archivo Black"],"radii":[],"durations":[0.25,0.3,0.45]}Y cuando algo está mal:
[error] forbidden-font: "Inter" is forbidden in Brutalist.
fix: Use Archivo Black for display and Space Mono for text.
[warn] radius-out-of-range: border-radius 8px is outside Brutalist's 10–48px range.
fix: Use a cut corner, not a generic rounded rectangle.
[error] hard-shadow-in-papercraft: Paper Craft shadows must be soft.Chequea fuentes, colores, bordes, radios, sombras, motion, landmarks, placeholders y contraste. La vision mide salto de escala, campos planos de color, asimetría/sangría y materia física. Craft A + vision 4/4 es el estándar; el resto son páginas obedientes, no arte. Los criterios están en docs/ART-DIRECTION.md.
Probado con modelos reales
No es una demo teórica. Dos agentes distintos, dos estilos distintos, sin HTML escrito a mano:
Agente | Estilo | Resultado | Evidencia |
Codex CLI 0.163 · | Brutalist | A · 100/100 | |
Codex CLI 0.163 · | Paper Craft | A · 100/100 · vision 4/4 | |
| Paper Craft | A · 100/100 | |
| Renaissance | A · 100/100 |
Luna llamó las herramientas MCP en orden y no escribió HTML. La v2 usa la dirección nueva (Fraunces Soft, capas de papel, geometría cortada) y pasó craft A + vision 4/4. La comparación v1/v2 está en examples/agents/: la v1 usaba DM Serif y Lato; la v2 usa Fraunces y Nunito Sans. El detalle de los runs está en docs/TESTING.md.
Cómo funciona
brief + style ──► preset ──► renderer ──► HTML ──► validator ──► score + fixes
│
└────► canvas frames ──► gifenc ──► GIFsrc/styles/presets.ts— los tres sistemas como datos: paleta, fuentes, reglas, guía.src/page/*.ts— un renderer por estilo, con CSS y markup propios.src/validate.ts— auditoría y scoring.src/gif.ts— frames con@napi-rs/canvas, encoding congifenc.src/mcp/server.ts— el servidor MCP.src/cli.ts— la misma funcionalidad desde la terminal.skills/— la mitad en lenguaje natural del harness.
Más detalle en docs/ARCHITECTURE.md y docs/MCP.md.
Estructura
open-beauty-site/
├── src/ # presets, renderers, validator (craft + vision), GIF, MCP, CLI
├── skills/ # beauty.md + education.md + una skill por estilo
├── docs/ # style guide, art direction, MCP, arquitectura, testing
├── examples/ # 3 páginas, 3 GIFs, 2 lecciones, agentes y previews
├── fonts/ # TTFs OFL para los GIFs
├── scripts/ # build de ejemplos/lecciones/docs, QA y e2e con colmena
└── test/ # tests de core y MCPRoadmap
Art Deco (Poiret One) para arquitectura, jazz y timelines.
Isotype (Jost + IBM Plex) para datos, economía y matemática.
Op Art (procedural) para percepción, geometría y física.
Memphis y Ukiyo-e en una segunda ola, con bibliotecas de formas.
format: slide(1600×900) y bloquesfigure,keyIdea,process.beauty_create_socialpara carruseles y OG images.Self-hosting de fuentes en el HTML para uso offline.
Publicación en npm (
npx open-beauty-site).
Las ideas completas, con paletas y tipografías, están en docs/ART-DIRECTION.md.
Contribuir
Las contribuciones son bienvenidas. Si agregás un estilo, tiene que pasar el validador en A, tener su skill generada y un ejemplo visual. Leé CONTRIBUTING.md.
Licencia
MIT. Las fuentes incluidas son OFL: EB Garamond, Archivo Black, Space Mono, Fraunces y Nunito Sans. Las licencias están en fonts/.
Hecho con demasiado café en Buenos Aires.
This server cannot be deployed
Maintenance
Related MCP Connectors
Generate images, GIFs, videos, and PDFs from HTML, URLs, or templates — from your AI agent.
Agent-Native design tool - create and edit visual designs with agent assistance
Give your agent a real design system: tokens, measured WCAG contrast, and rules to follow.
Give your AI agents a design superpower. Generate, edit, and publish publication-grade decks, reports, landing pages, resumes, and marketing visuals directly within your agent workflow. Delivering frontier-level design quality at 3× the speed and 53× lower cost -from conversational prompt to live link or vector PDF in minutes.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to collaboratively design and edit web pages on an infinite canvas using real HTML/CSS, with tools for reading, mutating, and exporting documents.782 npmLGPL 3.0
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to convert natural-language briefs into structured visual specs, deterministically render typography and layouts, and run constraint-aware visual QA and targeted repair for image generation.26 npmApache 2.0
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to build and edit real HTML/CSS designs on a live canvas through 35 MCP tools, letting them inspect screenshots, computed styles and layout, then export production-ready React or Tailwind code. Humans can refine the same layers visually in a macOS editor.6,734 npmMIT
- AlicenseAqualityCmaintenanceGives AI coding agents a ten-phase frontend design pipeline (audit, style direction, build, review, verify, perf, brand) with an exclusive style menu. Its verify_page tool loads a URL in a real Playwright browser at mobile and desktop viewports and returns screenshots, ARIA snapshots, console errors, failed requests, horizontal-overflow offenders, axe-core violations, and pointer type.3MIT