100+ integrations are ready to connect to your AI.Connect your first MCP

Canva MCP server for your AI

Find a design by name and export it as a PDF or PNG, turn a PowerPoint into an editable Canva design, fill your brand template with this week's numbers, and resize the result for Instagram, all from your AI client.

PopMCPCanva

Find our Q3 sales deck and export it as a PDF I can send to the board

Supported Canva tools

Every Canva REST API call a signed-in user can make, from designs and exports to folders, uploads, imports, brand templates, autofill and comments, plus the design changes PopMCP can watch.

64 tools in the full catalog: 38 read and 26 write. 31 load by default, and the rest are found with tool search.

canva_create_design

Creates a new Canva design.

canva_delete_asset

You can delete an asset by specifying its assetId.

canva_describe_design

Everything about one Canva design in one call: title, owner, page count, type, edit and view links, the export formats it supports (with the pages each one covers), its autofill data fields if it has any, and its pages with their sizes.

canva_get_asset

You can retrieve the metadata of an asset by specifying its assetId.

canva_get_design

Gets the metadata for a design.

canva_get_design_dataset

Gets the dataset definition of a design.

canva_get_design_export_formats

Lists the available file formats for exporting a design.

canva_list_design_pages

Preview at Canva: Lists metadata for pages in a design, such as page-specific thumbnails.

canva_list_designs

Lists metadata for all the designs in a Canva user's projects.

canva_update_asset

You can update the name and tags of an asset by specifying its assetId.

canva_upload_asset

Upload an image or video to the user's Canva uploads in one call, from a public URL or from base64 content, and wait for it to be ready.

canva_wait_for_job

Wait for a Canva job started earlier (an export, upload, import, autofill, resize, merge or generation) and return its result: download links for an export, the asset for an upload, the design for the others.

canva_import_design

Turn a file made elsewhere into an editable Canva design in one call, from a public URL or base64 content: PDF, PowerPoint (ppt, pptx), Word (doc, docx), Excel (xls, xlsx), Keynote, Pages, Numbers, Illustrator (ai), Photoshop (psd), Affinity or OpenOffice.

canva_create_folder

Creates a folder in one of the following locations: - The top level of a Canva user's projects (using the ID root), - The user's Uploads folder (using the ID uploads), - Another folder (using the parent folder's ID).

canva_delete_folder

Deletes a folder with the specified folderID.

canva_get_folder

Gets the name and other details of a folder using a folder's folderID.

canva_list_folder_items

Lists the items in a folder, including each item's type.

canva_move_folder_item

Moves an item to another folder.

canva_update_folder

Updates a folder's details using its folderID.

canva_create_comment_reply

Preview at Canva: Creates a reply to a comment or suggestion thread on a design.

canva_create_comment_thread

Preview at Canva: Creates a new comment thread on a design.

canva_list_comment_replies

Preview at Canva: Retrieves a list of replies for a comment or suggestion thread on a design.

canva_get_brand_template

Retrieves the metadata for a brand template.

canva_get_brand_template_dataset

Gets the dataset definition of a brand template.

canva_list_brand_templates

Get a list of the brand templates the user has access to.

canva_autofill_design

Create a design from a brand template (or from a design with data fields) filled with your text, images and chart data, in one call.

canva_export_design

Export a Canva design as a file and return its download links in one call: PDF, PNG, JPG, GIF, PowerPoint (pptx), MP4 video, HTML (email designs) or CSV (Canva Sheets).

canva_generate_design

Have Canva's AI generate a presentation or a Canva Doc from a brief, saved in the user's Canva account, and return it with its edit link.

canva_get_user_capabilities

Lists the API capabilities for the user account associated with the provided access token.

canva_get_user_profile

Currently, this returns the display name of the user account associated with the provided access token.

canva_resize_design

Make a resized copy of a Canva design in one call (the original is not changed) and return the new design with its edit link.

canva_create_asset_upload_job

Starts a new asynchronous job to upload an asset to the user's content library.

canva_create_url_asset_upload_job

Starts a new asynchronous job to upload an asset from a URL to the user's content library.

canva_get_asset_upload_job

Get the result of an asset upload job that was created using the Create asset upload job API.

canva_get_url_asset_upload_job

Get the result of an asset upload job that was created using the Create asset upload job via URL API.

canva_create_design_import_job

Starts a new asynchronous job to import an external file as a new design in Canva.

canva_create_image_to_design_job

Preview at Canva: Starts a new asynchronous job to convert an image into an editable design in Canva, using Magic Layers.

canva_create_url_import_job

Starts a new asynchronous job to import an external file from a URL as a new design in Canva.

canva_get_design_import_job

Gets the result of a design import job created using the Create design import job API.

canva_get_image_to_design_job

Preview at Canva: Gets the result of an image-to-design import job created using the Create image-to-design import job API.

canva_get_url_import_job

Gets the result of a URL import job created using the Create URL import job API.

canva_get_comment_reply

Preview at Canva: Gets a reply to a comment or suggestion thread on a design.

canva_get_comment_thread

Preview at Canva: Gets a comment or suggestion thread on a design.

canva_get_design_analytics

Preview at Canva: Gets the aggregated analytics for a design.

canva_get_design_page_views

Preview at Canva: Lists the page-level view duration data for a design.

canva_get_design_views_over_time

Preview at Canva: Lists the view counts over time for a design.

canva_list_design_trackable_links

Preview at Canva: Lists trackable links and their metrics for a design.

canva_list_design_viewers

Preview at Canva: Lists viewers for a design, ordered by most recent view first.

canva_publish_brand_template

Preview at Canva: Publishes a design as a brand template.

canva_create_design_autofill_job

Starts a new asynchronous job to autofill a Canva design using input data.

canva_create_design_export_job

Starts a new asynchronous job to export a file from Canva.

canva_create_design_generation_job

Preview at Canva: Starts a new asynchronous job to generate a Canva design from a text brief.

canva_create_design_resize_job

Starts a new asynchronous job to create a resized copy of a design.

canva_get_current_user

Returns the User ID and Team ID of the user account associated with the provided access token.

canva_get_design_autofill_job

Get the result of a design autofill job that was created using the Create design autofill job API.

canva_get_design_export_job

Gets the result of a design export job that was created using the Create design export job API.

canva_get_design_generation_job

Preview at Canva: Gets the status and result of a design generation job created using the Create design generation job API.

canva_get_design_resize_job

Gets the result of a design resize job that was created using the Create design resize job API.

canva_create_design_merge_job

Preview at Canva: Starts a new asynchronous job to merge design pages by applying page operations (such as insert, move, or delete) to produce a new design or modify an existing one.

canva_create_image_generation_job

Preview at Canva: Starts a new asynchronous job to generate an image from a plain-text prompt.

canva_create_image_transformation_job

Preview at Canva: Starts a new asynchronous job to apply one or more transformations to an image asset.

canva_get_design_merge_job

Preview at Canva: Gets the result of a design merge job that was created using the Create design merge job API.

canva_get_image_generation_job

Preview at Canva: Gets the result of an image generation job that was created using the Create image generation job API.

canva_get_image_transformation_job

Preview at Canva: Gets the result of an image transformation job that was created using the Create image transformation job API.

Connect Canva to Claude, ChatGPT and Claude Code

Authorize once, then an endpoint your client signs into. Nothing to deploy, and nothing to install on the Canva side.

In the Canva Developer Portal create a public app, turn on Canva REST APIs under Outside Canva, tick the scopes PopMCP lists and add its redirect URL. Enter the app's Client ID and secret in PopMCP and sign in with Canva. Your Canva account needs multi-factor authentication first.

Client IDOC-AZ1b2C3d4E5f
Client secret••••••••••••3f7a
Authorize PopMCP on CanvaAuthorize

Then just ask for the work

  • “Find our Q3 sales deck and export it as a PDF I can send to the board”

    • list_designs
    • export_design
  • “Turn the PowerPoint at this link into an editable Canva design”

    • import_design
  • “Fill our weekly promo template with this headline and product photo, then make an Instagram Story version”

    • list_brand_templates
    • upload_asset
    • autofill_design
    • resize_design
  • “Make a Spring Campaign folder and move every design with spring in the title into it”

    • create_folder
    • list_designs
    • move_folder_item
  • “Which file types can I export the onboarding guide as, and does it have autofill fields?”

    • list_designs
    • describe_design

Use Canva from the assistant you already open

One hosted endpoint, registered once per client. The same tools and the same permissions, whichever window the request comes from.

Claude DesktopCustom connector

Add the PopMCP URL under Customize → Connectors and the tools appear in every chat.

Claude WebCustom connector

The same endpoint, registered in the browser. Nothing to install on the machine you are working from.

ChatGPTCustom connector

Register PopMCP as a custom connector, then let ChatGPT read and update the account.

CodexDesktop & CLI

Wire the endpoint into Codex or the Codex CLI when a task needs live business context, not a fixture.

OpenCodeCoding agent

Register the remote MCP server in OpenCode's config for terminal-first and scripted agent runs.

ZCodeDesktop app

Add PopMCP as an MCP server in Z.ai's desktop app and work the account from the same window.

Canva MCP server questions

What teams ask before putting Canva behind an AI client.

What do I need to connect Canva?

A Canva app of your own until PopMCP's Canva app is approved. In the Canva Developer Portal choose Create an app and pick Public, open Outside Canva and click Start integrating, turn on Canva REST APIs, tick the scopes PopMCP lists and add PopMCP's redirect URL. Enter the Client ID and a generated client secret in PopMCP, click Sign in with Canva and approve access. The app works for your own account straight away, with no review.

Does my Canva plan matter?

Most of it works on every plan, Free included: designs, exports, folders, uploads, imports and comments. Resizing, autofill and brand templates need Canva Pro, Teams or Enterprise, and free accounts get a small trial of resize and autofill. Design analytics needs Canva Enterprise, and AI generation uses your Canva AI credits. The connection shows which of these features your account has.

How do exports work, and how long do the links last?

export_design starts the export, waits for Canva to finish and returns the download links: one file for a PDF or PowerPoint, one image per page for PNG and JPG. The links expire after 24 hours, so download or share them soon. Canva allows each user 75 exports every five minutes and 500 a day.

Can the AI change the text inside an existing design?

Not freely: Canva's REST APIs do not edit the elements of a design. The AI can fill a brand template or a design with data fields with your text, images and chart data, copy, merge or resize designs, and leave comments. For any other change it hands you the design's edit link and you make it in Canva.

Which Canva changes can PopMCP watch?

New designs, edited designs, designs that are deleted or no longer shared with you, and brand templates that are published or updated. PopMCP spots them by comparing your design and brand template lists, so they show up within minutes rather than instantly.

What are Canva's preview features?

Canva marks some APIs as previews: comment threads, page details, merging pages, design and image generation, background removal, publishing brand templates and design analytics. They work on a connection made with your own Canva app. Canva does not allow previews in the apps it publishes, so PopMCP's own Canva app will not offer them once it is available.

Do I have to run or host the Canva MCP server myself?

No. PopMCP hosts it and gives you a Streamable HTTP MCP URL. There is nothing to deploy, no callback URL to register, and no infrastructure to keep running or patch.

Which AI clients can use this MCP server?

Any client that supports a remote Streamable HTTP MCP server: Claude Desktop, Claude Web, Claude Code, ChatGPT custom connectors, Codex and the Codex CLI, OpenCode and Z.ai's ZCode, as well as editors such as Cursor, Windsurf and Zed. Your client signs in to PopMCP with OAuth; the provider credential never leaves the server.

How do I connect Canva to Claude Code?

Connect Canva in PopMCP first, then run claude mcp add --transport http popmcp https://app.popmcp.com/mcp in a terminal. Inside Claude Code, run /mcp and sign in to PopMCP in the browser window it opens, ticking Canva on the consent screen. The Canva tools are then available in that session, and no Canva credential is stored on your machine.

Why do only 31 of the 64 tools load by default?

Loading 64 tool definitions into every conversation burns context before the work starts. PopMCP loads a curated 31-tool set covering the everyday workflows and keeps the rest searchable, so your AI pulls a specialist tool only when a task needs it. Every tool stays searchable, and on Scale the owner can load the full catalog for a teammate's connection.

What is the difference between a tool and a trigger?

A tool is something your AI calls, and there are 64 here. A trigger is something PopMCP watches for you: 5 Canva events that can start work on the PopMCP side. Triggers never enter your AI client's context, and none of them ask you to paste a callback URL into Canva.

Connect Canva to your AI in minutes

Launch a hosted MCP endpoint for Canva, keep tool access under control, and start testing real workflow prompts right away.

Connect your first MCP