Skip to main content
Glama

Canva テンプレートからの投稿生成

「スポーツに関する中国語の単語5つ」と頼むと、テンプレートをそのままに、最近使った単語を繰り返さず、Canva アカウントに新しい5枚のカルーセルが生成されます。

コスト: 0 €。Canva Free と Canva 公式 MCP サーバーとこのローカルサーバーだけ。リサイズも、Enterprise の autofill も、プレミアムリソースも不要です。

仕組み

2つの 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 キーを管理したりする必要はありません。

ローカルサーバーは .mcp.json にすでに宣言されているので、プロジェクトを開くと Claude Code が自動的に起動します。/mcp で2つとも表示されることを確認してください。

テンプレートの設定

各テンプレートは Canva でマルチページのデザインにします。つまり、同じレイアウトのページを複数枚コピーした(max_paginas に設定した枚数まで、例: 12)状態にします。Nスライドの投稿は、そのページの中のNページをコピーして作るので、マスターには投稿で指定しうる最大スライド数と同じ枚数以上のページが必要です。

plantillas.json を編集するか(または、アシスタントに anadir_plantilla を使ってもらう)、各テンプレートに次の要素が必要です:

  • canva_design_id — マスターデザインのURLにあります: canva.com/design/DAFxxxxxxxx/edit → ここの DAFxxxxxxxx です。

  • max_paginas — マスターに何ページあるか(=このテンプレートで作れる1投稿の最大スライド枚数)。

  • huecos — 各ページで変更したいブロックごとに1つのオブジェクト用意します。その際、texto_actual フィールドは、現在そのブロックに書かれている内容を文字どおり記入してください。編集時にその文字列でブロックを探すためです。テキスト用のブロックは "tipo": "texto"max_caracteres を持ちます。画像用のブロックは "tipo": "imagen"max_caracteres なし)で、フリーライセンス(CC0/パブリックドメイン)の写真を探して埋めます。見つからない場合は手動で入れてもらいます。

  • max_caracteres — ページにテキストを入れてレイアウトが崩れるところまで実際に測り、2文字ほど減らした値にします。

  • reglas_estilo — あなたのコンテンツのスタイルを命令文で書いたものです。結果品質に一番反映されるので、調整する価値があります。

ヒント: Canva 内のテンプレート名は、説明になるように付けておきましょう(PLANTILLA_chino_5palabras_feed)。正しいテンプレートが選ばれやすくなります。

使い方

Claude Code で、プロジェクトのフォルダ内で:

> hazme un post de 5 palabras en chino sobre deportes

generar-post スキルが自動的に発動します。流れは、テンプレートとスライド枚数を選択する → huecos のコントラクトをリクエストする → スライドごとにコンテンツを生成 → 検証 → ページをN枚複製して Canva で編集 → すべてを1つのリンクにエクスポート → 投稿全体を履歴に記録する、です。

コンテンツが検証に通らない場合、Canva に触れる前に修正して再検証します。壊れたデザインにならないための部分がまさにここです。

重複を避ける仕組み

  • テーマtemas_publicados): 同じテーマ(例:「スポーツ」を丸ごと再掲)で投稿したことがあれば、それを知らせます。

  • 単語elementos_usados): そのテンプレートの直近 COOLDOWN_POSTS 件の投稿(デフォルトは15、servidor_catalogo.py で変更可能)で使った単語は避けます。永久的なブロックではなく、その投稿数が過ぎればまた使えるようになります。誰もすっかり覚えていないか、という絶妙な間隔です。

このプロジェクトがやらないこと

  • Instagram や TikTok には公開しません。 Canva の MCP ができるのは画像や PDF へのエクスポートまでです。公開は Meta と TikTok の API を使う別の連携で、実装するにはどうしても時間がかかります。

  • AI で画像は生成しません。 画像の空き枠には、フリーライセンス(CC0/パブリックドメイン)の既存写真を探します(Openverse)。見つからなければ、手動で入れるよう手配します。

  • フォーマット間のリサイズはしません。 Canva Pro が必要です。フォーマットごとにテンプレートを用意してください。フィード用と縦型(ストーリー)用をそれぞれ1つずつ、カタログに登録しておきます。

  • 自動では動きません。 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スライド要求に対してコントが返ってくることを確認すればOKです。

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