About CoDesign
CoDesign is a design engine for coding agents, enabling creation and editing of editable designs for print, social, and video. Its MCP server exposes design operations powered by IMG.LY's CE.SDK CreativeEngine, with exports including print-ready PDFs, images, and video.
Key features
- 01Create and edit editable designs
- 02Resize and localize layouts
- 03Batch generation from CSV
- 04Import PDF, PSD, PPTX, and Lottie
- 05Export print-ready PDF, images, and video
Use cases
- 01Adapt one graphic to multiple channels
- 02Restyle an imported PDF
- 03Generate template-based designs from CSV
- 04Prepare bleed and CMYK print files
MCP support
The MCP server exposes design tools such as edit, preview, export, list, and history to agent hosts. It runs over stdio and uses IMG.LY's CE.SDK CreativeEngine for layout, rendering, and export.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
19Saved tool list · updated 2w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| parent | string|null | Yes | Parent revision id from a previous edit (a string). To start a new design root, use the JSON null literal. REQUIRED — there is no implicit default. |
| code | string | Yes | Async JS body. `engine` is in scope, plus `engine.design` — the preferred nested-props facade; EVERY member returns a Promise (await it): create({ type, name?, props?, children? }, { parent? }), setProps(id, props), getProps(id, select?) — see the api skill. Strict return contract per the handbook. |
| title | string | No | Display name for the design. Set only when parent=null (creating a new design). For mid-chain renames use the `rename` tool. |
| note | string | No | Freeform descriptive text — what this edit accomplished. Metadata only; never load-bearing. |
| render | boolean | No | Default true: a mutating edit's result ends with a downscaled render of the (first) changed page. Set false to skip the image on read-only or diagnostic edits where seeing the canvas adds nothing. |
| fork | boolean | No | Set true ONLY when the user explicitly asked to discard their own browser-editor changes and branch from an older revision. Without it, `edit` refuses a parent whose path to the head contains a save the user made in the editor. |
| skills | string | No | Optional: comma-separated names of the CoDesign skills you are following for this edit (e.g. "handbook,api,judge"). The names are sent with usage telemetry; the edit itself ignores them. |
Details
From the project READMECoDesign
The design layer for the agent era.
CoDesign gives your coding agent a real design engine. Generate, edit, and automate fully editable designs — print, social, and video — straight from the chat, then export print-ready PDFs, images, mp4 video, and more. You steer, the agent edits the same scene, and you keep control of the outcome.
It ships as an MCP server (plus a Claude Code plugin) that hands your agent
IMG.LY's CE.SDK CreativeEngine — the same production engine behind IMG.LY's
commercial SDKs. Every recipe below spawns the published npm package
@imgly/codesign-mcp over stdio; no separate install step — npx fetches it on first
use.
What you can make
Ask your agent, in plain language:
- Resize for every channel — "Take this Instagram post and make the Story, LinkedIn and X versions."
- Make an image editable (needs the free IMG.LY sign-in) — "Split this flat product photo into layers, put the product on our brand background and make it editable."
- Restyle an existing PDF — "Import this datasheet.pdf as an editable design, restyle it with our brand kit, and export A4 and web versions."
- Generate many from a CSV — "One speaker card per row in speakers.csv, same template, all editable."
- Prepare for print — "Turn this flyer into an A4 print PDF with 3 mm bleed and CMYK."
- Update an existing design — "Open last year's flyer.psd, swap the date and venue, export again."
- Localize a design — "Translate this poster into German and re-fit the layout so nothing overflows."
- Make a short video (generated music and voiceover need the free IMG.LY sign-in) — "Turn this poster into a 15-second vertical reel: animate the headline in, cut between the three product shots, and put a music bed and a voiceover under it."
- Create a launch graphic — "Make the v2.0 launch graphic with our logo and brand colors, in X, LinkedIn and OG-image sizes."
- Create App Store graphics — "Make the App Store screenshots and the Play Store feature graphic from these five screen captures, on-brand, all sizes."
How it works
Three layers, one product:
- The plugin — skills, slash commands, and an embedded design handbook your agent draws on to design well (brand, localize, resize, and quality-check its own output). This is the piece you install.
- The MCP server (
@imgly/codesign-mcp) — exposes the design tools (edit,preview,export,list,history, …) over MCP, driven by tool calls from any agent host. - The CE.SDK CreativeEngine — IMG.LY's real, headless design engine that does the actual layout, rendering, and export.
Licensing
This repository — the Claude Code and Codex plugins, marketplace manifests,
skills and documentation — is released under the MIT License.
The CoDesign engine itself, distributed as the npm package @imgly/codesign-mcp, is
proprietary software from IMG.LY and free to use locally. The full terms ship
inside the package as LICENSE.md.
Why a real engine matters
Every other design agent draws on a web canvas — a quick fix that breaks on the hard problems. CoDesign commands a production engine matured over years across print, video, and social:
- True print & color fidelity — CMYK, bleed, and ICC profiles, not just RGB screen output.
- Deterministic output — renders identically everywhere, independent of browser or config.
- Native performance — a purpose-built engine that stays fast at scale and under heavy assets.
- Full compatibility — imports InDesign, PSD, PowerPoint (PPTX), PDF, and Lottie; exports print-ready PDF, image, video, and HTML.
Requirements & known limitations
Read this first — the failure modes below are silent.
- Node.js ≥ 22.15 is required and is not provided. The server runs on your
system Node. With no Node (or Node < 22.15) on
PATH, the host reports the server as failed with no useful reason — typicallylocal: 0andMCP error -32000. Install Node 22.15+ first: https://nodejs.org. - Pin
@0.5.1— every recipe names that exact version on purpose. The plugin ships the skills that version was built with, and a bare or dist-taggednpxwould pair them with a different server. Each release republishes this repo with a new pin — update the plugin (or your recipe) to move forward. - Windows is not supported under bare
npx. Hosts that spawnnpxdirectly hitspawn npx ENOENT(anthropics/claude-code#58510). Use WSL for now; a native Windows launcher is coming.
Install
Claude Code
Install the plugin from the marketplace:
claude plugin marketplace add imgly/codesign
claude plugin install codesign@imgly-codesign
Or add the MCP server directly, without the plugin:
claude mcp add codesign -- npx -y @imgly/[email protected] stdio
Codex
Install the plugin from the marketplace:
codex plugin marketplace add imgly/codesign
codex plugin add codesign@imgly-codesign
Or add the MCP server directly, without the plugin:
codex mcp add codesign -- npx -y @imgly/[email protected] stdio
Antigravity CLI
Clone the repo and install the plugin folder:
git clone https://github.com/imgly/codesign
agy plugin install ./codesign/plugins/codesign
Or add the MCP server directly, without the plugin:
agy mcp add codesign -- npx -y @imgly/[email protected] stdio
Gemini CLI
Gemini CLI now serves Gemini Code Assist Standard/Enterprise and API-key accounts; on a personal Google account, use Antigravity CLI above.
Install as an extension straight from the public repo:
gemini extensions install https://github.com/imgly/codesign
Or add the server manually to ~/.gemini/settings.json:
{
"mcpServers": {
"codesign": {
"command": "npx",
"args": [
"-y",
"@imgly/[email protected]",
"stdio"
]
}
}
}
Other MCP hosts
Every other host spawns the same stdio server — only the config file and the top-level key differ. Add this block to the host’s MCP config:
{
"mcpServers": {
"codesign": {
"command": "npx",
"args": [
"-y",
"@imgly/[email protected]",
"stdio"
]
}
}
}
| Host | Config file | Note |
|---|---|---|
| Cursor | .cursor/mcp.json | as-is |
| Windsurf | ~/.codeium/windsurf/mcp_config.json | as-is |
| VS Code | .vscode/mcp.json | use the key servers instead of mcpServers |
| Zed | settings.json | use the context_servers shape below |
VS Code (servers key):
{
"servers": {
"codesign": {
"command": "npx",
"args": [
"-y",
"@imgly/[email protected]",
"stdio"
]
}
}
}
Zed (context_servers):
{
"context_servers": {
"codesign": {
"command": {
"path": "npx",
"args": [
"-y",
"@imgly/[email protected]",
"stdio"
]
}
}
}
}
Beyond your machine
CoDesign runs free on your machine today. When you need more — always-on hosting, your own infrastructure (VPC / on-prem), or a fully bundled design agent that lives in the canvas — the same building block graduates by changing config, not vendors. No lock-in. Talk to us: [email protected].
Support
Questions or issues: [email protected]. This distribution is generated from IMG.LY's source repository.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.