▶ Watch the 30-second demo in HD
AI-native diagram tool. 28+ rendering engines (Mermaid, PlantUML, D2, Vega-Lite, TikZ, Graphviz, WaveDrom, Bytefield, …) wrapped behind an MCP server, with annotations, infinite-canvas multi-tile workspace, and a marketing-surface workspace UI. Cycle 4 ships as a hosted service with optional self-host.
Visit https://prixmaviz.ailuxis.com — your workspace is created automatically and the URL is bookmarkable. Lose the URL, lose the workspace, so save it somewhere.
Supported platforms: macOS (Apple Silicon + Intel), Linux (x64 + arm64), Windows (x64). The plugin install itself is tiny (~3 KB launcher script). On your first diagram render, the launcher downloads the matching pre-built shim binary (~60–115 MB depending on platform) from this repo's GitHub Releases and caches it at ~/.cache/prixmaviz/bin/ (POSIX) or %LOCALAPPDATA%\prixmaviz\bin\ (Windows). Subsequent calls hit the cache — zero network.
claude plugins marketplace add MichaelDanCurtis/PrixmaViz
claude plugins install prixmaviz@prixmavizcodex plugin marketplace add MichaelDanCurtis/PrixmaVizThen enable the plugin in ~/.codex/config.toml:
[plugins."prixmaviz@prixmaviz"]
enabled = trueRestart Codex. Your next prompt that mentions diagrams will route through PrixmaViz.
PrixmaViz is a standard stdio MCP server, so any VS Code extension that supports MCP servers can use it — no PrixmaViz-specific extension is needed. The configuration shape is the same for every host; just paste the snippet below into your extension's MCP config and update the absolute path to wherever the shim binary lives on your machine (after a first CC/Codex install it's cached at ~/.cache/prixmaviz/bin/prixmaviz-mcp-0.9.0-<platform> on POSIX or %LOCALAPPDATA%\prixmaviz\bin\ on Windows; on a fresh machine, download the matching prixmaviz-mcp-<platform> from the v0.9.0 release).
Universal snippet:
{
"mcpServers": {
"prixmaviz": {
"command": "/absolute/path/to/prixmaviz-mcp",
"env": {
"PRIXMAVIZ_REMOTE_URL": "https://prixmaviz.ailuxis.com"
}
}
}
}Where to put it:
- GitHub Copilot Chat (VS Code, recent versions with MCP support) → workspace
.vscode/mcp.jsonor usersettings.jsonunder the MCP servers key. See the Copilot Chat MCP docs for the exact path. - Cline → command palette →
Cline: Open MCP Settings(writes to~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.jsonon macOS). - Continue → edit
~/.continue/config.jsonand add themcpServersblock underexperimental(or top-level — depends on Continue version; see their MCP docs). - Roo Code, Cursor (the IDE), and other MCP-aware tools → each has its own settings UI, but the JSON shape above is what they all expect.
Once configured, restart the extension. Asking the AI for a diagram should now route through PrixmaViz the same way Claude Code and Codex do.
The plugin uses https://prixmaviz.ailuxis.com by default. To point at your own self-hosted instance, set PRIXMAVIZ_REMOTE_URL in the cached .mcp.json (~/.claude/plugins/cache/.../<version>/.mcp.json or ~/.codex/.tmp/marketplaces/prixmaviz/plugin/.mcp.json). To run a locally-built binary instead of the released one, set PRIXMAVIZ_MCP_BIN to its absolute path.
The AI will now use PrixmaViz whenever you ask for diagrams. Try:
Show me the TCP handshake.
@prixmaviz/cli is the scriptable companion to the MCP plugin — push DSL files to your workspace, pull rendered diagrams to disk, list the library, and round-trip whole workspaces as .pviz bundles. Useful for CI pipelines, doc-site builds, and shell-driven workflows where you don't want an AI in the loop.
npm install -g @prixmaviz/cli
prixmaviz login # one-time: server URL + workspace token
prixmaviz push docs/diagram.mmd # render + save (engine auto-detected from extension)
prixmaviz pull service-topology # download the rendered SVG
prixmaviz list --tag infra # browse the library
prixmaviz export-workspace --out ./bak # snapshot the whole workspace to a .pviz bundleStandalone binaries (no Node required) are also published to each cli-v* GitHub Release for darwin-arm64, darwin-x64, linux-arm64, linux-x64, and windows-x64.
See packages/cli/README.md for the full command reference, config-file paths, and engine auto-detection table.
git clone https://github.com/MichaelDanCurtis/PrixmaViz
cd PrixmaViz
cp .env.example .env
docker compose up -dOpen http://localhost:5180 — your workspace is ready. All 6 containers (server, postgres, kroki orchestrator, mermaid, bpmn, excalidraw sidecars) come up automatically. PlantUML is built into the orchestrator.
For production, set:
PRIXMAVIZ_PUBLIC_URL— the canonical URL diagrams share (e.g.,https://prixmaviz.yourcorp.com)DATABASE_URL— your external Postgres (omit to use the bundled one)- TLS terminator in front (nginx, Caddy, Cloudflare, etc.)
Anonymous workspaces expire after 1 hour of inactivity. Activity means any authenticated /api/* request — keeping a browser tab open with the workspace loaded is sufficient.
Pin a workspace indefinitely by toggling at least one diagram to public (🌐 icon on the tile header). Workspaces with any public diagram are exempt from TTL.
To change the policy, set in your .env:
PRIXMAVIZ_WORKSPACE_TTL_MINUTES=60— how long before idle workspaces expire (set 0 to disable)PRIXMAVIZ_REAP_INTERVAL_MINUTES=5— how often the reaper runs
- Bun + TypeScript server: HTTP + WebSocket + 11-tool MCP dispatch, Postgres persistence, Bearer-token workspace auth
- React + Zustand web client: infinite canvas with tiles, annotation overlay, public-view toggle, settings panel
@prixmaviz/shimbinary: thin MCP stdio→HTTP forwarder distributed via the CC plugin (5 platform builds: darwin-arm64/x64, linux-arm64/x64, windows-x64)- Postgres 16: 3 tables (workspaces, diagrams, annotations) with workspace-scoped queries
- Kroki for rendering (configurable via
KROKI_URL)
See docs/superpowers/specs/2026-05-11-prixmaviz-cycle-4-design.md for the design rationale.
PrixmaViz natively renders, imports, and exports Microsoft Visio diagrams:
- Drag-drop a
.vsdxonto the canvas to render it (server-side via theprixmaviz-vsdxsidecar, which runsunoserver/LibreOffice). - AI translation — ask Claude/GPT/etc. "convert this Visio diagram to Mermaid" and the AI calls
analyze_vsdxto get structured shape data, then generates DSL withcreate_diagram. No server-side LLM is used. - Export any graph diagram as
.vsdxvia the tile menu. Mermaid/D2/Graphviz emit Visio-editable shapes from a ~35-shape stencil. Other engines produce an image-embed.vsdx.
Self-host requires the prixmaviz-vsdx sidecar from docker-compose.yaml. Default upload cap is 5MB (VSDX_MAX_BYTES).
packages/
shared/ # TypeScript types shared between server, web, and shim
server/ # Bun HTTP+WS+MCP server, Postgres repos, hit-testers
web/ # React webview — InfiniteCanvas, Tile, public view, settings
shim/ # MCP stdio→HTTP forwarder (compiled to native binary)
plugin/ # Claude Code + Codex CLI plugin (.claude-plugin/, .mcp.json, bin/)
docs/
marketing/ # Hero video (HyperFrames source) + GIF/poster
superpowers/
specs/ # Cycle design specs
plans/ # Cycle implementation plans
- Cycle 1 — Foundation: Bun server + Tauri shell + 6-tool MCP + Mermaid IR + .pviz persistence
- Cycle 2.plus — Annotations + multi-canvas + initial install path (10 MCP tools)
- Cycle 3 — Real Claude Code plugin: skills, hooks, slash command, 14 MCP tools
- Cycle 4 — Service-first architecture: docker-compose stack, Postgres multi-tenant, thin shim binary, marketing-surface UI
See docs/superpowers/specs/ and docs/superpowers/plans/ for design + implementation history.
MIT — see LICENSE.
PrixmaViz uses Kroki (MIT) for rendering.