Skip to main content
Glama

从 Canva 模板生成帖子

你输入 “关于运动的 5 个中文词语”,它就会在你的 Canva 账户中生成一个包含 5 张幻灯片的新轮播,模板保持原样,也不会重复最近用过的词语。

费用:0 欧元。Canva Free + Canva 官方 MCP 服务器 + 这个本地服务器。无需调整尺寸,无需 Enterprise 自动填充,无需高级资源。

这是如何搭起来的

两个 MCP 服务器分工合作:

服务器

由谁维护

做什么

canva

Canva(远程,OAuth)

复制、读取、编辑和导出设计

catalogo-plantillas

你(本地,stdio)

目录、限制、校验和历史

负责 Canva 的那个服务器懂设计,但完全不了解你的模板,也不知道你已经发布过什么。这个空缺由本地服务器补上,而让这个项目真正可靠的核心逻辑也就在这里:硬性规则由代码检查,而不是由模型检查。 字数统计正是 LLM 最不擅长的那种事。

Related MCP server: XHS-MCP

安装

python3 -m venv .venv
./.venv/bin/pip install -r requirements.txt

在 Claude 中连接 Canva(设置 → 连接器 → Canva),或在 Claude Code 中:

claude mcp add --transport http canva https://mcp.canva.com/mcp

此时会在浏览器中打开 Canva 的 OAuth 授权流程。无需创建任何应用,也不用管理 API keys。

本地服务器已经声明在 .mcp.json 中,因此 Claude Code 在打开项目时会自动把它启动起来。也可以通过 /mcp 检查两个服务器是否都已出现。

配置你要使用的模板

每个模板都必须是 Canva 中的多页面设计:用相同的布局复制出多个页面(最多为你在 max_paginas 中填写的数量,比如 12)。一个含 N 张幻灯片的帖子,就是复制模板中对应的 N 个页面生成的,因此母板上的页面数量至少要比你某次帖子可能请求的幻灯片数量还要大。

编辑 plantillas.json(或请助手使用 anadir_plantilla)。对每个模板,你需要:

  • canva_design_id —— 这个值在主设计的 URL 中:canva.com/design/DAFxxxxxxxx/edit → 那个 DAFxxxxxxxx

  • max_paginas —— 母板包含多少页(也就是说模板在生成帖子时最多能容纳多少张幻灯片)。

  • huecos —— 每个需要修改的板块,对应一个对象。texto_actual 字段必须就写模板中该板块当前的一模一样的内容:编辑时靠这个来定位。文字板块需要 "tipo": "texto"max_caracteres;合理图片板块需要 "tipo": "imagen"(不带 max_caracteres),它会尝试查找自由授权(CC0/公有领域)的图片来填充,如果没有合适的,再让你手动提供。

  • max_caracteres —— 通过在页面上输入文字,直到开始出问题为止,然后再减去几个字符,就当作 max_caracteres

  • reglas_estilo —— 用祈使句写出你内容的风格。这里不一样很明显,值得花时间调优。

一个建议:在 Canva 中用有描述的 PLANTILLA_chino_5palabras_feed 来命名模板,这样能更轻松地被选中正确的那套。

使用

在项目目录里的 Claude Code 中输入:

> hazme un post de 5 palabras en chino sobre deportes

generar-post 技能会自动触发。整个流程是:选套模板和幻灯片页数 → 请求插槽契约 → 逐张生成内容 → 校验 → 在 Canva 中复制 N 页并编辑 → 将所有内容导出到一条一链接 → 把完整帖子记录到历史记录中。

如果内容没有通过校验,系统会在碰到 Canva 之前自动纠错并再次校验。这才是出来不搞坏设计的关键。

如何避免重复

  • 主题temas_publicados):如果你已经发布过同一主题的完整帖子(比如整组再发一次“体育”),就会收到提醒。

  • 词语elementos_usados):每种模板最近 COOLDOWN_POSTS 条帖子(默认 15 条,可在 servidor_catalogo.py 中配置)里用過的词语都会被避开。这不是永久禁用——过了那个帖子数之后,该词语就会恢复可用,刚好越长时间到足够让人忘记它。

这个项目不会做的事

  • 不会发布到 Instagram 或 TikTok。 Canva MCP 服务最高做到“导出承图片或 PDF”。发布是另一套集成(Meta 和 TikTok 的 API),而且对搭建来说并不是免费。

  • 不会用 AI 生成图片。 对图片插槽,它会先查找已存在的 CC0/公有领域授权图片(通过 Openverse);如果找不到,就会让你手动填入。

  • 不会在不同改版尺寸之间转换。 那需要 Canva Pro。请为每个格式保持一个模板:一个用在校内,专长,一个用于竖版,在目录中分别为它分配一个条目。

  • 不会自动运行。 每次你主动打开一次对话时,MCP 才会响应。它不会在半夜无人看守顺手出现帖子。

  • 不会替你审看。 修改文字可能导致换行错位,而自动搜索的图片也未必完全不对。发布前要先打开设计看一遍。

检查本地服务器是否工作正常

./.venv/bin/python -c "
import servidor_catalogo as s
print(s.listar_plantillas())
print(s.preparar_encargo('texto-3', 'animales', 4))
print(s.elementos_usados('texto-3'))
"

它应该列出你的模板,并返回一个“针对 texto-3 的 4 张幻灯片请求”的契约。

F
license - not found
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Create, schedule and publish social posts to TikTok, Instagram, Facebook and YouTube.

  • Social media MCP: publish, schedule & analyze posts on TikTok, Instagram, YouTube, LinkedIn & X

  • 搜索笔记、浏览首页推荐、查看笔记内容与评论,并发表你的评论。直接在工作流中与小红书内容互动,高效跟进话题。

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/josevictorgarcia/mcp-server-chinesereads-canva'

If you have feedback or need assistance with the MCP directory API, please join our Discord server