跳过安装。2 分钟内即可运行。
在 cloud.anythingmcp.com 开始免费试用,一键添加 Canva,然后将你的 AI 客户端(Claude、ChatGPT、Copilot 或 Cursor)指向生成的 MCP 端点。无需 Docker,无需 git clone,无需任何工程经验。
摘要
让你的 AI 在 Canva 中工作:查找和读取设计,创建新设计,将设计导出为 PDF、PNG、PowerPoint 或视频并获取下载链接,整理文件夹,通过链接上传图片,读取品牌模板,并在设计上发表评论。
试试这样问
Canva 的示例提示
点击任意提示即可复制,然后粘贴到 Claude、ChatGPT、Cursor、Gemini、Copilot 或 OpenClaw 中,在该连接器上运行。
Claude 是 AI,可能会出错。请核对回答。
💡 无需安装? 直接使用 cloud.anythingmcp.com。 登录、点击 Connectors → Canva、粘贴凭证、生成 MCP API key,即可完成。无 Docker、无
git clone、无本地服务器。
Canva + ChatGPT
让你的 AI 在 Canva 中工作:查找和读取设计,创建新设计,将设计导出为 PDF、PNG、PowerPoint 或视频并获取下载链接,整理文件夹,通过链接上传图片,读取品牌模板,并在设计上发表评论。
前提条件
完整的设置说明已内置在连接器中 (在 store 中选择连接器时可见)。所需环境变量:
CANVA_CLIENT_ID, CANVA_CLIENT_SECRET
步骤 1 — 获取凭证
- 为你的 Canva 账号开启使用身份验证器应用的多重身份验证:Settings → Login & security。只有开启后,Canva 才会为开发者启用 REST API 访问。
- 打开 Canva Developer Portal(
https://www.canva.com/developers/apps),点击 Create an app 并选择应用面向的对象。私有应用由你自己团队的管理员批准,需要 Canva Enterprise 团队。公开应用对作为开发者的你立即可用;其他 Canva 用户要等 Canva 审核通过后才能连接。然后打开 Outside Canva → Start integrating 来使用 REST API。 - 在 Configuration → Scopes 中勾选以下 12 个 scope:
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。连接器会请求全部这些 scope,如果登录请求了未勾选的 scope,Canva 会拒绝。 - 在 Authentication 中添加重定向 URL
https://cloud.anythingmcp.com/api/mcp-oauth/callback。如果你自行托管 AnythingMCP,则为<your AnythingMCP URL>/api/mcp-oauth/callback。Canva 不接受localhost重定向 URL,因此本地部署请改用127.0.0.1:把SERVER_URL设为http://127.0.0.1:<port>,并注册http://127.0.0.1:<port>/api/mcp-oauth/callback。 - 把 Client ID 复制到
CANVA_CLIENT_ID。点击 Generate secret,并立即把它粘贴到CANVA_CLIENT_SECRET,因为 Canva 只显示一次。 - 安装连接器,点击 Authorize with Provider,并在 Canva 中允许访问。登录使用带 PKCE 的 OAuth 2.0:AnythingMCP 永远看不到你的 Canva 密码,并会自动续期访问令牌(有效期约四小时)。每个刷新令牌只能使用一次,每次续期都会被替换。
- 先运行
canva_get_me:它返回你的 Canva 用户 ID 和团队 ID,可以快速确认授权是否有效。
导出以下载链接形式返回:canva_create_export 启动一个任务,canva_get_export 告诉你何时完成,每个文件一个链接(多页图片每页一个)。链接有效期为 24 小时。canva_get_design_export_formats 显示设计支持哪些格式:根据设计类型,包括 PDF、JPG、PNG、SVG、PowerPoint、GIF、MP4 等。含有未获授权的高级元素的设计会以 license_required 失败。Canva 允许每位用户每 5 分钟导出 75 次,每天 500 次。
通过链接上传:canva_upload_asset_from_url 把图片或视频放进你的 Uploads,canva_get_asset_upload 告诉你何时完成。文件由 Canva 自己下载,所以该链接必须对 Canva 的下载程序返回 200。拒绝自动下载的网站会让任务以 fetch_failed 失败。
文件夹和设计:root 表示你的项目的顶层,uploads 表示 Uploads 文件夹。设计 ID 是 Canva 链接中 /design/ 后面的部分,例如 https://www.canva.com/design/DAFVztcvd9z/... 中的 DAFVztcvd9z。canva_create_design 创建空白的文档、电子邮件、演示文稿或白板,或以像素为单位的自定义尺寸,并返回编辑链接。缩略图链接 15 分钟后过期,编辑和查看链接 30 天后过期。
需要什么套餐:设计、文件夹、上传、导出和评论适用于所有 Canva 套餐,包括免费版。品牌模板需要包含该功能的套餐(Pro、Teams 或 Enterprise);如果你的套餐支持,canva_get_capabilities 会列出 brand_template。
先确认:评论和回复(canva_create_comment、canva_reply_to_comment)对协作者可见,因此 AI 会在发布前先给你看文字内容。会把项目移入回收站的 canva_delete_folder 和 canva_delete_asset 在安装时处于关闭状态。
只读设置:在 Developer Portal 和连接器的 OAuth 设置中取消勾选 :write scope,重新授权,并关闭会创建、修改或移动内容的工具。
预览版 API:评论和通过链接上传使用的是 Canva 的预览版 API,可能会在不通知的情况下变更,使用它们的公开应用无法通过 Canva 的审核。对于公开应用,请关闭 canva_upload_asset_from_url、canva_get_asset_upload 和四个评论工具。
常见错误:invalid_access_token 或 revoked_access_token 表示需要重新授权。missing_scope:在门户和连接器的 OAuth 设置中勾选该 scope,然后重新授权。permission_denied 或 design_not_found(以及 folder_not_found、asset_not_found):ID 错误,或你的账号看不到该项目。提示 "requires one of capabilities" 的 403 表示这是付费功能,例如品牌模板。too_many_requests:大多数调用允许每位用户每分钟 10 到 100 次,请等待一分钟。
连接器不会编辑设计内部的内容、填充品牌模板(autofill)、调整设计尺寸、导入文件、用 AI 生成内容、读取设计分析数据或设置 webhook。
步骤 2 — 安装 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
步骤 3 — 在 ChatGPT 中添加连接器
你的服务器 URL: 在 AnythingMCP 中打开 MCP Servers → 此连接器所在的服务器,复制它的 URL(
https://cloud.anythingmcp.com/mcp/…)。本指南中出现YOUR_SERVER_ID的地方都用它替换。
ChatGPT 通过开发者模式(Developer mode)将 MCP 服务器作为自定义应用接入,仅付费套餐可用,免费套餐不可用。在 Business 和 Enterprise 工作区中,可能需要管理员先开启。
- 在 ChatGPT 中打开 Settings → Security and login,开启 Developer mode。
- 前往 chatgpt.com/plugins,点击 +。
- 填写名称和简短描述,例如 Name:
Canva。 - 在 Connection 下填入 MCP 服务器 URL
https://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID,然后创建连接。 - ChatGPT 提示时,登录 AnythingMCP(OAuth)并允许访问。
可用工具
| Tool | What it does |
|---|---|
canva_get_me | Read who authorized the connector: the Canva user_id and team_id |
canva_get_profile | Read the display name of the signed-in Canva user (scope profile:read) |
canva_get_capabilities | List the paid features the signed-in user can use through the API, e.g. brand_template, autofill, resize, export_png_transparency |
canva_list_designs | List 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_design | Read one design by id: title, owner, page_count, thumbnail, edit_url, view_url and timestamps (scope design:meta:read) |
canva_create_design | Create 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_formats | List 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_export | Start 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_export | Read 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_items | List what a folder contains, with each item's type (design, folder, image, brand_template) and details |
canva_get_folder | Read 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_folder | Create a folder in the user's Projects (parent_folder_id root), in Uploads (uploads) or inside another folder |
canva_rename_folder | Rename a folder; the name is the only thing that can be changed (scope folder:write) |
canva_move_folder_item | Move a design, folder or image into another folder (to_folder_id root for the top level of Projects) |
canva_delete_folder | Delete a folder |
canva_get_asset | Read an uploaded asset (image or video): name, tags, owner, thumbnail and timestamps (scope asset:read) |
canva_update_asset | Rename an asset or replace its tags. tags replaces the whole list (up to 50 tags) (scope asset:write) |
canva_delete_asset | Move an asset to the Trash |
canva_upload_asset_from_url | Start uploading an image or video from a public URL into the user's Uploads |
canva_get_asset_upload | Read 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_templates | List the brand templates the user can use, with id, title, view_url, create_url and thumbnail |
canva_get_brand_template | Read one brand template by id: title, view_url, create_url (opens a new design from it), thumbnail and timestamps (scope… |
canva_get_brand_template_dataset | Read the autofill fields of a brand template: each field name with its type (text, image or chart) |
canva_create_comment | Start a comment thread on a design, optionally assigned to a collaborator |
canva_get_comment_thread | Read a comment thread on a design: the comment, its author, assignee, resolution state and timestamps |
canva_list_comment_replies | List the replies in a comment thread, oldest first, with author and text |
canva_reply_to_comment | Reply to a comment thread on a design (up to 100 replies per thread) |
示例提示
- “找出标题中包含‘pitch deck’的设计,并给我最新那个的编辑链接。”
- “把‘Q4 sales review’演示文稿导出为 PDF,并给我下载链接。”
- “把这个链接里的产品照片上传到我的 Canva,并用它新建一个 1080 × 1080 的帖子。”
- “新建一个名为‘秋季活动’的文件夹,把上周活动的所有设计都移进去。”
FAQ
ChatGPT 免费套餐能用自定义 MCP 连接器吗? 不能。自定义 MCP 连接需要开发者模式,只有付费套餐提供。
下一步
这份指南对你有帮助吗?