Connector guide8-minute read27 MCP tools7 languages

How to Connect Canva to Gemini via MCP

Let your AI work in Canva: find and read designs, create new ones, export them to PDF, PNG, PowerPoint or video with download links, organise folders, upload images from a link, read brand templates and comment on designs.

HCBy HelpCode teamUpdated 8 min read Open-source on GitHub

No credit card · 7-day trial · Self-host alternative available

Canva

Canva

Let your AI work in Canva: find and read designs, create new ones, export them to PDF, PNG, PowerPoint or video with download links, organise folders, upload images from a link, read brand templates and comment on designs.

tools

27

Region

INTL

Category

Productivity

Authentication

OAuth 2.0

Required env vars

CANVA_CLIENT_IDCANVA_CLIENT_SECRET
Install in one click on Cloud

7-day free trial · No credit card

  • 7-day free trial
    No credit card required
  • GDPR & SOC 2 ready
    EU data residency, audit logs
  • Open-source on GitHub
    Open source · AGPL-3.0
  • Works with ChatGPT, Claude, Gemini
    Any MCP-compatible client

Skip the install. Get this working in under 2 minutes.

Start a free trial on cloud.anythingmcp.com, add the Canva in one click, then point your AI client (Claude, ChatGPT, Copilot or Cursor) at the generated MCP endpoint. No Docker, no git clone, zero engineering experience required.

Start free trial

Summary

Let your AI work in Canva: find and read designs, create new ones, export them to PDF, PNG, PowerPoint or video with download links, organise folders, upload images from a link, read brand templates and comment on designs.

Try asking

Example prompts for Canva

Click any prompt to copy it. Paste into Claude, ChatGPT, Cursor, Gemini, Copilot or OpenClaw to run it against this connector.

Canva · live via MCP
Share
Opus 4.7

Claude is AI and can make mistakes. Please double-check responses.

💡 No install? Use cloud.anythingmcp.com directly. Sign in, click Connectors → Canva, paste your credentials, mint an MCP API key and you're done. No Docker, no git clone, no local server.

Canva + Gemini

Let your AI work in Canva: find and read designs, create new ones, export them to PDF, PNG, PowerPoint or video with download links, organise folders, upload images from a link, read brand templates and comment on designs.

Prerequisites

See the full setup instructions baked into the connector (visible in the in-app store when you select the connector). The required environment variables for this connector are:

CANVA_CLIENT_ID, CANVA_CLIENT_SECRET

Step 1 — Get credentials

  1. Turn on multi-factor authentication for your Canva account with an authenticator app: Settings → Login & security. Canva only enables REST API access for developers who have it on.
  2. Open the Canva Developer Portal at https://www.canva.com/developers/apps, click Create an app and choose who it is for. A private app is approved by your own team admins and needs a Canva Enterprise team. A public app works for you, its developer, straight away; other Canva users can connect to it only after Canva has reviewed it. Then open Outside Canva → Start integrating to use the REST APIs.
  3. Under Configuration → Scopes, tick these twelve scopes: profile:read, design:meta:read, design:content:read, design:content:write, folder:read, folder:write, asset:read, asset:write, brandtemplate:meta:read, brandtemplate:content:read, comment:read, comment:write. The connector asks for all of them, and Canva turns down a sign-in that asks for a scope you did not tick.
  4. Under Authentication, add the redirect URL https://cloud.anythingmcp.com/api/mcp-oauth/callback. If you host AnythingMCP yourself, it is <your AnythingMCP URL>/api/mcp-oauth/callback. Canva rejects localhost redirect URLs, so on a local setup use 127.0.0.1 instead: set SERVER_URL to http://127.0.0.1:<port> and register http://127.0.0.1:<port>/api/mcp-oauth/callback.
  5. Copy the Client ID into CANVA_CLIENT_ID. Click Generate secret and paste it into CANVA_CLIENT_SECRET right away, as Canva shows it only once.
  6. Install the connector, click Authorize with Provider and allow access in Canva. The sign-in uses OAuth 2.0 with PKCE: AnythingMCP never sees your Canva password, and it renews the access tokens (valid for about four hours) on its own. Each refresh token works once and is replaced on every renewal.
  7. Start with canva_get_me: it returns your Canva user and team id, a quick check that the authorization works.

Exports come as download links: canva_create_export starts a job and canva_get_export reports when it is done, with one link per file (multi-page images give one per page). The links stay valid for 24 hours. canva_get_design_export_formats shows which formats a design supports: PDF, JPG, PNG, SVG, PowerPoint, GIF, MP4 and more, depending on the design type. Designs with premium elements you have not licensed fail with license_required. Canva allows 75 exports per user every 5 minutes and 500 a day.

Uploads from a link: canva_upload_asset_from_url puts an image or video into your Uploads, and canva_get_asset_upload reports when it is there. Canva downloads the file itself, so the link has to answer 200 to Canva's downloader. Sites that refuse automated downloads make the job fail with fetch_failed.

Folders and designs: root stands for the top level of your Projects and uploads for the Uploads folder. A design id is the part after /design/ in a Canva link, for example DAFVztcvd9z in https://www.canva.com/design/DAFVztcvd9z/.... canva_create_design makes an empty doc, email, presentation or whiteboard, or a custom size in pixels, and returns its edit link. Thumbnail links expire after 15 minutes, edit and view links after 30 days.

Which plan: designs, folders, uploads, exports and comments work on every Canva plan, including Free. Brand templates need a plan that has them (Pro, Teams or Enterprise); canva_get_capabilities lists brand_template when yours does.

Confirm first: your collaborators see comments and replies (canva_create_comment, canva_reply_to_comment), so the AI shows you the text before it posts. canva_delete_folder and canva_delete_asset, which move items to the Trash, are switched off at install.

Read-only setup: untick the :write scopes in the Developer Portal and in the connector's OAuth settings, authorize again and switch off the tools that create, change or move things.

Preview APIs: comments and uploads from a link use Canva preview APIs, which can change without notice, and a public app that uses them cannot pass Canva's review. For a public app, switch off canva_upload_asset_from_url, canva_get_asset_upload and the four comment tools.

Common errors: invalid_access_token or revoked_access_token means you need to authorize again. missing_scope: tick the scope in the portal and in the connector's OAuth settings, then authorize again. permission_denied or design_not_found (also folder_not_found, asset_not_found): the id is wrong or your account cannot see that item. A 403 that "requires one of capabilities" is a paid feature such as brand templates. too_many_requests: most calls allow 10 to 100 a minute per user, so wait a minute.

The connector does not edit what is inside a design, fill in brand templates (autofill), resize designs, import files, generate with AI, read design analytics or set up webhooks.

Step 2 — Install the adapter

curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d

Step 3 — Add the connector in Gemini

Your server URL: in AnythingMCP, open MCP Servers → the server this connector is on, and copy its URL (https://cloud.anythingmcp.com/mcp/…). Use it wherever this guide shows YOUR_SERVER_ID.

Gemini CLI reads MCP servers from ~/.gemini/settings.json (on Windows %USERPROFILE%\.gemini\settings.json). Add:

{
  "mcpServers": {
    "anythingmcp": {
      "httpUrl": "https://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID",
      "headers": { "X-API-Key": "YOUR_MCP_API_KEY" }
    }
  }
}
  1. Create an MCP API key in AnythingMCP under MCP Servers → your server → API keys, and paste it in place of YOUR_MCP_API_KEY.
  2. Save the file and restart gemini.
  3. Run /mcp inside Gemini CLI (or gemini mcp list in your shell): anythingmcp should show as connected.
  4. Start prompting: Gemini CLI can now call the Canva tools.

Available tools

ToolWhat it does
canva_get_meRead who authorized the connector: the Canva user_id and team_id
canva_get_profileRead the display name of the signed-in Canva user (scope profile:read)
canva_get_capabilitiesList the paid features the signed-in user can use through the API, e.g. brand_template, autofill, resize, export_png_transparency
canva_list_designsList or search the user's designs, with id, title, owner, page_count, a thumbnail (its URL expires after 15 minutes), edit_url and view_url…
canva_get_designRead one design by id: title, owner, page_count, thumbnail, edit_url, view_url and timestamps (scope design:meta:read)
canva_create_designCreate a new, empty design and return it with id, edit_url and view_url (scope design:content:write). design_type is either a preset…
canva_get_design_export_formatsList the file formats a design can be exported to (pdf, jpg, png, svg, pptx, gif, mp4, html_bundle, html_standalone, csv), depending on its…
canva_create_exportStart exporting a design to a file. format is an object with type and options, e.g. {"type": "pdf", "size": "a4"}, {"type": "png", "width"…
canva_get_exportRead an export job: status (in_progress, success or failed), and on success urls[], one download link per file (multi-page images give one…
canva_list_folder_itemsList what a folder contains, with each item's type (design, folder, image, brand_template) and details
canva_get_folderRead a folder by id: name, thumbnail and timestamps (scope folder:read). root and uploads are aliases, not folders, and cannot be read here
canva_create_folderCreate a folder in the user's Projects (parent_folder_id root), in Uploads (uploads) or inside another folder
canva_rename_folderRename a folder; the name is the only thing that can be changed (scope folder:write)
canva_move_folder_itemMove a design, folder or image into another folder (to_folder_id root for the top level of Projects)
canva_delete_folderDelete a folder
canva_get_assetRead an uploaded asset (image or video): name, tags, owner, thumbnail and timestamps (scope asset:read)
canva_update_assetRename an asset or replace its tags. tags replaces the whole list (up to 50 tags) (scope asset:write)
canva_delete_assetMove an asset to the Trash
canva_upload_asset_from_urlStart uploading an image or video from a public URL into the user's Uploads
canva_get_asset_uploadRead an upload job started with canva_upload_asset_from_url: status in_progress, success (with asset and its id) or failed (error.code…
canva_list_brand_templatesList the brand templates the user can use, with id, title, view_url, create_url and thumbnail
canva_get_brand_templateRead one brand template by id: title, view_url, create_url (opens a new design from it), thumbnail and timestamps (scope…
canva_get_brand_template_datasetRead the autofill fields of a brand template: each field name with its type (text, image or chart)
canva_create_commentStart a comment thread on a design, optionally assigned to a collaborator
canva_get_comment_threadRead a comment thread on a design: the comment, its author, assignee, resolution state and timestamps
canva_list_comment_repliesList the replies in a comment thread, oldest first, with author and text
canva_reply_to_commentReply to a comment thread on a design (up to 100 replies per thread)

Example prompts

  • "Find my designs with 'pitch deck' in the title and give me the edit link of the newest one."
  • "Export the 'Q4 sales review' presentation as a PDF and give me the download link."
  • "Upload the product photo at this link to my Canva and start a new 1080 × 1080 post with it."
  • "Create a folder called 'Autumn campaign' and move all the designs from last week's campaign into it."

FAQ

Where does Gemini CLI look for MCP servers? In ~/.gemini/settings.json for your user, or in .gemini/settings.json inside a project. gemini mcp list shows each server and whether it connects.

Next steps

Was this guide helpful?

Your Canva agent is one click away.

Install the connector, paste the key, prompt Gemini. Free for 7 days, no credit card.

Related guides

Connectors

Canva to MCP: Drive Canva from any AI Agent

Let your AI work in Canva: find and read designs, create new ones, export them to PDF, PNG, PowerPoint or video with download links, organise folders, upload images from a link, read brand templates and comment on designs.

Connectors

How to Connect Canva to ChatGPT via MCP

Let your AI work in Canva: find and read designs, create new ones, export them to PDF, PNG, PowerPoint or video with download links, organise folders, upload images from a link, read brand templates and comment on designs.

Connectors

How to Connect Canva to Claude via MCP

Let your AI work in Canva: find and read designs, create new ones, export them to PDF, PNG, PowerPoint or video with download links, organise folders, upload images from a link, read brand templates and comment on designs.

Connectors

How to Connect Canva to Cursor via MCP

Let your AI work in Canva: find and read designs, create new ones, export them to PDF, PNG, PowerPoint or video with download links, organise folders, upload images from a link, read brand templates and comment on designs.

Connectors

How to Connect Canva to Meta Muse via MCP

Let your AI work in Canva: find and read designs, create new ones, export them to PDF, PNG, PowerPoint or video with download links, organise folders, upload images from a link, read brand templates and comment on designs.

Connectors

How to Connect Dynamics 365 Business Central to Gemini via MCP

Let your AI work in Business Central: look up customers, vendors and items, read sales quotes, orders and invoices, purchase invoices, the general ledger, chart of accounts and dimensions, and create customers and draft quotes and orders. Business Central online through the standard API v2.0, signed in with your Microsoft account.