The Canva MCP for Claude Code connects your Canva account to your coding agent, and it does more than most people expect. Claude Code can generate designs with Canva’s AI, edit existing designs element by element, export files and manage folders, all through natural language. However, there are real gaps: some tools are plan-gated, nothing runs outside a chat session, and templates are barely reachable. This guide covers the setup, the full tool surface, the limits, and when a design MCP with an open canvas is the better fit.

The two Canva MCP servers (pick the right one)

Canva ships two different MCP servers, and mixing them up wastes an afternoon. The Canva MCP server, marketed as the AI Connector, is the user-facing one: a hosted remote server at mcp.canva.com/mcp that works on your actual designs, assets and brand kits. The Canva Dev MCP server is for developers building Canva apps and integrations; it feeds Canva’s docs to your agent and scaffolds app code, but it never touches a design. This guide is about the first one, with a short note on the second.

Setup in Claude Code

Canva is a listed connector in the official Claude directory, available on claude.ai and in Claude Code. The server is remote, so there is nothing to install; the standard Claude Code pattern is:

claude mcp add --transport http canva https://mcp.canva.com/mcp

Canva’s own docs do not print that exact command, but this is the normal form for any remote HTTP server, and Canva documents the endpoint itself. On first use a browser window opens for OAuth; access is always per user, because Canva stores designs and permissions per account, and there are no service accounts. Two practical notes from Canva’s troubleshooting page: allowlist the canva.com and canva.ai domains if your client restricts network access, and use the npx -y mcp-remote@latest https://mcp.canva.com/mcp bridge for clients without remote MCP support.

What Claude Code can actually do with it

The official tool list is wider than a simple prompt relay. Grouped by what you would use them for:

  • Generate. generate-design runs Canva’s own AI on a text prompt and returns candidates; create-design-from-candidate picks one. Generation is slow, so Canva recommends a 60-second timeout.
  • Edit, element by element. This is the surprising part. An editing transaction (start-editing-transactionperform-editing-operationscommit) lets the agent replace and format text, swap images and video fills, insert media, and the tool schema exposes moving, resizing and deleting individual elements. Edits stay draft until commit. It is real element-level editing, not just re-prompting, which puts Canva ahead of, say, Google Stitch’s prompt-only MCP in our Stitch comparison.
  • Read and search. search-designs, get-design-content, page thumbnails and presenter notes give the agent context about what it is editing.
  • Move files around. Export in the formats your plan allows, upload assets from URLs, comment and reply, manage folders, and import a design from a URL.

Plan gating is where ambitions die, so check it first. Core generation, editing, export and comments work on all plans per the dev docs (Canva’s Help Center is fuzzier and lists paid tiers, so treat free-plan access as unverified). Resizing designs and anything touching brand kits or brand templates needs Pro or higher. Autofilling brand-template datasets, the feature agencies want most, is Enterprise only.

What it cannot do

Four gaps matter in practice. First, everything is bound to a live chat session: there are no webhooks, no triggers and no scheduled runs, so nothing happens while the chat is closed. Second, ordinary marketplace templates are not exposed at all; only Pro brand templates are reachable, which is the most common community complaint. Third, asset uploads are URL-only, with no raw file bytes. Finally, the agent cannot draw: it edits what exists and inserts media, but it cannot create arbitrary shapes or vector art on the canvas.

The Dev MCP, in one paragraph

If you are building a Canva app rather than editing designs, the Dev MCP is the one Canva gives an official Claude Code command for: claude mcp add canva-dev -- npx -y @canva/cli@latest mcp. It runs locally, pulls current canva.dev docs into your agent’s context, and reviews your app against Canva’s design guidelines. Details are in Canva’s Dev MCP docs.

Where this sits next to a design MCP

The Canva MCP makes Claude Code a hands-on operator of Canva’s editor, and that is exactly right when your team’s assets, brand kits and approval flows already live in Canva. A design MCP like Doop’s answers a different need: the agent owns the design as raw HTML on an open-source multiplayer canvas, teammates watch and comment live, and scheduled automations can run agent design work on a timer, which the chat-bound Canva MCP cannot. In addition, Doop is AGPL-licensed and self-hostable, while Canva’s server is a closed hosted service in front of a closed editor. Many teams sensibly run both: Canva MCP for brand collateral, a design MCP for product and web design. For the wider landscape, see our Claude Design alternatives comparison.

Frequently asked questions

Is the Canva MCP free to use?

The server itself costs nothing and the dev docs mark the core tools as available on all plans, but Canva’s Help Center describes the AI Connector in terms of paid tiers, and resize, brand kits and autofill are explicitly Pro or Enterprise features. Assume the interesting parts want a paid plan.

Can Claude Code edit an existing Canva design?

Yes. Through editing transactions it can replace and reformat text, swap images, insert media, and reposition, resize or delete elements by id, committing the whole change set at once.

Canva MCP or Canva Connect API?

The MCP wraps most of the Connect API and adds two things the raw API lacks: AI design generation and in-place editing transactions. The Connect API keeps a few exclusives, including webhooks and raw-byte uploads. For agent workflows, start with the MCP.

Give your agent a canvas of its own

Once Claude Code is wired into Canva, try handing it an open canvas too: Doop connects with one command, is free in beta, and the source is on GitHub.