mcpField
C
canva-automation

canva-automation

github.com/composiohqデザイン・UI78.3k76 回インストール14 週間前に更新
リポジトリ

canva-automation について

canva-automation は、Rube MCP と Composio の Canva toolkit を通じて Canva の操作を行うスキルです。デザインの作成・書き出し・整理に加え、ブランドテンプレートへのデータ入力に対応します。

主な機能

  1. 01デザインの一覧表示と検索
  2. 02新規またはテンプレートからのデザイン作成
  3. 03デザイン素材のアップロード
  4. 04複数形式での書き出し
  5. 05フォルダー作成とデザイン整理
  6. 06ブランドテンプレートへのデータ入力

活用シーン

  1. 01Canva のデザインライブラリから既存作品を検索
  2. 02告知物やプレゼンテーションの作成と書き出し
  3. 03デザイン素材としてファイルをアップロード
  4. 04ブランドテンプレートからデザインを生成

MCP 対応

Rube MCP 経由で Composio の Canva toolkit を呼び出します。利用前に Canva の接続と最新のツール定義が必要です。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/composiohq/awesome-claude-skills --skill canva-automation

インストール後、Claude Code で/canva-automationを入力して読み込まれたか確認します。

詳細

Rube MCP を介した Canva の自動化

Rube MCP を介して Composio の Canva ツールキットを使用し、Canva のデザイン操作を自動化します。

ツールキットのドキュメント:composio.dev/toolkits/canva

前提条件

  • Rube MCP が接続されていること(RUBE_SEARCH_TOOLS を利用可能)
  • RUBE_MANAGE_CONNECTIONS を通じて、ツールキット canva の Canva 接続が有効であること
  • 最新のツールスキーマを取得するため、必ず最初に RUBE_SEARCH_TOOLS を呼び出してください

セットアップ

Rube MCP の取得:クライアントの設定で https://rube.app/mcp を MCP サーバーとして追加します。API キーは不要です。エンドポイントを追加するだけで動作します。

  1. RUBE_SEARCH_TOOLS が応答することを確認し、Rube MCP が利用可能であることを確かめます
  2. ツールキット canva を指定して RUBE_MANAGE_CONNECTIONS を呼び出します
  3. 接続が ACTIVE でない場合は、返された認証リンクに従って Canva OAuth を完了します
  4. ワークフローを実行する前に、接続ステータスが ACTIVE であることを確認します

主なワークフロー

1. デザインの一覧表示と閲覧

使用する場面:既存のデザインを探したり、Canva ライブラリを閲覧したりしたい場合

ツールの順序:

  1. CANVA_LIST_USER_DESIGNS - オプションのフィルターを指定して、すべてのデザインを一覧表示します[必須]

主なパラメーター:

  • query:デザイン名で絞り込む検索語
  • continuation:前回の応答から取得したページネーション用トークン
  • ownership:'owned'、'shared'、'any' のいずれかで絞り込みます
  • sort_by:並べ替えの基準(例:'modified_at'、'title')

注意点:

  • 結果はページネーションされます。continuation トークンがなくなるまで処理を続けてください
  • 削除済みのデザインが一時的に表示される場合があります。デザインのステータスを確認してください
  • 検索は部分一致であり、あいまい検索ではありません
2. デザインの作成

使用する場面:Canva のデザインを一から、またはテンプレートから新規作成したい場合

ツールの順序:

  1. CANVA_ACCESS_USER_SPECIFIC_BRAND_TEMPLATES_LIST - 利用可能なブランドテンプレートを閲覧します[任意]
  2. CANVA_CREATE_CANVA_DESIGN_WITH_OPTIONAL_ASSET - 新しいデザインを作成します[必須]

主なパラメーター:

  • design_type:デザインの種類(例:'Presentation'、'Poster'、'SocialMedia')
  • title:新しいデザインの名前
  • asset_id:デザインに含める任意のアセット
  • width / height:ピクセル単位のカスタムサイズ

注意点:

  • デザインの種類は Canva の定義済みタイプと正確に一致させる必要があります
  • カスタムサイズには最小値と最大値があります
  • アセットを参照する前に、CANVA_CREATE_ASSET_UPLOAD_JOB を使用してアップロードしておく必要があります
3. アセットのアップロード

使用する場面:デザインで使用する画像やファイルを Canva にアップロードしたい場合

ツールの順序:

  1. CANVA_CREATE_ASSET_UPLOAD_JOB - アセットのアップロードを開始します[必須]
  2. CANVA_FETCH_ASSET_UPLOAD_JOB_STATUS - アップロードが完了するまで状態を確認します[必須]

主なパラメーター:

  • name:アセットの表示名
  • url:アップロードするファイルの公開 URL(URL を使用したアップロードの場合)
  • job_id:手順 1 で返されたアップロードジョブ ID(状態確認用)

注意点:

  • アップロードは非同期です。完了するまでジョブの状態を必ず確認してください
  • 対応形式には PNG、JPG、SVG、MP4、GIF があります
  • ファイルサイズの上限が適用されます。大きなファイルは処理に時間がかかる場合があります
  • CREATE から返される job_id は、状態確認に必要な ID です
  • 状態の値:'in_progress'、'success'、'failed'
4. デザインをエクスポートする

使用する状況:ユーザーがCanvaのデザインをPDF、PNG、またはその他の形式でダウンロードまたはエクスポートしたい場合

ツールの手順:

  1. CANVA_LIST_USER_DESIGNS - エクスポートするデザインを探します[前提条件]
  2. CANVA_CREATE_CANVA_DESIGN_EXPORT_JOB - エクスポート処理を開始します[必須]
  3. CANVA_GET_DESIGN_EXPORT_JOB_RESULT - エクスポートが完了するまでポーリングし、ダウンロードURLを取得します[必須]

主なパラメーター:

  • design_id:エクスポートするデザインのID
  • format:エクスポート形式('pdf'、'png'、'jpg'、'svg'、'mp4'、'gif'、'pptx')
  • pages:エクスポートする特定のページ番号(配列)
  • quality:エクスポート品質('regular'、'high')
  • job_id:ステータスをポーリングするためのエクスポートジョブID

注意点:

  • エクスポートは非同期です。完了するまで、必ずジョブの結果をポーリングしてください
  • 完了したエクスポートのダウンロードURLには有効期限があります
  • ページ数の多い大規模なデザインは、エクスポートに時間がかかります
  • すべての形式が、すべてのデザインタイプに対応しているわけではありません(例:MP4はアニメーションのみ)
  • ポーリング間隔:ステータスを確認する間に2~3秒待機してください
5. フォルダーで整理する

使用する状況:ユーザーがフォルダーを作成したり、デザインをフォルダーに整理したりしたい場合

ツールの手順:

  1. CANVA_POST_FOLDERS - 新しいフォルダーを作成します[必須]
  2. CANVA_MOVE_ITEM_TO_SPECIFIED_FOLDER - デザインをフォルダーに移動します[任意]

主なパラメーター:

  • name:フォルダー名
  • parent_folder_id:階層構造で整理する場合の親フォルダー
  • item_id:移動するデザインまたはアセットのID
  • folder_id:移動先のフォルダーID

注意点:

  • フォルダー名は、同じ親フォルダー内で一意である必要があります
  • アイテムをフォルダー間で移動すると、場所が即座に更新されます
  • ルートレベルのフォルダーにはparent_folder_idがありません
6. ブランドテンプレートから自動入力する

使用する状況:ユーザーがブランドテンプレートのプレースホルダーにデータを入力してデザインを生成したい場合

ツールの手順:

  1. CANVA_ACCESS_USER_SPECIFIC_BRAND_TEMPLATES_LIST - 利用可能なブランドテンプレートを一覧表示します[必須]
  2. CANVA_INITIATE_CANVA_DESIGN_AUTOFILL_JOB - データを使って自動入力を開始します[必須]

主なパラメーター:

  • brand_template_id:使用するブランドテンプレートのID
  • title:生成するデザインのタイトル
  • data:プレースホルダー名と置換値のキーと値のマッピング

注意点:

  • テンプレートのプレースホルダーは完全に一致している必要があります(大文字と小文字を区別します)
  • 自動入力は非同期です。完了するまでポーリングしてください
  • 自動入力に対応しているのはブランドテンプレートのみで、通常のデザインには対応していません
  • データ値は、各プレースホルダーで期待される型(テキスト、画像URL)に一致している必要があります

よく使われるパターン

非同期ジョブのパターン

Canvaの多くの操作は非同期です:

1. Initiate job (upload, export, autofill) -> get job_id
2. Poll status endpoint with job_id every 2-3 seconds
3. Check for 'success' or 'failed' status
4. On success, extract result (asset_id, download_url, design_id)
IDの解決

デザイン名 -> デザインID:

1. Call CANVA_LIST_USER_DESIGNS with query=design_name
2. Find matching design in results
3. Extract id field

ブランドテンプレート名 -> テンプレートID:

1. Call CANVA_ACCESS_USER_SPECIFIC_BRAND_TEMPLATES_LIST
2. Find template by name
3. Extract brand_template_id
ページネーション
  • レスポンスにcontinuationトークンが含まれているか確認します
  • 次のリクエストのcontinuationパラメーターにトークンを渡します
  • continuationが存在しない、または空になるまで続けます

既知の注意点

非同期操作:

  • アップロード、エクスポート、自動入力はすべて非同期です
  • 常にジョブのステータスをポーリングしてください。すぐに完了すると想定しないでください
  • エクスポートのダウンロードURLには有効期限があります。速やかに使用してください

アセット管理:

  • デザインで使用する前に、アセットをアップロードする必要があります
  • asset_idが有効になるには、アップロードジョブのステータスが'success'になる必要があります
  • 対応形式は異なる場合があります。最新の制限についてはCanvaのドキュメントを確認してください

レート制限:

  • Canva APIにはエンドポイントごとにレート制限があります
  • 一括操作には指数バックオフを実装してください
  • API呼び出しを減らすため、可能な場合は操作をまとめてください

レスポンスの解析:

  • レスポンスデータはdataキーの下にネストされている場合があります
  • ジョブステータスのレスポンスには、完了状態に応じて異なるフィールドが含まれます
  • 任意フィールドに対するフォールバックを用意し、堅牢に解析してください

Quick Reference

TaskTool SlugKey Params
List designsCANVA_LIST_USER_DESIGNSquery, continuation
Create designCANVA_CREATE_CANVA_DESIGN_WITH_OPTIONAL_ASSETdesign_type, title
Upload assetCANVA_CREATE_ASSET_UPLOAD_JOBname, url
Check uploadCANVA_FETCH_ASSET_UPLOAD_JOB_STATUSjob_id
Export designCANVA_CREATE_CANVA_DESIGN_EXPORT_JOBdesign_id, format
Get exportCANVA_GET_DESIGN_EXPORT_JOB_RESULTjob_id
Create folderCANVA_POST_FOLDERSname, parent_folder_id
Move to folderCANVA_MOVE_ITEM_TO_SPECIFIED_FOLDERitem_id, folder_id
List templatesCANVA_ACCESS_USER_SPECIFIC_BRAND_TEMPLATES_LIST(none)
Autofill templateCANVA_INITIATE_CANVA_DESIGN_AUTOFILL_JOBbrand_template_id, data

Powered by Composio

コメント