OpenPaper MCP Server
Allows image generation using a Gemini API key via paper-gen:// URLs.
Provides access to all Google Fonts for typography in designs, enabling agents to apply any Google Font.
Allows image generation using an OpenAI API key via paper-gen:// URLs.
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., "@OpenPaper MCP ServerCreate a pricing page for a note-taking app on the canvas."
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.
OpenPaper
An open-source, AI-first design canvas where every design is real HTML and CSS — with a Paper-compatible MCP server so Claude Code, Cursor, Codex and any MCP client can design alongside you, live.

OpenPaper is a local-first design tool. You draw frames, shapes, text and freehand sketches on an infinite canvas; AI agents connect over MCP and write HTML straight onto the same canvas while you watch. Because designs are HTML/CSS, what you see is exactly what ships: agents can read designs back as JSX/Tailwind and move them into your codebase without translation.
It speaks the same MCP tool set as Paper — all 37 tools, with the same names, parameters and response shapes — so prompts and workflows written for Paper work with OpenPaper unchanged. Everything runs on your machine; files are plain JSON in ~/.openpaper.
OpenPaper is an independent open-source project. It is not affiliated with or endorsed by Paper (Lost Coast Labs, Inc.).
Features
Canvas
Infinite canvas with pan/zoom; artboards are real DOM rendered with the exact CSS you'll ship
Tools: Move, Hand, Frame (artboards & frames), Rectangle, Ellipse, Text, Pencil (freehand → SVG), Image, Comment
Selection that respects depth (click / ⌘-click deep select / double-click to drill in), marquee, resize handles, drag to move or reorder flex children
Freeform frames (absolute children) or flex layout (column / row / wrap) with gap, padding and alignment
Layers panel with drag & drop, rename, hide/lock; pages with dividers
Inspector for size modes (fixed / hug / fill), layout, fills, borders, radius, shadows, typography (all Google Fonts + local fonts) and a raw CSS editor
Design tokens (CSS variables) used live across the file
Comments pinned to layers, threads, resolve/reopen
Copy/paste as clean HTML (paste HTML from any AI chat straight onto the canvas), drag-and-drop images
Export PNG / JPG / WebP / SVG / PDF; live JSX & Tailwind code panel
Undo/redo per person — agent changes never pollute your history, and you can undo an agent's last change from the Agents panel
AI / MCP
Built-in design agent: type "Ask AI to design…" at the bottom of the canvas and Claude designs on the canvas while you watch (bring your own Anthropic API key)
Paper-compatible MCP server: Streamable HTTP at
http://127.0.0.1:29880/mcpand stdio viaopenpaper mcp(auto-starts the app)Agents see the canvas:
get_screenshotrenders through headless Chrome/Edge — pixel-identical to the editorget_jsxuses Tailwind CSS v4's own canonicalizer for idiomatic utility classesLive presence: working indicators on the artboards an agent touches, write/edit highlights, an activity feed of every tool call
Built-in guides (
get_guide) that teach agents to design incrementally, review their work and use tokenspaper-gen://image generation with your own OpenAI or Gemini keyOne-click setup for Claude Code, Claude Desktop, Cursor, VS Code, Codex, Windsurf, Gemini CLI, Antigravity, OpenCode and GitHub Copilot CLI
Related MCP server: paper-cdp-mcp
Quick start
Requirements: Node.js 20.19+ (22 recommended) and, for screenshots/exports, any Chromium browser (Chrome, Edge, Brave or Chromium — Edge ships with Windows).
git clone https://github.com/arshit09/OpenPaper.git && cd OpenPaper
npm install
npm run build
npm start # starts the server in the background and opens the editorThe editor runs at http://127.0.0.1:29880. To put the openpaper command on your PATH:
npm link --workspace openpaper # then: openpaper start | status | stop | doctorConnect your agent
Open Connect agent in the editor for one-click setup, or use the CLI:
openpaper install claude-code # or: cursor, vscode, codex, claude-desktop, windsurf,
# gemini-cli, antigravity, opencode, copilot-cli, --allManual setup — any MCP client, stdio:
{
"mcpServers": {
"openpaper": { "command": "node", "args": ["/absolute/path/to/openpaper/packages/server/dist/cli.js", "mcp"] }
}
}Claude Code in one line:
claude mcp add openpaper --scope user -- node /absolute/path/to/openpaper/packages/server/dist/cli.js mcpOr point an HTTP-capable client at http://127.0.0.1:29880/mcp while OpenPaper is running.
Then try:
"Create a pricing page for a note-taking app in OpenPaper."
"Make three different directions for the hero section of the selected artboard."
"Turn the selected card into a React component in src/components using Tailwind."
"Create a color and spacing token set, then restyle the design to use it."

Built-in design agent
No agent app needed: open a file and type into Ask AI to design… at the bottom of the canvas. The built-in agent is Claude, working with the same 37 tools an external MCP agent gets, so you watch it lay out artboards, check its work with screenshots and refine — and you can stop it at any moment.
Credentials: paste an Anthropic API key into the chat box the first time (stored only in
~/.openpaper/config.json, owner-only permissions, never sent to the editor), or start the server withANTHROPIC_API_KEYset, or sign in withant auth login. Requests are billed to that account.Context: every message includes the file, page and selection you're looking at, so "make the selected card feel more premium" just works.
Settings (gear icon): model (Claude Opus 5.5 by default, Sonnet 5.5, Haiku 5.5) and effort (
low…max). Token usage for the conversation is shown in the header.Agent edits are a separate actor: your own undo history is untouched, and the Agents panel can undo the agent's last change.
Conversations are per file and live while the server runs; New chat starts over.
MCP tools
Group | Tools |
Files & pages |
|
Reading |
|
Writing |
|
Tokens |
|
Comments |
|
Export |
|
Full reference: docs/mcp-tools.md.
Keyboard shortcuts
Action | Keys |
Move / Hand / Frame / Rectangle / Ellipse / Text / Pencil / Comment |
|
Undo / Redo |
|
Duplicate / Group / Ungroup |
|
Add flex layout |
|
Hide / Lock |
|
Bring forward / back (to front/back) |
|
Nudge | Arrows ( |
Select children / parent |
|
Zoom to fit / selection / 100% |
|
Rename |
|
How it works
packages/core Isomorphic document model, HTML→layers importer, JSX/HTML export,
render rules, tokens, queries (shared by server and editor)
packages/server `openpaper` CLI: local server, file storage, live sync (WebSocket),
MCP server (Streamable HTTP + stdio relay), headless rendering,
Tailwind worker, image generation, built-in Claude agent,
agent-harness installers
apps/editor React canvas editor (served by the server)The server owns every document. Editors and agents send commands; each change becomes a patch broadcast to every open editor, so you see agents work in real time. Agent edits run as their own actor with their own undo history. Rendering rules live in core, so headless screenshots, exports and the canvas are identical. See docs/architecture.md.
Data: ~/.openpaper (override with OPENPAPER_HOME) — files/*.json, assets/ (images, content-addressed), index.json. Exports go to ~/Downloads/OpenPaper (OPENPAPER_EXPORT_DIR).
Image generation: set OPENAI_API_KEY and/or GEMINI_API_KEY for the server; agents use paper-gen:// URLs (see get_guide({topic: "image-generation"})).
Browser for rendering: auto-detected; override with OPENPAPER_BROWSER=/path/to/chrome. Without one, screenshots fall back to an open editor tab.
Development
npm run dev # server with live reload (expects the editor on :5173)
npm run dev:editor # Vite dev server for the editor
npm test # unit + MCP integration tests (vitest)
npm run typecheckCompatibility with Paper
OpenPaper was built by studying Paper's publicly shipped desktop app and published MCP configuration (see docs/reverse-engineering.md) and reimplementing the behavior from scratch: same tool names, parameters, ID formats (1-0, p-1-0, root_node_…), response shapes and error messages, so agents behave the same. Differences: OpenPaper is local-only (no accounts, teams, quotas or cloud sync), images can be generated with your own API keys, video export and shaders are not implemented yet.
License
This server cannot be deployed
Maintenance
Related MCP Connectors
Give your AI agents a design superpower. Generate, edit, and publish publication-grade decks, reports, landing pages, resumes, and marketing visuals directly within your agent workflow. Delivering frontier-level design quality at 3× the speed and 53× lower cost -from conversational prompt to live link or vector PDF in minutes.
Serves your design system and coding standards to coding agents, so they stop guessing.
Intelligent product canvas: iterate on your product's design with your coding agent, synced to code.
Agent-Native design tool - create and edit visual designs with agent assistance
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to collaboratively design and edit web pages on an infinite canvas using real HTML/CSS, with tools for reading, mutating, and exporting documents.372 npm1LGPL 3.0
- AlicenseBqualityCmaintenanceEnables AI assistants and design agents to connect directly to Paper Desktop via Chrome DevTools Protocol for autonomous design workflows, including atomic document editing, batch asset export, code generation, and design-system validation without rate limits.73MIT
- AlicenseNot gradedqualityAmaintenanceOpen-source multiplayer design canvas (alternative to Paper.design) with a built-in MCP server. Agents create and stream HTML artboards live next to human collaborators, review them via screenshots, comment on elements, search icons/images/logos and follow shared design guidelines.2 npm875AGPL 3.0
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to build and edit real HTML/CSS designs on a live canvas through 35 MCP tools, letting them inspect screenshots, computed styles and layout, then export production-ready React or Tailwind code. Humans can refine the same layers visually in a macOS editor.6,734 npmMIT