mcp-canva
mcp-canva is an MCP server that connects to Canva via OAuth and optionally controls the desktop/browser to create, manage, import, export, and template designs, plus provide a catalog/studio overview.
Show account capabilities, recent designs, brand templates, CapCut projects, and local media via
catalog; clear cached data.Open the Creative Studio dashboard/bridge with
studio_open.Create editable Canva designs from templates (
instagram_post,story,youtube_thumbnail,presentation) or a showcase template.Manage designs: list/search, create with presets/custom sizes, get metadata/pages, open in browser or Canva Desktop.
Work with assets: upload local image/video/audio, import PDF/PPTX/AI/PSD/Keynote or public URL as editable designs, list folders.
Export designs to png, jpg, pdf, mp4, gif, or pptx.
Use Canva Pro/Teams brand templates: list, inspect autofill fields, autofill new designs; resize designs.
Control desktop/browser: screenshot, click, drag, type, hotkeys, scroll, open URLs, and use the Canva editor manually for any elements.
Provides tools for interacting with Canva's official Connect API via OAuth, enabling listing and creating designs, uploading assets, exporting designs, using brand templates with autofill, resizing designs, and accessing catalog features.
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., "@mcp-canva list my recent Canva designs"
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.
mcp-canva — MCP server untuk Canva + editor web "Rakit Desain"
Repo ini berdiri sendiri, terpisah dari MCP CapCut (bryankwandou/MCPCAPCUT).
Bagian | Isi |
Server MCP | Tool |
Editor web |
|
Daftar fitur |
|
Elemen/fitur Pro Canva tidak dibuka tanpa langganan; tidak ada aset Canva yang disalin.
Instalasi
git clone https://github.com/bryankwandou/MCPCANVA && cd MCPCANVA
pip install -e ".[desktop]"
mcp-canva login # sekali: browser terbuka ke Canva, klik AllowApp Canva dibuat di https://www.canva.com/developers/apps (Outside Canva), Redirect URL
http://127.0.0.1:3001/oauth/redirect. Client ID/Secret ditanyakan saat login dan disimpan di .env.
Tambahkan ke Claude Desktop (claude_desktop_config.json):
{ "mcpServers": { "canva": { "command": "mcp-canva" } } }Related MCP server: Canva MCP Server
Cek koneksi
python scripts/verify_connection.py --writeBerhasil bila muncul [OK ] Canva: akun terhubung dengan nama akun Anda dan desain "Tes MCP …" muncul di Canva.
Desain native dari HTML (tanpa API, tanpa PPTX)
Lewat Chrome yang sudah login Canva (debug port 9222):
Tool | Fungsi |
| Render HTML di headless Chrome; tiap teks jadi kotak teks Canva (posisi, font, ukuran, warna sama), tiap |
| Rakit desain dari spec JSON |
| Upload file ke Uploads Canva |
Tandai elemen dengan data-canva="raster" agar tetap di gambar latar (mis. grup yang diputar). CLI: mcp-canva html file.html "Judul".
Deploy editor ke Vercel
Import repo ini di Vercel; vercel.json sudah menyetel output src/creative_mcp/editor tanpa build.
Available Tools
28 toolscache_clearA
Clear cached data ('' = everything, 'canva:' = only Canva).
Inputs: prefix.
canva_autofillC
Generate a new design from a brand template. data example: {"headline": {"type": "text", "text": "Promo"}, "photo": {"type": "image", "asset_id": "..."}}
Inputs: data (required), brand_template_id (required), title.
canva_brand_template_fieldsC
Show the autofillable fields (text/image/chart) of a brand template.
Inputs: brand_template_id (required).
canva_create_designB
Create a design. preset: 'doc', 'whiteboard' or 'presentation'; or give width/height in px. Optionally insert an uploaded asset. Returns edit_url to open in the Canva editor.
Inputs: title (required), width, height, preset, +1 more.
canva_create_showcase_templateB
Create the masterpiece Canva showcase template with real photography and 40+ vector/text elements. Generates the editable PPTX and optionally imports it into Canva cloud so it appears in Canva Desktop.
Inputs: cta, title, subtitle, import_to_canva.
canva_exportB
Export a design (png, jpg, pdf, mp4, gif, pptx). Returns download URLs.
Inputs: design_id (required), pages, format.
canva_get_designB
Get design metadata including edit/view URLs and thumbnail.
Inputs: design_id (required).
canva_get_pagesC
List the pages of a design with thumbnails.
Inputs: design_id (required).
canva_import_fileC
Import a local PDF/PPTX/AI/PSD/Keynote file as a new editable Canva design.
Inputs: file_path (required), title.
canva_import_urlC
Import a file from a public URL as a new editable Canva design.
Inputs: url (required), title (required), mime_type.
canva_list_brand_templatesC
List brand templates (Canva Pro/Teams/Enterprise).
Inputs: query.
canva_list_designsC
Search/list designs in the connected Canva account (cached 10 minutes).
Inputs: query, refresh, continuation.
canva_list_folderB
List items in a Canva folder ('root' for the top level).
Inputs: folder_id.
canva_make_from_templateC
Generate a full original design (instagram_post | story | youtube_thumbnail | presentation) with separate, editable elements, and import it into Canva as a normal editable design. For presentation, body items become slides ("Judul: detail").
Inputs: title (required), template (required), cta, body, +6 more.
canva_open_desktopC
Launch or focus the Canva Desktop application installed on this PC. If design_id is supplied, it targets that design.
Inputs: design_id.
canva_open_editorB
Open a Canva design in the browser on this computer, ready for desktop_* control. Workflow to use ANY element your account has (free or paid plan): desktop_screenshot -> click 'Elements' in the left panel -> desktop_type the search term -> desktop_drag the result onto the page -> desktop_screenshot to verify. Elements marked with a crown are Pro.
Inputs: design_id (required).
canva_resizeC
Copy a design into a new size (premium; free plans get a small trial quota, reported in trial_information).
Inputs: design_id (required), width, height, preset.
canva_upload_assetC
Upload a local image/video/audio file to the Canva media library.
Inputs: file_path (required), name.
canva_whoamiA
Show the connected Canva user and the plan capabilities (e.g. autofill, brand templates).
Inputs: no named parameters.
catalogA
ONE call that shows everything usable right now: Canva account capabilities (what your plan allows), recent designs, brand templates, CapCut projects and local media. Results are cached (Canva profile 24h, designs 10m, media 10m) - pass refresh=True to re-fetch.
Inputs: refresh.
desktop_clickC
Click at screen coordinates.
Inputs: x (required), y (required), button, clicks. Returns: result
desktop_dragB
Drag and drop from (x1,y1) to (x2,y2) - e.g. an element/clip onto the canvas or timeline.
Inputs: x1 (required), x2 (required), y1 (required), y2 (required), +1 more. Returns: result
desktop_hotkeyC
Press a key combination, e.g. ["ctrl","z"] or ["space"].
Inputs: keys (required). Returns: result
desktop_open_urlA
Open a URL in the default browser on this computer (e.g. a Canva or CapCut web editor).
Inputs: url (required). Returns: result
desktop_screenshotB
Take a screenshot of your screen (to see the CapCut/Canva editor). Coordinates for the other desktop tools are in real screen pixels: divide image coordinates by 'scale'.
Inputs: max_width.
desktop_scrollC
Scroll (positive = up).
Inputs: amount (required), x, y. Returns: result
desktop_typeC
Type text into the focused field.
Inputs: text (required). Returns: result
studio_openA
Start the bridge and return the Creative Studio dashboard link (designs, video projects, templates, CapCut library, Canva).
Inputs: no named parameters.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 28 tools
Tools are mostly distinct, with clear domain prefixes separating Canva API from desktop automation. Some overlap exists among design-creation tools (make_from_template, create_showcase_template, autofill, create_design) and among opening tools (open_editor vs open_url), but descriptions clarify intended use.
All names use snake_case with domain prefixes (canva_, desktop_), which is readable and consistent in casing. However action patterns are mixed: verb_noun (list_designs), verb-only (export, autofill), noun-only (catalog, screenshot), and noun_verb (cache_clear, studio_open).
28 tools exceeds the 25-tool threshold for an overly large set, even for a broad Canva and desktop automation domain. Several desktop automation tools could be consolidated or made optional, making the overall surface feel heavy.
Core Canva workflows are covered: create, import, export, autofill, resize, brand templates, and folder listing. Notable gaps remain, such as no delete/update design, no asset listing/deletion, no folder creation or moves, and CapCut operations rely on brittle desktop automation rather than dedicated tools.
Maintenance
Related MCP Connectors
Create, search, edit, and export designs and assets from Canva.
Turn Canva designs into templates and render image/PDF variants via the Layerre API.
The Canva MCP server connects AI assistants (like Claude, ChatGPT, and Cursor) to Canva's API, enabling them to create and manage designs directly within chat conversations. Key capabilities include generating new designs from prompts, autofilling templates, searching and resizing existing designs, importing files from URLs, exporting designs as PDFs or images, and managing folders and comments without switching between tools.
Design and edit Bloom canvases from AI coding agents with browser OAuth.
Related MCP Servers
- FlicenseDqualityDmaintenanceA comprehensive Model Context Protocol (MCP) server for interacting with Canva's API. It enables managing designs, brands, assets, and users through natural language.99-
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol (MCP) server for Canva integration. Connect Claude Code or any MCP-compatible AI client to your Canva account to search designs, generate AI designs, edit content, manage folders, and collaborate through comments.2MIT
- FlicenseNot gradedqualityBmaintenanceEnables AI assistants to interact with the Canva Connect REST API, supporting design creation, brand template autofill, asset uploads, folder management, and design exports to PDF, PNG, JPG, PPTX, and MP4.-
- AlicenseAqualityBmaintenanceEnables AI assistants to connect to Canva through the official Canva Connect API to create, search, export, and upload designs using natural language.1014 npmMIT