Prototipo · Versión preliminar: todos los servidores del registro oficial, sincronizados cada 30 minutos. Las reseñas y las cuentas llegarán en una etapa posterior.
PopNx MCPServidores MCP para quienes usan IA · explicados con palabras sencillas

tsquare wireframes

de tsquare-jsversión 0.14.2i★ –iSe ejecuta en la nube
Nombre en el registrodev.tsquare/tsquare

Instalar

Resumen

Descripción del creador (original en inglés)

Draws UI wireframes from a small text language: multi-screen boards with notes and flow arrows.

Los tres pilares de PopNx MCP

Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.

Qué puedes hacer con él

Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.

  • Conexión: Se ejecuta en la nube
  • Transporte: Streamable HTTP
  • Categoría: Documentos, hojas de cálculo y oficina

Instalación

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

Antes de instalar

Necesitas

¿Qué app usas?

Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.

Funciona en Claude para web, escritorio y móvil:

  1. Abre Settings → Connectors
  2. Presiona Add custom connector
  3. Pega la dirección de abajo y presiona Add
  4. Si te pide iniciar sesión, inicia sesión en el servicio del creador
SettingsConnectors1+ Add2https://…3
https://tsquare.dev/mcp

Ejecuta esto en tu terminal

claude mcp add --transport http tsquare https://tsquare.dev/mcp

Abrir en Cursor

O copia la configuración tú

Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json

{
  "mcpServers": {
    "tsquare": {
      "url": "https://tsquare.dev/mcp"
    }
  }
}

Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.

Abrir en VS Code

O copia la configuración tú

Pégalo en .vscode/mcp.json de tu proyecto

{
  "servers": {
    "tsquare": {
      "type": "http",
      "url": "https://tsquare.dev/mcp"
    }
  }
}

Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.

ChatGPT solo se conecta a servidores en internet:

  1. Abre ChatGPT en la web → Settings → Connectors (Apps)
  2. Presiona Create o Add (en algunos planes primero hay que activar Developer mode en Advanced)
  3. Pega la dirección de abajo, ponle un nombre y guarda
  4. Si te pide iniciar sesión, inicia sesión en el servicio del creador
SettingsConnectors1+ Create2https://…3
https://tsquare.dev/mcp

Los nombres de los menús pueden variar un poco según el plan y con el tiempo.

Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.

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

Qué puede hacer

Nombres y descripciones de las herramientas tal como los informó el servidor el 6 nov 2026. Los escribió el creador, no nosotros; los mostramos como texto sin formato.

  • wireframe_guide

    How to write a tsquare wireframe: the text format, the rules, a worked example and every component with its props. Call it once before writing your first wireframe.

  • render_wireframe

    Check tsquare wireframe text and render it. Returns a PNG of the board so you can see it, or the problems by line number (with the valid options) if the text isn't valid. Fix every problem and call it again.

  • share_wireframe

    Links for valid tsquare wireframe text, the same kinds as the playground's Copy link menu: a share link to edit it in the playground, image links (SVG, PNG), Markdown and HTML. Ask only for the links the user needs (default: an SVG image link and the share link). Each link contai

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 6 nov 2026

  • ✓ Superada

    El creador coincide con el repo

    El nombre en el registro se verificó con el dominio tsquare.dev (el registro comprueba quién es dueño del dominio)

  • … Aún sin revisar

    Sigue en mantenimiento

    Todavía no hemos leído este repo en GitHub

  • … Aún sin revisar

    Tiene licencia

    Todavía no hemos leído este repo en GitHub

  • ✓ Superada

    El endpoint responde

    Respondió en 394 ms (HTTP 200)

  • – No aplica

    Inicio de sesión con OAuth

    No hace falta iniciar sesión

  • ✓ Superada

    Sin instrucciones ocultas en las descripciones de herramientas

    Leímos 3 descripciones de herramientas y no encontramos instrucciones ocultas para la IA

Comparado con otros en Documentos, hojas de cálculo y oficinai

  • Más estrellas que el 0% de los otros 2170 servidores de esta categoría
  • Publicado en el registro más recientemente que el 90% de los otros 2170 servidores de esta categoría
  • Revisiones básicas iguales o mejores que el 100% de los otros 2170 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 tsquare wireframes?

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 la nube del creador. Te conectas por internet sin instalar nada, pero lo que envías pasa por los servidores del creador.

¿Sigue en mantenimiento?

El repo de GitHub cambió por última vez –, y la última versión (0.14.2) llegó al registro anteayer.

¿Qué apps pueden usarlo?

Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. Se conecta por URL, así que también funcionan las apps que aceptan servidores MCP remotos, como ChatGPT en modo desarrollador.

¿Qué puedo usar en su lugar?

En la misma categoría: Agent-Native Calendar, Excel MCP Server, MCP Server for Excel

Alternativas

Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.

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

Agent-Native Google Calendar - manage events, sync, and public booking

Se ejecuta en la nube★ 7620MITActualizado hace 2 meses
Instalar

Excel MCP Server

de haris-musa

Create and edit Excel files with AI: charts, PivotTables, formulas. No Excel needed.

Se ejecuta en tu computadora★ 4276MITActualizado hace 6 días
Instalar

Excel automation for AI - Sheets, Power Query, DAX, VBA, Tables, Ranges and more. Windows only.

Se ejecuta en tu computadora★ 847MITActualizado hace 3 días
Instalar

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.

tsquare

Wireframes in plain text: easy for LLMs to write, fast to render as SVG or PNG. A small text language for low-fidelity screens, with several devices side by side and notes beside them. Built for LLMs to write: the prompt comes from the component catalog, and errors come back with line numbers so a model can fix its own output.

board "Login"

screen phone "Sign in" heading "Welcome back" input "Email" placeholder="you@example.com" input password "Password" checkbox "Remember me" checked button primary "Sign in" fullWidth

Save that as login.tsq, then:

npx tsquare render login.tsq -o login.png --scale 2

Requires Node 20 or newer. To work on tsquare itself, clone the repo, run npm install, and use npm run render -- examples/notes-mobile.tsq -o notes.png --scale 2.

Docs

Getting started · The language · Components · Icons · Colors · Using it with AI

Playground

Online at tsquare.dev/playground, or locally:

npx tsquare playground   # http://localhost:4321
  • Editor: syntax highlighting, autocomplete for components, options, props, icons and colors, and problems underlined by line. Paste a whole model reply and it keeps just the code block.
  • Preview: renders as you type. Zoom and pan (⌘/Ctrl + scroll or pinch), jump to a single screen, or go full screen.
  • Links: copy a share link that reopens the wireframe in the playground, or an image link (SVG, PNG, Markdown, HTML) to embed it anywhere.
  • Examples with thumbnails, light and dark themes, a resizable split, and SVG/PNG export.
  • Components: every component with its props and a rendered example. Prompt: the system prompt for models, with a copy button.

The local playground uses the same renderer as the CLI; its links point to tsquare.dev. In this repo, npm run playground runs it from source.

Image links

A wireframe can be embedded anywhere an image works (Notion, GitHub, docs sites) with a link that contains the wireframe itself:

![Login](https://tsquare.dev/svg/zNYwxDsIwEAT7vGJ…)

The playground's Copy link menu makes these; Embedding has the steps for Notion, GitHub and your own site. The text is compressed into the URL, not encrypted, so anyone with the link can read it; see privacy. encodeWireframe and decodeWireframe in the library produce and read the same links.

Use it with

With AI

  • Claude: the tsquare skill teaches Claude the language and how to check its own wireframes.
  • Any model: the system prompt, or the hosted MCP server for Claude, ChatGPT, Cursor, VS Code and other tools that take a remote MCP URL.

In your docs

  • Docusaurus, Astro, MDX: remark-tsquare draws ```tsquare code blocks when the site is built.
  • VitePress, Eleventy: markdown-it-tsquare, the same for sites built on markdown-it.
  • Any web page: one script tag draws the code blocks in the reader's browser, with no build step.
  • Notion, GitHub and anywhere an image works: image links.

In your app

  • React: @tsquare-js/react shows boards, a zoomable viewer, an editor and a playground, including boards in a model's reply while it's still streaming in.
  • Node or the browser: the library itself.

In your editor and notes

  • VS Code (and Cursor, VSCodium, Windsurf): the tsquare extension gives .tsq files a live preview, problems as you type, highlighting and autocomplete. Also on Open VSX.
  • Obsidian: the tsquare plugin draws ```tsquare code blocks in your notes, on desktop and mobile. See the Obsidian page.

The language

One element per line; children are indented two spaces under their parent. The first line is the board.

You writeIt means
button "Sign in"a quoted string sets the main text (label, title, text…)
button primary lgbare words set options: phone, desktop, primary, ghost, row, sm, left, bottom, password…
checkbox checked, toggle offa prop name turns a boolean on; off / unchecked / no- turn it off
stack width=240 gap=8key=value sets any prop
tabs items=[All notes, Pinned]lists in [ ], items separated by commas; an item can contain spaces
data=[["$1,200", "Smith, J"]]quote an item that contains a comma (\" for a quote inside quotes)
tabbar items=[{label=Home icon=home}]objects in { }
# note to selfa comment, on its own line only; elsewhere # is text ([#1001, #1002])

If a bare word could mean two props (for example start, which is both an align and a justify value), write it as key=value. Code fences ( ``` ) are ignored, so a model's reply can be rendered as-is.

Structure

  • The top element is a board. Its children are screens, plus optional notes beside them.
  • A screen stacks its children vertically. A navbar is pinned to the top and a tabbar to the bottom.
  • modal and drawer are overlays and must be direct children of a screen.

Colors

Wireframes are grayscale. There are three deliberate exceptions in the UI itself:

You writeIt colors
board "App" accent=blueprimary buttons, solid badges, checked checkboxes and radios, toggles that are on, the active tab and tab-bar item, ghost button text
badge "Failed" tone=dangerone badge: success, warning or danger
input "Email" error helper="Required"the field's border and helper text, in red

accent takes blue, indigo, violet, pink, red, orange, green or teal, or a hex color like #1a73e8. With a light hex color, text on it switches to dark and accent-colored text is darkened so it stays readable. There are no other UI color props, on purpose.

Sticky notes beside the wireframe have their own colors, since they're annotations rather than part of the UI: note "TBD" color=pink (yellow is the default, plus blue, pink and green). See Colors for more.

Components

GroupComponents
Canvasboard, screen (phone 390×844, tablet 820×1180, desktop 1280×800, custom), note
Layoutstack, grid, card, divider, spacer
Contentheading, text (lines=3 draws placeholder lines), image (X-box placeholder), icon (any Lucide name or a brand logo such as brand-google, see Icons), avatar, badge
Controlsbutton, input (multiline=4 for a textarea), checkbox, radio, toggle, select
Navigation & datanavbar, tabbar, tabs, list, listitem, table
Overlaysmodal, drawer (left, right, bottom sheet)

Each component has its own page with a rendered example and its props: see Components.

CLI

tsquare render <file.tsq|-> [-o out.svg|out.png] [--scale 2]

tsquare check # problems by line number tsquare fmt [-w] # canonical formatting (drops comments) tsquare prompt # system prompt for models tsquare playground [--port 4321] # live editor, component reference, prompt

Run them with npx tsquare … (nothing to install), or install the tsquare command with npm install -g tsquare. Use - to read from stdin. In this repo, run them through npm: npm run check -- file.tsq. Files use the .tsq extension; the CLI reads any text file.

Library

npm install tsquare
import { renderWireframe, compileWireframe, formatIssues } from "tsquare";

const { issues } = compileWireframe(source); // problems by line, empty when valid const png = await renderWireframe(source, { format: "png", scale: 2 });

tsquare/playground exports the playground's request handler, for hosting it inside your own Node server. tsquare/viewer is the playground's zoomable board (zoom, pan, pinch, a chip per screen) for your own page: pass it the elements, then show() the SVG from renderWireframeSvg with the size and screens from measureBoardLayout (exact; boardLayout is a synchronous estimate that can be off by a line or more on boards with notes). It sets the styles its zoom math needs itself; give the stage a size, and optionally style the classes it toggles on the stage: panning (while dragging), animate (while fitting or zooming to a screen, e.g. .animate > * { transition: transform .25s }) and stale (from setStale, e.g. .stale img { opacity: .35 }). Call destroy() when you remove it. Give it the board's measureElements entries (setElements) and it reports clicks and hovers on elements, outlines them (highlight) and zooms to them (zoomTo): see Element positions. languageData() lists every component, prop, option word, icon and accent, for editor highlighting and autocomplete. In a browser bundle (esbuild, Vite, webpack) the same imports render SVG with no setup; PNG and share links need Node. On a page without a build step, draws every ```tsquare code block on the page (see Embedding). See Using it with AI for the prompt and the repair loop. measureElements gives each element's box on the board and its line in the text, and elementsAt what's under a click, for making a board clickable (see Element positions).

The editor: tsquare/editor

The playground's code editor for your own page: highlighting, autocomplete for components, props, option words, icons and accents, problems underlined on their lines, Enter keeping the indentation, and pasting a whole model reply keeps just its code block. CodeMirror is bundled inside (about 125 KB compressed once your bundler minifies it), so it imports nothing and can't clash with a CodeMirror your page already has.

import { createEditor } from "tsquare/editor";

import { compileWireframe, languageData } from "tsquare";

const editor = createEditor(document.getElementById("code")!, { doc: "board\n screen phone", data: languageData(), // autocomplete; leave it out for none onChange: (text) => editor.setIssues(compileWireframe(text).issues), });

Give the element a height; the editor fills it. Options: doc, data, onChange, onCursorLine (the caret's line, when it moves to another), lineNumbers (default true), lineWrapping (default false: wrap long lines instead of scrolling sideways, continuation rows indented 4 spaces past their line's indentation, so they don't look like a child element) and ariaLabel (default "Wireframe text"). The editor has getText(), setText(text) (one

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

Pregunta a PopNx