mcp-server-chinesereads-canva
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-server-chinesereads-canvaHazme un post de 5 palabras en chino sobre deportes"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Post generator from Canva templates
You ask for "5 words in Chinese about sports" and a new 5-slide carousel appears in your Canva account, with the template intact and without repeating recent words.
Cost: €0. Canva Free + the official Canva MCP server + this local server. No resizing, no Enterprise autofill, no premium assets.
How it's set up
Two MCP servers sharing the work:
Server | Who maintains it | What it does |
| Canva (remote, OAuth) | Duplicate, read, edit, and export designs |
| You (local, stdio) | Catalog, limits, validation, and history |
The Canva one knows about designs but nothing about your templates or what you've already published. The local server fills that gap, and that's where the logic that makes this reliable lives: the hard rules are checked by code, not by the model. Counting characters is exactly the kind of thing an LLM does poorly.
Related MCP server: XHS-MCP
Installation
python3 -m venv .venv
./.venv/bin/pip install -r requirements.txtConnect Canva from Claude (Settings → Connectors → Canva) or, in Claude Code:
claude mcp add --transport http canva https://mcp.canva.com/mcpCanva's OAuth opens in the browser. There's no need to create an app or manage API keys.
The local server is already declared in .mcp.json, so Claude Code starts it on its own when you open the project. Check with /mcp that both servers appear.
Configuring your templates
Each template must be a multi-page design in Canva: several pages duplicated with the same layout (up to the number you set in max_paginas, e.g., 12). A post with N slides is generated by copying N of those pages, which means the master needs as many pages as the largest number of slides you'll ever ask for in a single post.
Edit plantillas.json (or ask the assistant to use anadir_plantilla). For each template you need:
canva_design_id— it's in the master design URL:canva.com/design/DAFxxxxxxxx/edit→ theDAFxxxxxxxx.max_paginas— how many pages the master has (= the maximum slides a post can have with this template).huecos— one object for each block you want to change on each page. Thetexto_actualfield must be literally what that block says in the template today: that's how it's located when editing. Text boxes use"tipo": "texto"andmax_caracteres; an image slot uses"tipo": "imagen"(withoutmax_caracteres) and is filled by finding a freely licensed photo (CC0/public domain) or, if no such photo is found, by hand.max_caracteres— measure it by typing text on a page until it breaks, then subtract a couple of characters.reglas_estilo— the style of your content in imperative sentences. This has the most visible impact on the quality of the result; it's worth fine-tuning.
One tip: name templates descriptively in Canva
(PLANTILLA_chino_5palabras_feed). It helps the correct one get chosen.
Usage
In Claude Code, inside the project folder:
> hazme un post de 5 palabras en chino sobre deportesThe generar-post skill triggers on its own. The flow is: choose a template and number of slides → ask for the slots contract → generate content per slide → validate → duplicate N pages and edit them in Canva → export everything in a single link → record the complete post in history.
If the content doesn't pass validation, it's corrected and revalidated before touching anything in Canva. That's the part that keeps you from ending up with broken designs.
How it avoids repeating
Themes (
temas_publicados): warns if a post with that exact theme was already published (e.g., "sports" all over again).Words (
elementos_usados): words used in the lastCOOLDOWN_POSTSposts (15 by default, configurable inservidor_catalogo.py) for that template are avoided. It's not a permanent block — after that many posts, the word becomes available again, just long enough for no one to remember it.
What this project does not do
It doesn't publish to Instagram or TikTok. The Canva MCP goes up to exporting to image or PDF. Publishing is another integration (Meta and TikTok APIs) and isn't free in setup time.
It doesn't generate images with AI. For image slots, it searches for existing photos licensed CC0/public domain (Openverse); if none are found, it asks you to provide one manually.
It doesn't resize between formats. That requires Canva Pro. Keep one template per format: one for feed and one vertical, each with its own entry in the catalog.
It doesn't run on its own. The MCP responds when you open a conversation. Nothing is scheduled to generate posts in the middle of the night from you.
It doesn't replace review. Changing text can misalign a line break, and an auto-searched image may not be quite right. Open the design before publishing.
Verifying that the local server works
./.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'))
"It should list your templates and return the contract for a 4-slide request for texto-3.
This server cannot be deployed
Maintenance
Related MCP Connectors
Create, review, publish and schedule Instagram images, carousels and Reels with AI assistants.
On-brand carousels, captions and scheduled posts for Instagram, LinkedIn and TikTok.
Our AI agents ideate, create and publish videos and carousels across 11 social media channels.
Create, edit, export and publish social carousels from your Slidefast account.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables creation of optimized LinkedIn posts using a component-based design system with variants, themes, and composition patterns. Supports multiple post types (text, document, poll, video, carousel) with research-backed optimization for maximum engagement.3Apache 2.0
- AlicenseNot gradedqualityDmaintenanceEnables content creators to manage, analyze, and publish Xiaohongshu (Little Red Book) content through browser automation, with built-in templates, data analytics, and scheduling capabilities accessible via CLI or AI assistants.48 npm1MIT
- AlicenseAqualityFmaintenanceEnables generation of Xiaohongshu (Little Red Book) social media content including intelligent outlines, AI-generated images, and multi-page posts through natural language commands.56 npm15MIT
- FlicenseNot gradedqualityBmaintenanceEnables AI clients to generate premium 4K carousel slides from a single instruction, combining expert copywriting, AI image generation, and premium typography compositing.-