mcp server
wiretext
Unicode wireframe design tool rendering editable layouts as box-drawing text.
Set up
Runs on your computer. Pick your agent and operating system.
This project does not publish an install method we can turn into a config. Follow the README instead.
README
synced Oct 26, 2026Wiretext
Wiretext is a Unicode wireframe design tool for generating editable layouts as plain text. It turns structured JSON into ASCII/Unicode layouts that can be rendered in a terminal, opened in the web editor, or created through an MCP server.
The public value is the reusable tooling:
wiretext— CLI for rendering, creating, and sharing wireframes@wiretext/mcp— MCP server for typed wireframe generation from AI assistants@wiretext/engine— layout, composition, validation, sharing, and rendering engine@wiretext/schemas— Zod schemas for tool and document contracts
Install
npm install -g wiretext
Or run without installing:
npx wiretext --help
CLI
Render a wireframe from JSON:
echo '{ "objects": [{ "type": "box", "label": "Hello", "width": 20, "height": 5 }] }' | wiretext render
Create an editable Wiretext URL:
wiretext create layout.json
Create a permanent short URL:
wiretext share layout.json --dry-run
wiretext share layout.json
Use --dry-run before share; sharing creates a permanent URL through the hosted Wiretext API.
MCP
Wiretext also ships an MCP server:
npx -y @wiretext/mcp
For Codex:
[mcp_servers.wiretext]
command = "npx"
args = ["-y", "@wiretext/mcp"]
The MCP server exposes typed tools for rendering wireframes and creating editable Wiretext URLs without shell escaping.
Agent Workflow
Wiretext is designed for coding agents and design agents:
wiretext schemaprints the runtime JSON Schema.wiretext contextprints the layout guide agents should read before generating wireframes.- Non-TTY output defaults to structured JSON.
- Mutating share operations support
--dry-run. - Input is validated with Zod before rendering or sharing.
Hosted vs self-hosted
Most of Wiretext runs entirely offline. Only short-link sharing touches a hosted service.
Fully offline (no network, no keys):
wiretext render— renders ASCII/Unicode to stdoutwiretext create— encodes the document into a fragment URL (https://wiretext.app/#…); the payload lives in the URL hash, so nothing is uploadedwiretext share --dry-run— validates and reports encoded size without postingwiretext schemaandwiretext context- The MCP
render_wireframetool
Hits the hosted API:
wiretext share(without--dry-run) and the MCPcreate_wireframetoolPOSTtohttps://wiretext.app/api/shareand return a short/w/:idURL. Point them at your own deployment with the CLI--base-urlflag or the MCPbaseUrlparameter.
Self-hosting the share endpoint needs an Upstash Redis instance:
UPSTASH_REDIS_REST_URLUPSTASH_REDIS_REST_TOKEN
Without these, /api/share responds 503 and short links are unavailable — but the editor itself, wiretext create, and hash-URL (#…) sharing keep working, because the document is carried in the URL rather than stored server-side.
NEXT_PUBLIC_POSTHOG_KEY is optional. Analytics is a no-op when it is unset, so a keyless clone still gets the full editor with hash-URL sharing.
See apps/app/.env.example for the annotated variable list.
Workspace
apps/
app/ Hosted web editor
cli/ Published `wiretext` CLI
mcp/ Published `@wiretext/mcp` server
packages/
engine/ Layout and rendering engine
schemas/ Shared Zod schemas
Development
Requires Node 24.15+ and pnpm 11 (enable it once with corepack enable).
pnpm install
pnpm dev # runs the web editor
pnpm check # lint + typecheck + test
Individual tasks are also available: pnpm build, pnpm lint, pnpm typecheck, pnpm test.
Contributing
PRs welcome. Run pnpm check before opening one. Contributions are accepted under the MIT license.
License
MIT