What the keyline MCP server does
The keyline MCP server gives an AI agent a structured way to create, inspect, revise, and export visual designs. Instead of generating only pixels, the agent works with a typed scene made of layers, layout rules, styles, tokens, and components. A single master design can target several output sizes, including social formats and advertising dimensions.
Supported layer types include text, images, video, icons, geometric shapes, paths, lines, frames, spacers, and reusable components. Text can use named fonts, inline styling, wrapping rules, effects, and layout features such as dot leaders or curved text. Images support fitting, cropping, tiling, focus points, and several visual adjustments.
How it works
The agent sends batched edits to a scene rather than operating a browser or reading screenshots. Layout is recalculated for each target size using stacks, grids, constraints, sizing rules, aspect handling, and optional per-size or per-aspect changes. The system can also choose among alternatives with first-fit behavior and account for platform-covered safe areas.
After an edit, the server reports changed identifiers, a version, and either an ok result or issues to address. Checks distinguish objective defects from advisories and factual measurements. This gives the agent information such as what does not fit and which measurement needs changing, without returning the entire scene on every response.
Rendering uses Skia through a native Rust binary. GPU rendering is the default, with CPU fallback; CPU output is described as exactly repeatable. Export formats include PNG, JPEG, WebP, PDF, animated PNG, GIF, MP4, and WebM.
Setup and configuration
The repository points developers to keyline.dev for setup instructions covering supported clients. Its documentation identifies docs/concepts.md for the scene model, docs/scene.md for the scene format, and docs/tools.md for tools and configuration.
Fonts can be referenced by Google Fonts family name. A font is downloaded on first use and cached in fonts/index.json; Inter is bundled, and additional local font files can be added. Icons are addressed by name, with built-in Lucide and Font Awesome Free collections.
Tools and capabilities
The design API is organized into six batched tools rather than one tool for each property. The README explicitly shows layer_add and layer_update for creating and changing scene content. Layers can be addressed by semantic roles, reducing the need for the agent to search the scene for identifiers.
Reusable styles, design tokens, components, and templates support repeated content. Templates can be loaded from a URL or path, supplied with variables, and rendered for rows of values. Motion features include enter and exit effects, keyframes, staggered children, GSAP-style easing, and randomized starts.
Paint capabilities include solid and gradient fills, image and pattern fills, strokes, shadows, blur, masks, blend modes, corner radii, rotation, skew, and flips. The scene model also supports named size presets, media-specific changes, and responsive frame layouts.
Limitations and notes
The keyline MCP server has no graphical user interface, and the project states that there is no plan for one. Designs are authored through MCP tools and structured data. Its layout model uses its own documented behavior rather than reproducing browser layout exactly, so browser-rendering parity should not be assumed.
The server is intended for objective verification: it reports defects, advisories, and facts, while aesthetic judgment remains with the model. Browser automation dependencies such as headless Chrome, Puppeteer, and Playwright are not required according to the project description.