miro-automation について
Composio の Miro ツールキットと Rube MCP を介して、Miro のホワイトボード操作を自動化するスキルです。ボードの検索、項目の作成・整理、共同作業を扱います。
主な機能
- 01ボードの検索と詳細取得
- 02ボード、付箋、フレーム、複数項目の作成
- 03ボード項目とコネクターの閲覧
- 04ボードの共有とメンバー確認
活用シーン
- 01名前でボードを探して詳細を確認
- 02ボードに付箋やフレームを追加・配置
- 03指定した権限で共同作業者を招待
MCP 対応
Rube MCP 経由で Composio の Miro ツールキットを利用します。ワークフローの実行前に Miro アカウントの接続が必要です。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ davepoon/ buildwithclaude --skill miro-automationインストール後、Claude Code で/miro-automationを入力して読み込まれたか確認します。
詳細
Rube MCP による Miro の自動化
Rube MCP を介して Composio の Miro ツールキットを使用し、Miro のホワイトボード操作を自動化します。
ツールキットのドキュメント:composio.dev/toolkits/miro
前提条件
- Rube MCP が接続されていること(RUBE_SEARCH_TOOLS が利用可能であること)
RUBE_MANAGE_CONNECTIONSでツールキットmiroを指定して、Miro への接続が有効になっていること- 現在のツールスキーマを取得するため、必ず最初に
RUBE_SEARCH_TOOLSを呼び出してください
セットアップ
Rube MCP を入手する:クライアントの構成に https://rube.app/mcp を MCP サーバーとして追加します。API キーは不要です。エンドポイントを追加するだけで動作します。
RUBE_SEARCH_TOOLSが応答することを確認し、Rube MCP が利用可能であることを検証します- ツールキット
miroを指定してRUBE_MANAGE_CONNECTIONSを呼び出します - 接続が ACTIVE でない場合は、返された認証リンクに従って Miro OAuth を完了します
- ワークフローを実行する前に、接続ステータスが ACTIVE であることを確認します
主なワークフロー
1. ボードの一覧表示と閲覧
使用する場面:ユーザーがボードを検索したい場合、またはボードの詳細を確認したい場合
ツールの手順:
MIRO_GET_BOARDS2- アクセス可能なすべてのボードを一覧表示します[必須]MIRO_GET_BOARD- 特定のボードの詳細情報を取得します[任意]
主なパラメーター:
query:ボード名で絞り込むための検索語sort:'default'、'last_modified'、'last_opened'、'last_created'、'alphabetically' のいずれかで並べ替えますlimit:1 ページあたりの結果数(最大 50)offset:ページネーションのオフセットboard_id:詳細を取得する特定のボード ID
注意点:
- ページネーションにはカーソル方式ではなく、オフセット方式を使用します
- 1 ページあたり最大 50 件のボードが表示されます。全件を取得するには、オフセットを指定して繰り返し取得してください
- ボード ID は長い英数字の文字列です。必ず最初に検索して特定してください
2. ボードとアイテムの作成
使用する場面:ユーザーが新しいボードを作成したい場合、または既存のボードにアイテムを追加したい場合
ツールの手順:
MIRO_CREATE_BOARD- 新しい空のボードを作成します[任意]MIRO_CREATE_STICKY_NOTE_ITEM- ボードに付箋を追加します[任意]MIRO_CREATE_FRAME_ITEM2- コンテンツを整理するためのフレームを追加します[任意]MIRO_CREATE_ITEMS_IN_BULK- 複数のアイテムを一度に追加します[任意]
主なパラメーター:
name/description:ボード名と説明(CREATE_BOARD 用)board_id:対象のボード ID(すべてのアイテム作成で必須)data:付箋のテキストに使うcontentフィールドを含むコンテンツオブジェクトstyle:付箋の色に使うfillColorを含むスタイルオブジェクトposition:xとyの座標を含むオブジェクトgeometry:widthとheightを含むオブジェクト
注意点:
- すべてのアイテム操作で
board_idが必須です。まず GET_BOARDS2 で取得してください - 付箋の色には、
fillColorフィールドで 16 進数コード(例:'#FF0000')を使用します - 位置の座標にはボードの座標系を使用します(原点は中央)
- 一括作成にはリクエストあたりの最大アイテム数の上限があります。現在のスキーマを確認してください
- フレームアイテムには、幅と高さの両方を指定した
geometryが必要です
3. ボード上のアイテムの閲覧と管理
使用する場面:ユーザーがボード上のアイテムを表示、検索、または整理したい場合
ツールの手順:
MIRO_GET_BOARD_ITEMS- ボード上のすべてのアイテムを一覧表示します[必須]MIRO_GET_CONNECTORS2- アイテム間の接続を一覧表示します[任意]
主なパラメーター:
board_id:対象のボード ID(必須)type:アイテムの種類で絞り込みます('sticky_note'、'shape'、'text'、'frame'、'image'、'card')limit:1 ページあたりのアイテム数cursor:前回のレスポンスから取得したページネーション用カーソル
注意点:
- 結果はページネーションされます。アイテムをすべて取得するには、
cursorがなくなるまで次のページを取得してください - アイテムの種類には、Miro で事前定義された正確な名称を指定する必要があります
- 大規模なボードには数千個のアイテムが含まれる場合があります。結果を絞り込むには種類を指定してください
- コネクターはアイテムとは別のものです。アイテム間の関係データを取得するには GET_CONNECTORS2 を使用してください
4. ボードを共有して共同作業する
使用する場面:ユーザーがチームメンバーとボードを共有したい場合、またはアクセス権を管理したい場合
ツールの実行順序:
MIRO_GET_BOARDS2- 共有するボードを見つけます[前提条件]MIRO_SHARE_BOARD- ボードをユーザーと共有します[必須]MIRO_GET_BOARD_MEMBERS- 現在のボードメンバーを確認します[任意]
主なパラメーター:
board_id:共有するボード(必須)emails:招待するメールアドレスの配列role:アクセス権限('viewer'、'commenter'、'editor')message:任意の招待メッセージ
注意点:
- メールアドレスは有効である必要があります。無効なメールアドレスが含まれていると、リクエスト全体が失敗します
- ロールは定義済みの値から指定する必要があります。大文字と小文字は区別されます
- 組織外のユーザーとの共有には、管理者の承認が必要な場合があります
- GET_BOARD_MEMBERS はオーナーを含むすべてのメンバーを返します
5. 視覚的なつながりを作成する
使用する場面:ユーザーがボード上のアイテムを線や矢印でつなげたい場合
ツールの実行順序:
MIRO_GET_BOARD_ITEMS- 接続するアイテムを見つけます[前提条件]MIRO_GET_CONNECTORS2- 既存の接続を確認します[任意]
主なパラメーター:
board_id:対象ボードの IDstartItem:ソースアイテムのidを含むオブジェクトendItem:対象アイテムのidを含むオブジェクトstyle:コネクターのスタイル(線の種類、色、矢印)
注意点:
- 始点と終点のアイテムは、どちらも同じボード上に存在する必要があります
- 接続にはアイテム ID が必要です。先に GET_BOARD_ITEMS で解決してください
- コネクターのスタイルはさまざまです。スキーマで利用可能なオプションを確認してください
- 自己参照する接続(始点と終点が同じもの)は許可されていません
よく使われるパターン
ID の解決
ボード名 -> ボード ID:
1. Call MIRO_GET_BOARDS2 with query=board_name
2. Find board by name in results
3. Extract id field
ボード上のアイテムの検索:
1. Call MIRO_GET_BOARD_ITEMS with board_id and optional type filter
2. Find item by content or position
3. Extract item id for further operations
ページネーション
- ボード:
offsetとlimitを使用します(オフセット方式) - ボードアイテム:
cursorとlimitを使用します(カーソル方式) - 結果がなくなるか、カーソルが存在しなくなるまで続けます
- デフォルトのページサイズはエンドポイントによって異なります
座標系
- ボードの原点(0,0)は中央にあります
- X の正方向は右、Y の正方向は下です
- アイテムは中心点を基準に配置されます
- ボードの中央には
position: {x: 0, y: 0}を使用します - フレームは範囲を定めます。内部のアイテムはフレームの位置を継承します
既知の注意点
ボード ID:
- ほぼすべての操作でボード ID が必要です
- 必ず先に GET_BOARDS2 を使ってボード名を ID に解決してください
- ボード ID をハードコードしないでください。アカウントによって異なります
アイテムの作成:
- アイテムの種類ごとに必要なフィールドが異なります
- 付箋にはテキスト用の
data.contentが必要です - フレームには
geometry.widthとgeometry.heightが必要です - 指定しない場合、位置はデフォルトで (0,0) になり、アイテムが重なることがあります
レート制限:
- Miro API にはトークンごとのレート制限があります
- アイテムを個別に作成するより、一括操作が推奨されます
- 複数のアイテムには MIRO_CREATE_ITEMS_IN_BULK を使用してください
レスポンスの解析:
- レスポンスデータは
dataキーの下にネストされている場合があります - アイテムの種類によって、レスポンスに含まれるフィールドが決まります
- オプションのフィールドは存在しない場合があるため、慎重に解析してください
クイックリファレンス
| タスク | ツールのスラッグ | 主なパラメーター |
|---|---|---|
| ボードの一覧表示 | MIRO_GET_BOARDS2 | query, sort, limit, offset |
| ボードの詳細取得 | MIRO_GET_BOARD | board_id |
| ボードの作成 | MIRO_CREATE_BOARD | name, description |
| 付箋の追加 | MIRO_CREATE_STICKY_NOTE_ITEM | board_id, data, style, position |
| フレームの追加 | MIRO_CREATE_FRAME_ITEM2 | board_id, data, geometry, position |
| アイテムの一括追加 | MIRO_CREATE_ITEMS_IN_BULK | board_id, items |
| ボードアイテムの取得 | MIRO_GET_BOARD_ITEMS | board_id, type, cursor |
| ボードの共有 | MIRO_SHARE_BOARD | board_id, emails, role |
| メンバーの取得 | MIRO_GET_BOARD_MEMBERS | board_id |
| コネクターの取得 | MIRO_GET_CONNECTORS2 | board_id |
Composio によって提供されています