What is the keyline MCP server?
keyline is a native Rust design engine exposed as an MCP server. An AI coding agent describes a design as a JSON scene using tools such as scene_create, layer_add and render, and keyline outputs PNG, JPEG, WebP, PDF or MP4 without a headless browser. It installs through a plugin marketplace command or a platform package.
keyline is a native design engine built in Rust, described by its own repo as a design tool for AI agents. It renders images and video at several sizes from a JSON scene description, without opening a browser or a design app.
The engine ships as an MCP server. An agent calls typed tools to build a scene, add layers and assets, then render the result to PNG, JPEG, WebP, PDF or an animated format such as MP4 or WebM.
What it changes in your workflow
- An agent builds a social post, ad or banner by calling scene_create and layer_add instead of writing image code by hand.
- Rendering is deterministic on GPU or CPU, so the same scene produces the same pixels on different machines.
- Text, gradients, shadows and masks are scene properties, so an agent edits a layer with layer_update instead of regenerating a whole image.
- A built-in set of around 5,000 icons means common glyphs do not need a separate icon lookup.
Who it is for
Best for
- Teams that want an agent to generate marketing graphics in several sizes from one scene definition.
- Workflows that need deterministic, repeatable renders instead of a diffusion model's varying output.
- Agents already using plugin or MCP tooling that can add a native binary without a browser dependency.
Not for
- Projects that need vendor-accurate icons for architecture diagrams instead of generated scenes, where the Excalidraw icon server covers that icon lookup.
- Teams that want animated SVG output rather than rendered bitmaps, where the nakkas MCP server generates that vector animation directly.
- Builds that start from an existing Figma design rather than a blank scene, where the figma-mcp-rust server reads those frames with its own tool set.
Use it with UiChemy
keyline produces standalone image and video assets, not WordPress markup. Once a banner or social graphic is rendered, UiChemy's Composer lets you place it inside an Elementor or Gutenberg page and style the surrounding layout. Click Get Started on uichemy.com.
Connect Keyline MCP Server for AI Design Generation to your AI client
/plugin marketplace add keyline-dev/keylineAdd the plugin marketplace
In Claude Code, run
/plugin marketplace add keyline-dev/keyline, then/plugin install keyline@keylineto register the server.Or install the native binary
On macOS run
brew install keyline-dev/tap/keyline-mcp. On Linux use the.debpackage from the release page. On Windows unzip the release and add it to PATH.Point other clients at the binary
For Cursor, Codex, Gemini CLI or another MCP client, add a server entry whose command is
keyline-mcpusing stdio transport.Restart and check
Restart your client and look for the keyline server in its MCP or plugin list before sending a scene prompt.
Try a prompt
Ask the agent to create a square social post with a headline, a background gradient and one image layer, then render it to PNG.
Client configuration
{
"mcpServers": {
"keyline": {
"command": "keyline-mcp"
}
}
}Endpoints and ports
keyline-mcpThe command every client runs over stdio.brew install keyline-dev/tap/keyline-mcpHomebrew tap maintained by the project./plugin marketplace add keyline-dev/keylineRegisters the marketplace, then install the keyline plugin.What you can do with it
- Scene-based buildingA design is a JSON scene that tools build up layer by layer, rather than a single generated bitmap.
- Deterministic renderingRendering runs on GPU or CPU without a headless browser, so the same scene gives the same output every time.
- Built-in icon setAround 5,000 icons ship with the engine, so an agent can place common glyphs without a separate icon tool.
- Layout systemsScenes support stacks, grids and constraints, so layers reflow when text length or asset size changes.
- Paint effectsGradients, shadows and masks are available as layer properties rather than requiring a separate image editor pass.
- Multiple output formatsrender exports PNG, JPEG, WebP, PDF, and animated formats including MP4 and WebM from the same scene.
- Token-based reuseShared styles behave like design tokens, so a change to one token updates every layer that references it.
- Several install pathsThe server installs through a plugin marketplace command, Homebrew, a
.debpackage, or a Windows zip, covering different agent setups.
Tools it exposes
scene_create
Creates a new scene, either blank or from a built-in template, that later tool calls build on.
asset_add
Adds an image or video clip to the current scene as a referenced asset.
layer_add
Adds a design layer, such as text, shape or image, and can apply a shared style.
layer_update
Modifies or deletes an existing layer, including its position, text or paint effects.
scene_describe
Reports the current layout and flags problems such as overflowing text or missing assets.
render
Outputs the scene as PNG, JPEG, WebP, PDF, or an animated MP4 or WebM output.
Frequently asked questions
What is the keyline MCP server?
It is a native Rust design engine exposed as an MCP server. An AI coding agent sends typed tool calls such as scene_create and layer_add to build a design, then calls render to output PNG, JPEG, WebP, PDF or an animated output, without opening a browser or design application.
How do I install the keyline MCP server?
In Claude Code, run /plugin marketplace add keyline-dev/keyline and then /plugin install keyline@keyline. On other platforms, install the keyline-mcp binary through Homebrew on macOS, a .deb package on Linux, or a zip on Windows, then point your client's MCP config at that binary over stdio.
Which AI coding agents work with keyline?
The project names Claude Code, Claude Desktop, Cursor, Codex and Gemini CLI as compatible clients, alongside any other MCP client that can run a local stdio server. Claude Code gets a dedicated plugin marketplace command; other clients add the keyline-mcp binary directly.
What output formats can keyline render?
The render tool outputs PNG, JPEG and WebP still images, PDF documents, and animated formats including MP4 and WebM. The same JSON scene can be rendered at several output sizes without redrawing the layout by hand.
Does keyline need a browser or GPU to run?
No browser is required. Rendering runs through a native GPU or CPU pipeline bundled in the keyline binary, which is why the project describes it as working without Chrome or a headless browser dependency.
What tools does the keyline MCP server expose?
Six tools cover the workflow: scene_create to start a design, asset_add and layer_add to populate it, layer_update to edit layers, scene_describe to check the current state, and render to output the finished design.
Does keyline include icons?
Yes. The engine ships with roughly 5,000 built-in icons, so an agent can add common glyphs directly as layers instead of fetching them from an external icon source first. The icon set covers common UI and brand glyphs, so most banners and social graphics need no extra asset lookup step before rendering.


