fenestra-mcp — Claude Code MCP server: what it does, how to install
Renders native Rust interfaces headlessly and validates layouts in Claude Code. Enables AI agents to verify UI states from JSON descriptions without compiling code.
Open on GitHubWhat fenestra-mcp does
The server connects Claude Code with the fenestra native graphics framework. Coding agents describe UI layouts using the fenestra JSON specification instead of writing Rust structs directly. From that JSON input, the engine constructs an element tree, calculates geometry using taffy, and outputs raw pixels with vello over wgpu. No browser or display server is needed.
Agents interact through specialized MCP tools, including render_a2ui for the Agent-to-UI specification and film_ui for animation inspection. The film_ui tool captures sequential frames into a single annotated filmstrip. That makes reviewing interactive state transitions straightforward.
Headless output produces deterministic images by enforcing fixed scaling and reduced motion. Because embedded typefaces only cover the Latin character set, checking CJK glyphs, emoji, and right-to-left scripts requires launching an actual operating system window.
What it helps with
- render native Rust user interfaces headlessly
- inspect layout states from JSON specifications
- generate motion filmstrips using
film_ui - evaluate layouts following the A2UI standard
Example prompts for the agent
- Render the layout in
dashboard.jsonand output a preview image - Verify button styling with
render_a2uiwithout opening a window - Capture the screen transition into a filmstrip using
film_ui
How to install fenestra-mcp
Install
The MCP registry has no launch command for it: see the repository README
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about fenestra-mcp
How do I install fenestra-mcp in Claude Code?
Build the fenestra-mcp binary via cargo and configure the executable command inside your Claude Code MCP configuration file.
What does fenestra-mcp do?
It allows Claude Code to render fenestra user interfaces headlessly, inspect element trees, simulate interactions, and verify layout accuracy.
What are the constraints of headless rendering in fenestra?
Embedded typefaces only include Latin glyphs, and animations default to reduced motion. Evaluating CJK characters, emoji, and right-to-left text requires a live desktop window.