Canva
Search and read designs through the Canva MCP server, and choose which AI agents can edit designs or import from URLs
An agent with Canva can search designs and read their content, but it can also edit designs and pull in files from any URL. No tool deletes anything. Adding Canva here puts each tool behind a policy rule and records each call in the audit log, so you decide which agents can change designs and which can only read them.
Server URL: https://mcp.canva.com/mcp
Credential modes
Canva supports per-org dynamic registration only, so there is no app to create on Canva's side and no client ID or secret to enter. See Credential modes for how it compares with Use SecureAuth's app and Bring your own app.
Before you begin
- A Canva account that can reach the designs and folders your agents need.
- Administrator access to your Agent Authority workspace, to add the resource.
Setup
- In the Agent Authority console, go to Tools & Services and click Add Resource.
- Select Canva from the catalog.
- On Choose how to install Canva, click Per-org dynamic registration. Selecting it adds the resource right away with its tools pre-configured.
Dynamic client registration
When you add the resource, the gateway registers its own OAuth client with Canva, the credential that lets it sign users in. Canva's own team and folder-level permissions still apply, so an agent can only reach what the person who signed in could already reach.
Verify the connection
The gateway syncs the Canva tools automatically. To check the connection end to end, ask your agent to run a request:
Search my Canva designsIf your designs come back, the connection is working.
How users connect
Access is per user. Each additional user connects their own Canva account the first time their agent calls a Canva tool: the gateway returns a sign-in link, the user authorizes once, and the tools work from then on. Go to Connections to manage linked accounts.
Available tools
| Tool | Tags | Description |
|---|---|---|
search-designs | read-only | Search for designs |
get-design | read-only | Get details about a specific design |
get-design-pages | read-only | Get the pages of a design |
get-design-content | read-only | Get the content of a design |
get-presenter-notes | read-only | Get presenter notes for a design |
get-design-thumbnail | read-only | Get a thumbnail image of a design |
copy-design | write | Copy an existing design |
import-design-from-url | write, external | Import a design from a URL |
upload-asset-from-url | write, external | Upload an asset from a URL |
resize-design | write | Resize a design |
export-design / get-export-formats | read-only | Export a design, or get the formats it can be exported to |
start-editing-transaction | write | Start an editing session for a Canva design |
perform-editing-operations | write | Perform editing operations on a design |
commit-editing-transaction | write | Commit an editing transaction |
cancel-editing-transaction | write | Cancel an editing transaction |
create-design-from-brand-template | write | Create a new design from a brand template |
search-brand-templates | read-only | Search for brand templates |
get-brand-template-dataset | read-only | Get the data fields of a brand template |
list-brand-kits | read-only | List brand kits |
get-design-candidates | read-only | Poll for design candidates (internal tool for widget UI) |
create-design-from-candidate | write | Create a new Canva design from a generation job candidate ID |
generate-design | write | Generate a new design |
get-assets | read-only | Get details about assets |
resolve-shortlink | read-only | Resolve a Canva shortlink to its target |
create-folder | write | Create a folder |
list-folder-items | read-only | List items in a folder |
move-item-to-folder | write | Move an item to a folder |
search-folders | read-only | Search for folders |
comment-on-design | write | Add a comment on a design |
list-comments | read-only | Get a list of comments for a particular Canva design |
list-replies | read-only | Get a list of replies for a specific comment on a Canva design |
reply-to-comment | write | Reply to an existing comment on a Canva design |
Required scopes
The gateway does not request a fixed scope list for Canva. It registers the client without naming any scopes and records the ones Canva returns.
Policy examples
Read-only Canva access. Deny design mutations, exports, and comment writes:
Deny - MCP: canva - Tools: perform-editing-operations, commit-editing-transaction, resize-design, export-design, copy-design, import-design-from-url, upload-asset-from-url, create-design-from-brand-template, create-design-from-candidate, generate-design, create-folder, move-item-to-folder, comment-on-design, reply-to-comment - Effect: DenyScope an agent to search and read only:
Allow - MCP: canva - Tools: search-designs, get-design, get-design-pages, get-design-content, get-design-thumbnail, search-brand-templates, search-folders, list-folder-items - Effect: AllowBlock destructive tools by built-in tag:
Deny - MCP: canva - Tools: tag destructive - Effect: DenyNext steps
- Create a policy – start from the read-only pattern in Policy examples above.
- Connections – manage the Canva accounts your users have linked.