framery
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@framerydesign the sign-in flow and connect it to the home screen"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Framery
A local-first, agentic design board for solo developers.
You describe what to design. Your coding agent lays it out on a canvas: screens, flows, a design system, a plan. You look at it in the browser, think out loud, and ask for changes. Everything is plain files in your repo, there is no account, no cloud and no build step, and there are no dependencies to install.

Why
Solo developers design in their head, in a chat with an agent, or in a design tool the agent cannot touch. Framery gives the agent a board it can read and edit through tools, and gives you a Figma-like surface to review it.
The agent edits, you review. Every screen is an HTML file. Placement, grouping, arrows and descriptions are tools your agent calls (MCP, HTTP or CLI). The browser is where you look, pan and zoom.
Local-first. Your design lives in
framery/inside your project, next to your code, in git. Nothing leaves your machine.Safe to let an agent loose. Every prompt's changes are one entry in an undo trail: go back from the History panel, or tell the agent to undo.
Made for agents to read, too. A flow is a small JSON file with descriptions for whoever builds the screen.
outlineprints a page as text in reading order, so an agent understands a flow without opening an image.Light. Plain Node, no dependencies. Previews are drawn by the Chrome or Edge you already have. The canvas draws only what is on screen.
Related MCP server: anno
What you get
Free canvas | Dotted, full-page, light and dark. Pan, pinch and zoom. Frames of any size (phone, tablet, desktop, custom), groups like Figma sections, flowchart nodes (diamonds for branches), and thin labelled arrows in green, red or grey. |
Arrows that mean something | An arrow starts on the control that causes it ("tap Save") and ends on the screen it opens. Straight, curved or elbow lines. |
Details on click | Click a screen, a group, a component or an arrow to read its description. Layers on the left, one row per component instance. |
Components | A button used in forty screens is one definition. Change it once and every frame follows. Repeated markup is detected and can be promoted. |
Design system and plan | Pages are just boards. A design system page shows components alone; a plan page is a table (flows against phases) that agents update one cell at a time. |
Export | Any frame, flow or table as png, webp, svg or pdf, from the detail panel. |
History | Undo trail with restore. Each prompt is one step. |
Install
Requires Node 22 or newer. Previews, measured anchors and export use Chrome or Edge if one is installed; without it everything else still works.
In your project's root folder:
cd my-project
npm install --save-dev github:rafimaliki/framery#v0.2.1
npx framery init
npx frameryThen open http://127.0.0.1:4173.
init does four things, and is safe to run again:
Copies the framery skill into
.claude/skills/and.omp/skills/, so your agent already knows how to operate the board. Claude Code, omp and anything that readsAGENTS.md-style skills pick it up.Registers the MCP server in
.mcp.json(existing entries are kept). Restart your agent once so it connects.Adds the generated folders (
.cache,exports,.history) to.gitignore.Creates
framery/<your-project>/with an empty project, if there is none.
From then on, ask your agent: "Design the sign-in flow in framery", "connect these screens", "add a plan page and mark home as built", "undo that".
No MCP? The same tools run from a shell: npx framery cmd outline '{"page":"flows"}', and
npx framery tools lists them all.
Updating
Nothing updates by itself, and framery never calls the network. Updating is a choice you make:
npx framery doctor # what is installed, and is this project in step?
npm install --save-dev github:rafimaliki/framery#v0.2.1 # pick a release (see CHANGELOG.md, or the tags)
npx framery init # refresh the skill and the MCP entry
npx framery doctor # confirmReleases are git tags. Pin the one you want; the install line above is the whole upgrade.
npm ls frameryshows what you have.Your design is yours. An upgrade replaces the app in
node_modulesand, withinit, the skill copy. It does not rewriteframery/. A release that changes the data format says so in the changelog and ships its migration; a project saved by a newer version than the one installed is refused with a clear message, never half-read.doctorexits non-zero when the skill or MCP entry is out of date or a project needs a newer version, so you can run it in CI or a hook.
Using it day to day
npx framery start the studio on http://127.0.0.1:4173 (--port N, --no-render)
npx framery mcp the stdio MCP server (registered for you by init)
npx framery init wire a project; safe to repeat
npx framery doctor check versions and wiring
npx framery tools every tool and what it does
npx framery cmd <tool> '{}' run a tool from a shell
npx framery render previews, anchor boxes, autoHeight heightsEdit anything on disk (an HTML frame, a CSS file, a page) and open pages update without a refresh. Frames are
ordinary HTML, drawn at their own size with your project's CSS. Give an element id="…" or data-anchor="…" and an
arrow can start or end on it.
The tools an agent gets
outline, get_page, add_item, update_item, move_items, arrange, group_items, connect,
list_anchors, set_cell (and add_row, add_column, …), set_token, render_frames, export_item, link;
components: create_component, update_component, use_component, promote_component, find_candidates, …;
and history, checkpoint, undo, restore. The skill tells an agent which to reach for.
A project folder
my-project/
framery/
<project>/
project.json title, pages, tokens file, data format
pages/<id>.json items (frame, group, node, table) and arrows; a plan is a page with a table
tokens.css design tokens the frames use
library.json optional: components, with library/<id>.html (fragments with {{props}})
*.html, *.css your frames, any layout
.cache/ previews and measurements (generated, safe to delete)
exports/ files written by export_item
.history/ the undo trailA frame is an HTML file built from your own CSS. Edit pages through the tools, not by hand: they keep arrows valid and groups fitted. The data format and decisions behind it are in docs/design-studio.md.
Status
Early (0.x). Solid for one person designing with one agent. Not built for real-time collaboration, and the canvas is read-only by hand on purpose: placement comes from the agent. Node is the only supported runtime for now.
git clone https://github.com/rafimaliki/framery && cd framery
npm test # node --test, no install step
npm run dev # restart on changeLicense
This server cannot be deployed
Maintenance
Related MCP Connectors
Agent-Native design tool - create and edit visual designs with agent assistance
Intelligent product canvas: iterate on your product's design with your coding agent, synced to code.
A design agent in your coding agent's loop: briefs each screen, reviews UX and visual quality.
Create, read and live-edit visual boards, Kanban plans, Gantt timelines and diagrams with AI agents.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI coding agents to plan, build, and review websites and product interfaces with a persistent, user-led process, including design direction, component contracts, and implementation review.-
- AlicenseNot gradedqualityAmaintenanceLocal-first HTML review workspace for AI coding agents, enabling direct text and formatting edits, element comments, area annotations, and slide-aware review with durable agent handoffs.MIT
- AlicenseNot gradedqualityBmaintenanceEnables a coding agent to create, read, write and link HTML-native artboards, capture screenshots of its own rendered output, and collect queued canvas feedback so it can see and refine UI designs in a loop. Provides tools such as screenshot_artboard, write_artboard and get_pending_marks to close the write-render-look-fix cycle on real HTML files.1MIT
- AlicenseNot gradedqualityBmaintenanceProvides coding agents with local tools to inspect project UI inventories, propose and compare visual direction boards, compile versioned design contracts and DTCG tokens, retrieve section-specific blueprints, and audit running interfaces with browser evidence including screenshots, accessibility findings, and overflow measurements.MIT