Suggest a server AI tools directory →

Canva MCP server

Last verified: 2026-09

Create and edit Canva designs.

Community Developer tools Needs a secret Claude Desktop, Cursor, Windsurf, Claude Code, VS Code

What it does

Canva Connect MCP. Designs and exports through Canva's API. Needs an OAuth app (client id/secret). Community listing — confirm the current package name on Canva's docs before installing.

It sits in Developer tools: Split this category in two.

Good for

  • List designs the connected Canva account can see.
  • Export a design you already own for a blog or deck.
  • Create something only after OAuth is on a throwaway brand account.
  • Skip it for product UI — that is Figma.

Tools

  • list / get designs — What the connected account can see.
  • export / create (if the current server exposes them) — Writes — check tools after connect.

Config (Claude Desktop / Cursor / Windsurf)

Paste the JSON below. Same mcpServers shape. Replace placeholder paths and secrets. Windows paths look like C:\\Users\\you\\project, not /path/to. Host-side steps →

Claude Desktop

OSConfig file
macOS~/Library/Application Support/Claude/claude_desktop_config.json
Windows%APPDATA%\Claude\claude_desktop_config.json (usually C:\Users\<you>\AppData\Roaming\Claude\)
Linux~/.config/Claude/claude_desktop_config.json

Cursor

ScopemacOS / LinuxWindows
This project.cursor/mcp.json in the repo root
This user~/.cursor/mcp.json %USERPROFILE%\.cursor\mcp.json

Windsurf

OSConfig file
macOS / Linux~/.codeium/windsurf/mcp_config.json
Windows%USERPROFILE%\.codeium\windsurf\mcp_config.json
{
  "mcpServers": {
    "canva": {
      "command": "npx",
      "args": [
        "-y",
        "canva-mcp"
      ],
      "env": {
        "CANVA_CLIENT_ID": "...",
        "CANVA_CLIENT_SECRET": "..."
      }
    }
  }
}

Windsurf remote MCP: use serverUrl instead of url if the block below is HTTP.

One-liner: npx -y canva-mcp

Secrets it wants: CANVA_CLIENT_ID, CANVA_CLIENT_SECRET

Source repo →

How to get started

  1. Create a Canva Connect app. Put the client id/secret in env.
  2. Complete OAuth once. Ask it to list recent designs.
  3. Do not connect a brand account you share with the whole company on day one.

Access risk

OAuth can read (and maybe publish) brand templates. Treat it as design-system access.

When to skip it

Skip it for Figma frames or for local image files.

Instead: Figma, EverArt, Filesystem.

Vs alternatives

ServerOfficial?Needs a secret?Best for
CanvaNoYesCreate and edit Canva designs.
FigmaNoYesRead Figma file structure and screenshots.
EverArtYesYesGenerate images through EverArt.
FilesystemYesNoRead and write files inside a folder you choose.

More in Developer tools

All 18 in this category →

FAQ

Is the package name stable?

Community listing. Confirm Canva's current Connect MCP docs before putting client id/secret in env.

What is the auth?

Canva Connect OAuth app — CANVA_CLIENT_ID and CANVA_CLIENT_SECRET, then a browser consent.

Can it publish to the brand kit?

If the app's scopes allow writes/publishes, treat it as design-system access. Start with list/get.

Canva or EverArt?

Canva is existing designs and brand templates. EverArt is generate-an-image.