# zenith [Health: Active]

**Category:** 📐 Architecture & Design  
**Repository:** https://github.com/zenitheditor/zenith  
**GitHub Stars:** 22  
**npm Downloads (last month):** 286  
**Views:** 2  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/zenith

## Description
Author, validate, edit, and render deterministic .zen design docs to PNG/PDF.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "zenith": {
    "command": "npx",
    "args": ["-y","@zenitheditor/zenith-mcp"]
  }
}
```

## Documentation

## What zenith does

zenith provides an MCP interface to Zenith, a design-document format and rendering engine built around plain-text `.zen` files. These files use human-readable KDL syntax and can represent posters, presentations, books, social graphics, diagrams, and other designs. Because the source is text, it can be read, reviewed, diffed, validated, and edited by both developers and AI agents.

The engine turns a `.zen` document into a backend-neutral scene and renders that scene deterministically. The same source produces the same pixels on repeated runs, making the format suitable for workflows where reproducibility matters. Output formats include PNG, self-contained SVG, and print-ready PDF.

## How it works

Zenith parses a `.zen` file, validates it against its diagnostic system, and then compiles it for inspection or export. Validation can produce regular or JSON-formatted diagnostics. Formatting produces canonical, idempotent source text, while machine fixes can apply supported corrections such as token or typo fixes.

Rendering supports single-page and multipage documents. PNG output can be scaled, SVG output can target a selected page or write one file per page, and PDF output can contain every page or a selected page. The engine can also emit its scene intermediate representation as JSON. Export reports identify rasterized regions and explain why fallback rendering was required.

## Setup and configuration

The MCP-focused installation uses npm:

```bash
npm install -g @zenitheditor/zenith-mcp
npx -y @zenitheditor/zenith-mcp --help
```

The package installs a matching prebuilt `zenith` binary from GitHub Releases. Linux, macOS, and Windows installation paths are supported. The underlying CLI can also be installed with the platform install scripts, Cargo, or a release archive. Cargo users can install `zenith-tool`, which provides the `zenith` executable.

For script-based installation, `ZENITH_INSTALL_DIR` changes the destination directory; the default is `~/.local/bin`. Source builds use Cargo and can install the release binary from the repository workspace.

## Tools and capabilities

Agent workflows can use Zenith operations for:

- Creating and editing `.zen` design documents.
- Validating source and requesting machine-readable diagnostics.
- Applying supported automatic fixes.
- Formatting source into canonical KDL text.
- Listing design tokens and resolved values.
- Inspecting the document node tree without modifying it.
- Rendering PNG, SVG, and PDF files.
- Rendering all pages or selecting an individual page.
- Exporting the compiled scene as JSON.

PNG output accepts a scale value from greater than zero through 4. SVG and PDF fallback resolution can be adjusted separately with `--raster-scale`. Export policies can deny SVG or PDF raster fallback, and blocking diagnostics prevent output writes. SVG text is outlined, so it preserves appearance but loses text selection and search. Captured PDF content can similarly lose text selection, search, or link targets.

## Limitations and notes

Some visual features require raster fallback during SVG or PDF export. Reports identify affected pages, command ranges, and reasons. Existing bitmap assets retain their source resolution, while `--raster-scale` changes fallback pixels without changing vector geometry or page dimensions.

File writes use a temporary sibling followed by a rename, preserving an existing destination when a write fails. In batch operations, earlier committed outputs may remain after a later I/O error, and result rows retain committed paths alongside failure status. Read-only destinations are rejected.

_Full upstream README: https://allmcps.com/mcp/zenith/readme_

