Install CoDesign MCP in your agent

Paste this prompt into your agent. It reads this page and does the whole install, including setting up Node if it is missing.

Paste this into Claude Code, Codex, or any other agent
Help me install the CoDesign plugin: https://codesign.co/mcp/install.md
Set it up by hand

In Claude Code, Codex, Antigravity, Copilot CLI and Cursor it installs the CoDesign plugin; any other agent, harness or agent framework adds the CoDesign MCP server directly. Prefer the server without the plugin? Ask for the MCP server instead and it takes that route in any agent. The one thing left to you comes at the end: after a plugin install in Claude Code, type /reload-plugins; in Cursor, run Developer: Reload Window; otherwise, restart the agent.

For the agent reading this

Install CoDesign for the user. Do every step below yourself, in order, without asking for confirmation. Stop to ask only if a step needs a permission you do not have.

Objective. CoDesign, IMG.LY’s design engine for agents, runs as a local MCP server (@imgly/codesign-mcp, started over stdio) and makes editable designs, print PDFs and videos. There are two ways to install it, and both are complete: the CoDesign plugin (Claude Code, Codex, Antigravity, Copilot CLI, Cursor) or the CoDesign MCP server added directly (every agent). When you are done, one of them is installed in the agent you are running in. The user knows the one step left to them. No account and no API key are needed.

Done when all of these hold:

  • node --version prints v18 or newer for the plugin, v22.15 or newer for the MCP server route.
  • Plugin route: your agent lists the plugin. Claude Code: claude plugin list shows codesign@imgly-codesign. Codex: codex plugin list shows codesign@imgly-codesign as installed and enabled. Antigravity: agy plugin list shows codesign. Copilot CLI: copilot plugin list shows codesign@imgly-codesign. Cursor: ~/.cursor/plugins/local/codesign/mcp.json exists.
  • MCP server route: your agent lists a codesign server. Claude Code: claude mcp list. Codex: codex mcp list. Antigravity: agy mcp list. Copilot CLI: copilot mcp list. Any other agent: its MCP server list, or the config file it loads, has a valid codesign entry.
  • The server starts: its command runs and waits for input instead of exiting with an error, and where your agent checks servers (Claude Code’s claude mcp list), it shows CoDesign connected.
  • You told the user how to load CoDesign and what to send next (step 05).

To do

  • Step 01: Node is installed: 18 or newer for the plugin, 22.15 or newer for the MCP server route.
  • Step 02: the server package has been downloaded once (MCP server route only).
  • Step 03 (the plugin) or step 04 (the MCP server): CoDesign is installed.
  • The “Done when” checks above pass.
  • Step 05: the user knows how to load CoDesign and what to send.

Which route is yours. Run step 03, the plugin, if you are Claude Code, Codex, Antigravity, Copilot CLI or Cursor. Run step 04, the MCP server, if the user asked for the MCP server rather than the plugin, if the plugin install fails or is not available to you, or if you are any other coding agent, an IDE assistant, a custom harness or an app built on an agent framework or SDK. If you cannot tell, use step 04: it works in every MCP client. Do not install both.

Steps

Run steps 01 and 02, then step 03 (plugin) or step 04 (MCP server), then step 05.

Step1

Get Node in place

The plugin needs Node 18 or newer: Claude Code needs it once, because its launcher installs CoDesign with a Node of its own; Codex, Antigravity, Copilot CLI and Cursor start the plugin’s launcher on it every time. The MCP server route (step 04) runs the server with npx and needs Node 22.15 or newer. Check the version first. If Node is missing or older than your route needs, install or upgrade it yourself rather than handing that back to the user. Use whatever the machine already has: nvm, fnm, mise, Homebrew, or the system package manager. Prefer a version manager over sudo. Ask only if the install needs a permission you do not have. On Windows, the Claude Code, Codex and Copilot CLI plugins run natively, no WSL needed. The npx route needs WSL for now, so run its steps inside it: hosts that start npx directly on Windows fail with spawn npx ENOENT.

Check the installed Node version
node --version
Quickest path when nvm is available
nvm install 22 && nvm use 22
Step2

Download the server once, and let it finish

Skip this step for the plugin: it installs CoDesign itself, in the background, the first time its server starts. For the MCP server route, the first start of the CoDesign MCP server downloads a large package. It can take several minutes, longer than most clients wait before they give up on a server, and a client that gives up mid-download can leave a broken cache behind. So start it once yourself, before your client does: run the command below and wait until the process stays running and waits for input, then stop it. Allow up to 10 minutes and do not stop it early. If it fails with ENOTEMPTY, delete the folder named in the error (under ~/.npm/_npx/) and run it again.

First start, in the terminal
npx -y @imgly/codesign-mcp@latest stdio
Step3

Plugin route: install the CoDesign plugin

Run your agent’s list command from “Done when” first. If Claude Code lists codesign@anthropic-plugin-directory, that is an older CoDesign from the Anthropic Directory: remove it with claude plugin uninstall codesign@anthropic-plugin-directory, and do step 05 in full afterwards even if CoDesign still answers in this session. Then, if the list shows CoDesign as “Done when” names it (Claude Code: codesign@imgly-codesign), skip to step 05; if CoDesign is already usable in this session and you removed nothing, skip step 05’s reload or restart too and give the user only the onboarding message. Otherwise run the commands for your agent, in order, in the terminal. The plugin includes the server, so there is no separate server to register. If a command fails because the marketplace or plugin is already installed, that is fine: move on. Then run the list command again to confirm. If your agent shows the CoDesign server as failed, Node is missing or older than 18 on the PATH the agent uses: go back to step 01. If the plugin install fails and you cannot fix it, use step 04 instead.

1. In the terminal, add the IMG.LY marketplace
claude plugin marketplace add imgly/codesign
2. Install the plugin
claude plugin install codesign@imgly-codesign
A person typing them into Claude Code uses /plugin marketplace add imgly/codesign and /plugin install codesign@imgly-codesign instead.
1. In the terminal, add the IMG.LY marketplace
codex plugin marketplace add imgly/codesign
2. Install the plugin
codex plugin add codesign@imgly-codesign
1. In the terminal, clone the plugin repo
git clone https://github.com/imgly/codesign
2. Install the plugin folder
agy plugin install ./codesign/plugins/codesign
1. In the terminal, add the IMG.LY marketplace
copilot plugin marketplace add imgly/codesign
2. Install the plugin
copilot plugin install codesign@imgly-codesign
1. In the terminal, copy the plugin folder into Cursor's local plugins
d=$(mktemp -d) && git clone --depth 1 https://github.com/imgly/codesign "$d/codesign" && mkdir -p ~/.cursor/plugins/local && rm -rf ~/.cursor/plugins/local/codesign && cp -R "$d/codesign/plugins/codesign" ~/.cursor/plugins/local/ && rm -rf "$d"
Or, without a terminal: in Cursor, open Customize, choose From GitHub Repository, enter https://github.com/imgly/codesign, then Install. On a Teams or Enterprise plan, an admin can add the same URL as a team marketplace with Import from Repo. Untested in Cursor. On Enterprise, an admin must allow local plugin imports.
Step4

MCP server route: add the CoDesign MCP server

Skip this step if you installed the plugin in step 03. Here you add the CoDesign MCP server directly. The server is the same everywhere: the command npx with the arguments -y @imgly/codesign-mcp@latest stdio, a local stdio server with no environment variables. Keep @latest so npx re-resolves the package instead of reusing a stale cached copy, and keep stdio, which selects the transport.

Claude Code, Codex, Antigravity or Copilot CLI. Use the command for your agent below, then its list command from “Done when”.

1. In the terminal, add the server
claude mcp add --scope user codesign -- npx -y @imgly/codesign-mcp@latest stdio
--scope user makes CoDesign available in every project, not only the current folder.
1. In the terminal, add the server
codex mcp add codesign -- npx -y @imgly/codesign-mcp@latest stdio
1. In the terminal, add the server
agy mcp add codesign -- npx -y @imgly/codesign-mcp@latest stdio
1. In the terminal, add the server
copilot mcp add codesign -- npx -y @imgly/codesign-mcp@latest stdio

Any other CLI agent. Most have an mcp subcommand; --help on your CLI names it. Pass it the name codesign and the command above.

A config file. If your client reads a JSON config, merge the block below into it, keeping any servers already listed. Match the shape of the file you find: the wrapper key is mcpServers in most clients, but a few name it differently, and the command and args pair is the part that matters.

An agent framework or SDK. If you run inside an app built on an agent framework, register a stdio MCP server in its MCP client configuration with the same command and arguments, under the name codesign. If the framework connects MCP servers at runtime, connect it now and check that the codesign server connects and offers tools.

Any other agent: the server as a config entry
{
  "mcpServers": {
    "codesign": {
      "command": "npx",
      "args": ["-y", "@imgly/codesign-mcp@latest", "stdio"]
    }
  }
}

Then confirm it registered: run your client’s list command, the counterpart of whatever you registered with, and check that codesign appears. If it has no list command, read the config file back and check that the entry is valid JSON and sits in the file the client actually loads. A wrong Node version and a typo in the command cover most failures; fix them yourself and show the user the output only if you cannot.

Step5

Hand back to the user, the only manual step

A new install is not available in this session yet, so do not try to use CoDesign now (unless your framework connected it at runtime in step 04). This last part is the one thing you cannot do for the user. After installing or removing a plugin in Claude Code, tell them to type /reload-plugins, which loads the plugin without leaving the session and is harmless if it already loaded (if CoDesign still does not appear, they restart Claude Code). After a plugin install in Cursor, tell them to run Developer: Reload Window. After an MCP server install, and in any other client, tell them to restart the agent. Then they send the message below. It starts a short guided flow that explains what CoDesign does and produces one finished design. No account is needed. Signing in to a free IMG.LY account is optional and only adds AI image generation.

What the user sends once CoDesign is loaded
start the CoDesign onboarding

If something fails

  • The client shows the server as failed, often with MCP error -32000. Node is missing or older than the route needs (18 for the plugin, 22.15 for npx) on the PATH the client uses. Go back to step 01; on the npx route a GUI client may need the absolute path to a new enough npx.
  • The client shows the server as timed out. On the npx route, its first download did not finish. Run the server command once and let it finish (step 02).
  • npm error ENOTEMPTY, or the server stops starting after an update. An interrupted download left a broken cache. Close your MCP clients, then delete the leftover with rm -rf ~/.npm/_npx/*/node_modules/@imgly/.codesign-mcp-* and run the server command again.
  • spawn npx ENOENT on Windows. An npx route on Windows: run the agent and every step inside WSL, or use the Claude Code, Codex or Copilot CLI plugin, which runs natively.
  • npx exits with a registry or network error. The install needs npm and GitHub. Tell the user which host was unreachable.
  • A marketplace, plugin or server “already exists”. It is installed; run the list command and carry on.
  • The plugin install fails. Use the MCP server route (step 04) instead.

Execute now. Work through the to-do list from step 01. When you finish, tell the user what you installed, show the output of the “Done when” checks, and give them step 05.

Free local MCP server

Stuck on a step?

Ask in the Discord and someone will take a look. In an app with no terminal, where the config is edited by hand? There is a guide for any other MCP client.