mcpField
M
monday-automation

monday-automation

github.com/davepoon生産性3.7k118 回インストール1 日前に更新
リポジトリ

monday-automation について

Rube MCP と Composio の Monday ツールキットで Monday.com の業務管理を自動化するスキルです。ボード、タスク、共同作業情報を整理するチーム向けで、列の更新、サブアイテム、コメント、GraphQL 操作にも対応します。

主な機能

  1. 01ボード、グループ、列の作成
  2. 02アイテムの作成・取得・移動
  3. 03アイテムの列値の更新
  4. 04サブアイテムの表示と作成
  5. 05コメントや更新の追加

活用シーン

  1. 01グループと列を備えたボードの構築
  2. 02タスクの状態、日付、担当者の更新
  3. 03サブアイテムの確認とコメント追加

MCP 対応

Rube MCP 経由で Composio の Monday ツールキットを呼び出します。Rube MCP の接続と Monday.com の OAuth 認証が必要です。

インストール

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

$npx skills add https://github.com/davepoon/buildwithclaude --skill monday-automation

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

詳細

Rube MCP による Monday.com の自動化

Composio の Monday ツールキットを通じて、ボードの作成、アイテムの管理、列の値の更新、グループの整理、サブアイテム、更新/コメントのスレッドなど、Monday.com のワークマネジメントワークフローを自動化します。

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

前提条件

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

セットアップ

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

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

主なワークフロー

1. ボードの作成と管理

使用する場面:ユーザーが新しいボードを作成したい場合、既存のボードを一覧表示したい場合、またはワークスペースの構成を設定したい場合。

ツールの順序:

  1. MONDAY_GET_WORKSPACES - 利用可能なワークスペースを一覧表示し、ワークスペース ID を特定します[前提条件]
  2. MONDAY_LIST_BOARDS - 重複を確認するため、既存のボードを一覧表示します[任意]
  3. MONDAY_CREATE_BOARD - 名前、種類、ワークスペースを指定して新しいボードを作成します[必須]
  4. MONDAY_CREATE_COLUMN - 新しいボードに列を追加します[任意]
  5. MONDAY_CREATE_GROUP - アイテムを整理するためのグループを追加します[任意]
  6. MONDAY_BOARDS - 詳細なボードメタデータを取得します[任意]

主なパラメーター:

  • board_name:新しいボードの名前(必須)
  • board_kind:"public"、"private"、または "share"(必須)
  • workspace_id:数値のワークスペース ID。デフォルトのワークスペースを使用する場合は省略します
  • folder_id:フォルダー ID。両方を指定する場合、workspace_id 内に存在する必要があります
  • template_id:複製する、アクセス可能なテンプレートの ID

注意点:

  • board_kind は必須で、"public"、"private"、"share" のいずれかを指定する必要があります
  • workspace_id と folder_id の両方を指定する場合、フォルダーはそのワークスペース内に存在する必要があります
  • template_id は、認証済みユーザーがアクセスできるテンプレートを参照する必要があります
  • ボード ID は大きな整数です。API の応答に含まれる値を必ずそのまま使用してください
2. アイテムの作成と管理

使用する場面:ユーザーがボードにタスク/アイテムを追加したい場合、既存のアイテムを一覧表示したい場合、またはアイテムをグループ間で移動したい場合。

ツールの順序:

  1. MONDAY_LIST_BOARDS - ボード名からボード ID を特定します[前提条件]
  2. MONDAY_LIST_GROUPS - ボード上のグループを一覧表示し、group_id を取得します[前提条件]
  3. MONDAY_LIST_COLUMNS - 値を設定するための列 ID と種類を取得します[前提条件]
  4. MONDAY_CREATE_ITEM - 名前と列の値を指定して新しいアイテムを作成します[必須]
  5. MONDAY_LIST_BOARD_ITEMS - ボード上のすべてのアイテムを一覧表示します[任意]
  6. MONDAY_MOVE_ITEM_TO_GROUP - アイテムを別のグループに移動します[任意]
  7. MONDAY_ITEMS_PAGE - フィルタリングを使ってアイテムをページネーション付きで取得します[任意]

主なパラメーター:

  • board_id:ボード ID(必須、整数)
  • item_name:アイテム名、最大 256 文字(必須)
  • group_id:アイテムを配置するグループ ID の文字列(任意)
  • column_values:列 ID と値の対応を示す JSON オブジェクトまたは文字列

注意点:

  • column_values では列のタイトルではなく列 ID を使用する必要があります。MONDAY_LIST_COLUMNS から取得してください
  • 列の値の形式は種類によって異なります。ステータスには {"index": 0} または {"label": "Done"}、日付には {"date": "YYYY-MM-DD"}、ユーザーには {"personsAndTeams": [{"id": 123, "kind": "person"}]} を使用します
  • item_name は最大 256 文字です
  • サブアイテムのボードは MONDAY_CREATE_ITEM ではサポートされていません。MONDAY_CREATE_OBJECT を通じて GraphQL を使用してください
3. アイテムの列の値を更新する

使用する場面:既存のアイテムのステータス、日付、テキスト、その他の列の値を変更したい場合です。

ツールの実行順序:

  1. MONDAY_LIST_COLUMNS または MONDAY_COLUMNS - 列の ID と種類を取得します[前提条件]
  2. MONDAY_LIST_BOARD_ITEMS または MONDAY_ITEMS_PAGE - 対象アイテムの ID を確認します[前提条件]
  3. MONDAY_CHANGE_SIMPLE_COLUMN_VALUE - 文字列の値でテキスト、ステータス、ドロップダウンを更新します[必須]
  4. MONDAY_UPDATE_ITEM - JSON を使って、タイムライン、ユーザー、日付などの複雑な列の種類を更新します[必須]

MONDAY_CHANGE_SIMPLE_COLUMN_VALUE の主なパラメーター:

  • board_id:ボード ID(整数、必須)
  • item_id:アイテム ID(整数、必須)
  • column_id:列 ID の文字列(必須)
  • value:単純な文字列の値(例:「Done」、「Working on it」)
  • create_labels_if_missing:ステータス/ドロップダウンのラベルを自動作成する場合は true(デフォルトは true)

MONDAY_UPDATE_ITEM の主なパラメーター:

  • board_id:ボード ID(整数、必須)
  • item_id:アイテム ID(整数、必須)
  • column_id:列 ID の文字列(必須)
  • value:列の種類のスキーマに一致する JSON オブジェクト
  • create_labels_if_missing:デフォルトは false。ステータス/ドロップダウンの場合は true に設定します

注意点:

  • 単純なテキスト/ステータス/ドロップダウンの更新には、MONDAY_CHANGE_SIMPLE_COLUMN_VALUE(文字列の値)を使用します
  • タイムライン、ユーザー、日付などの複雑な種類には、MONDAY_UPDATE_ITEM(JSON の値)を使用します
  • 列 ID は小文字とアンダースコアで構成される文字列です(例:「status_1」、「date_2」、「text」)。MONDAY_LIST_COLUMNS で取得します
  • ステータスの値は、ラベル名(「Done」)またはインデックス番号(「1」)で設定できます
  • create_labels_if_missing のデフォルト値は異なります。CHANGE_SIMPLE では true、UPDATE_ITEM では false です
4. グループとボード構造を操作する

使用する場面:アイテムをグループに整理したり、列を追加したり、ボード構造を確認したりしたい場合です。

ツールの実行順序:

  1. MONDAY_LIST_BOARDS - ボード ID を特定します[前提条件]
  2. MONDAY_LIST_GROUPS - ボード上のすべてのグループを一覧表示します[必須]
  3. MONDAY_CREATE_GROUP - 新しいグループを作成します[任意]
  4. MONDAY_LIST_COLUMNS または MONDAY_COLUMNS - 列構造を確認します[必須]
  5. MONDAY_CREATE_COLUMN - ボードに新しい列を追加します[任意]
  6. MONDAY_MOVE_ITEM_TO_GROUP - グループ間でアイテムを再編成します[任意]

主なパラメーター:

  • board_id:ボード ID(グループ/列に関するすべての操作で必須)
  • group_name:新しいグループの名前(CREATE_GROUP)
  • column_type:有効な GraphQL enum トークンを snake_case で指定する必要があります(例:「status」、「text」、「long_text」、「numbers」、「date」、「dropdown」、「people」)
  • title:列に表示するタイトル
  • defaults:ステータス/ドロップダウンのラベルを指定する JSON 文字列(例:'{"labels": ["To Do", "In Progress", "Done"]}')

注意点:

  • column_type には正確な snake_case の値を指定する必要があります。「person」は無効です。「people」を使用してください
  • グループ ID は文字列です(例:「topics」、「new_group_12345」)。整数ではありません
  • MONDAY_COLUMNS は board_ids の配列を受け取り、設定を含む列のメタデータを返します
  • MONDAY_LIST_COLUMNS はよりシンプルで、単一の board_id を受け取ります
5. サブアイテムと更新を管理する

使用するタイミング:タスクのサブアイテムを表示したい場合や、アイテムにコメント/更新を追加したい場合です。

ツールの実行順序:

  1. MONDAY_LIST_BOARD_ITEMS - 親アイテムの ID を検索します[前提条件]
  2. MONDAY_LIST_SUBITEMS_BY_PARENT - 列の値を含むサブアイテムを取得します[必須]
  3. MONDAY_CREATE_UPDATE - アイテムにコメント/更新を追加します[任意]
  4. MONDAY_CREATE_OBJECT - GraphQL ミューテーションでサブアイテムを作成します[任意]

MONDAY_LIST_SUBITEMS_BY_PARENT の主なパラメーター:

  • parent_item_ids:親アイテムの ID の配列(整数配列、必須)
  • include_column_values:列のデータを含める場合は true(デフォルトは true)
  • include_parent_fields:親アイテムの情報を含める場合は true(デフォルトは true)

MONDAY_CREATE_OBJECT の主なパラメーター(GraphQL):

  • query:GraphQL ミューテーション文字列全体
  • variables:任意の変数オブジェクト

注意事項:

  • サブアイテムを取得できるのは、親アイテムを通じてのみです
  • サブアイテムを作成するには、create_subitem GraphQL ミューテーションを指定して MONDAY_CREATE_OBJECT を使用します
  • MONDAY_CREATE_UPDATE はアイテムへのコメント/更新の追加(Monday の「更新」機能)に使用するものであり、アイテムの値の変更には使用しません
  • MONDAY_CREATE_OBJECT は GraphQL の生のエンドポイントです。正しいミューテーション構文を使用してください

よくあるパターン

ID の解決

操作の前に、表示名を必ず ID に解決してください:

  • ボード名 -> board_id:MONDAY_LIST_BOARDS を使用し、名前で照合します
  • グループ名 -> group_id:board_id を指定して MONDAY_LIST_GROUPS を使用します
  • 列タイトル -> column_id:board_id を指定して MONDAY_LIST_COLUMNS を使用します
  • ワークスペース名 -> workspace_id:MONDAY_GET_WORKSPACES を使用し、名前で照合します
  • アイテム名 -> item_id:MONDAY_LIST_BOARD_ITEMS または MONDAY_ITEMS_PAGE を使用します
ページネーション

Monday.com では、アイテムにカーソルベースのページネーションを使用します:

  • MONDAY_ITEMS_PAGE は、次のページ用の cursor をレスポンスで返します
  • 次の呼び出しに cursor を渡してください。カーソルを指定すると、board_id と query_params は無視されます
  • カーソルは 60 分間キャッシュされます
  • 1 ページあたりの limit の最大値は 500 です
  • MONDAY_LIST_BOARDS と MONDAY_GET_WORKSPACES は、page と limit を使用するページベースのページネーションを使用します
列の値の形式

列のタイプごとに異なる値の形式が必要です:

  • ステータス:{"index": 0}、{"label": "Done"}、または単純な文字列 "Done"
  • 日付:{"date": "YYYY-MM-DD"}
  • ユーザー:{"personsAndTeams": [{"id": 123, "kind": "person"}]}
  • テキスト/数値:プレーンな文字列または数値
  • タイムライン:{"from": "YYYY-MM-DD", "to": "YYYY-MM-DD"}

既知の注意事項

ID の形式
  • ボード ID とアイテム ID は大きな整数です(例:1234567890)
  • グループ ID は文字列です(例:"topics"、"new_group_12345")
  • 列 ID は短い文字列です(例:"status_1"、"date4"、"text")
  • ワークスペース ID は整数です
レート制限
  • Monday.com GraphQL API には、複雑さに基づくレート制限があります
  • 列が多い大規模なボードでは、クエリの複雑さが増します
  • レート制限に達した場合は、limit パラメーターを使ってリクエストごとのアイテム数を減らしてください
パラメーターに関する注意点
  • CREATE_COLUMN の column_type には、正確な snake_case の列挙値を指定する必要があります。"person" ではなく "people" を使用してください
  • CREATE_ITEM の column_values は、JSON 文字列とオブジェクトのどちらの形式も受け付けます
  • MONDAY_CHANGE_SIMPLE_COLUMN_VALUE は、デフォルトで存在しないラベルを自動作成しますが、MONDAY_UPDATE_ITEM は作成しません
  • MONDAY_CREATE_OBJECT は GraphQL の生のインターフェイスです。専用のツールがない操作(例:create_subitem、delete_item、archive_board)に使用してください
レスポンスの構造
  • ボードアイテムは、id、name、state フィールドを含む配列として返されます
  • 列の値には、生の value(JSON)と描画済みの text(表示文字列)の両方が含まれます
  • サブアイテムは親アイテムの下にネストされており、単独では取得できません

クイックリファレンス

タスクツールスラッグ主なパラメーター
ワークスペースを一覧表示MONDAY_GET_WORKSPACESkind、state、limit
ワークスペースを作成MONDAY_CREATE_WORKSPACEname、kind
ボードを一覧表示MONDAY_LIST_BOARDSlimit、page、state
ボードを作成MONDAY_CREATE_BOARDboard_name、board_kind、workspace_id
ボードのメタデータを取得MONDAY_BOARDSboard_ids、board_kind
グループを一覧表示MONDAY_LIST_GROUPSboard_id
グループを作成MONDAY_CREATE_GROUPboard_id、group_name
列を一覧表示MONDAY_LIST_COLUMNSboard_id
列のメタデータを取得MONDAY_COLUMNSboard_ids、column_types
列を作成MONDAY_CREATE_COLUMNboard_id、column_type、title
アイテムを作成MONDAY_CREATE_ITEMboard_id、item_name、column_values
ボードのアイテムを一覧表示MONDAY_LIST_BOARD_ITEMSboard_id
ページネーション付きアイテムMONDAY_ITEMS_PAGEboard_id、limit、query_params
列を更新(シンプル)MONDAY_CHANGE_SIMPLE_COLUMN_VALUEboard_id、item_id、column_id、value
列を更新(複雑)MONDAY_UPDATE_ITEMboard_id、item_id、column_id、value
アイテムをグループに移動MONDAY_MOVE_ITEM_TO_GROUPitem_id、group_id
サブアイテムを一覧表示MONDAY_LIST_SUBITEMS_BY_PARENTparent_item_ids
コメント/更新を追加MONDAY_CREATE_UPDATEitem_id、body
GraphQL ミューテーションを直接実行MONDAY_CREATE_OBJECTquery、variables

Composio 提供

コメント