/ ディレクトリ / プレイグラウンド / monday.com
● 公式 mondaycom 🔑 自分のキーが必要

monday.com

作者 mondaycom · mondaycom/mcp

monday.comのボード、アイテム、更新、グループを自然言語で管理できます。タスクの作成、ステータスの変更、レポートの集約を、30回もクリックせずに実行できます。

monday.com公式MCPは、monday GraphQL APIをツールにマッピングします。アイテムの作成・更新、カラム値の変更、更新の投稿、グループ間の移動、フィルター付きボードのクエリが可能です。パーソナルトークンまたはOAuthで動作します。書き込み権限はボード全体を書き換える可能性があるため、スコープは最小限に設定してください。

なぜ使うのか

主な機能

ライブデモ

実際の動作

monday.replay ▶ 準備完了
0/0

インストール

クライアントを選択

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "monday": {
      "command": "npx",
      "args": [
        "-y",
        "@mondaydotcomorg/monday-api-mcp"
      ]
    }
  }
}

Claude Desktop → Settings → Developer → Edit Config を開く。保存後、アプリを再起動。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "monday": {
      "command": "npx",
      "args": [
        "-y",
        "@mondaydotcomorg/monday-api-mcp"
      ]
    }
  }
}

Cursor は Claude Desktop と同じ mcpServers スキーマを使用。プロジェクト設定はグローバルより優先。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "monday": {
      "command": "npx",
      "args": [
        "-y",
        "@mondaydotcomorg/monday-api-mcp"
      ]
    }
  }
}

Cline サイドバーの MCP Servers アイコンをクリックし、"Edit Configuration" を選択。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "monday": {
      "command": "npx",
      "args": [
        "-y",
        "@mondaydotcomorg/monday-api-mcp"
      ]
    }
  }
}

Claude Desktop と同じ形式。Windsurf を再起動して反映。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "monday",
      "command": "npx",
      "args": [
        "-y",
        "@mondaydotcomorg/monday-api-mcp"
      ]
    }
  ]
}

Continue はマップではなくサーバーオブジェクトの配列を使用。

~/.config/zed/settings.json
{
  "context_servers": {
    "monday": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "@mondaydotcomorg/monday-api-mcp"
        ]
      }
    }
  }
}

context_servers に追加。保存時に Zed がホットリロード。

claude mcp add monday -- npx -y @mondaydotcomorg/monday-api-mcp

ワンライナー。claude mcp list で確認、claude mcp remove で削除。

ユースケース

実用的な使い方: monday.com

プロジェクトボードからデイリースタンドアップの要約を自動生成

👤 monday.comでスタンドアップを運営しているチームリーダー ⏱ ~15 min beginner

使うタイミング: ボードを手動でスクロールせずに「昨日の進捗」「ブロッカー」「今日の期限タスク」を把握したいとき。

前提条件
  • monday APIトークン — monday.com → アバター → Developers → My Access Tokens
  • ボードID — URLに /boards/<board_id> が含まれています
フロー
  1. 過去24時間に更新されたアイテムを取得
    List items on board <id> where updated_at > yesterday. Show name, status, owner, due date.✓ コピーしました
    → 直近のアクティビティ一覧
  2. ステータス別に分類
    Group these by status column value: Done / Working / Stuck / To Do. Show counts and who owns each Stuck item.✓ コピーしました
    → 4つのバケットに分類された明確なサマリー
  3. スタンドアップ形式にフォーマット
    Format a 10-line standup: moved-to-Done (count), started-Working (count), Stuck items with owner @-mentions, items due today.✓ コピーしました
    → そのままコピペできるダイジェスト

結果: SlackやLINEに30秒で貼り付けられるスタンドアップダイジェスト。

注意点
  • updated_atでフィルタリングすると、カラム値の変更だけでなくサブアイテムの更新も含まれるためノイズが多いactivity_logsクエリを使用し、ステータスやオーナーの変更のみにフィルタリングする
組み合わせ: line-bot · ms-teams

CSVから500件のアイテムをボードに一括インポート

👤 事前にタスクリストを用意して新プロジェクトを立ち上げるPM ⏱ ~25 min intermediate

使うタイミング: Google Sheet / CSVのタスク一覧があり、適切なカラムを埋めた状態でmondayボードに反映したいとき。

前提条件
  • ボードのカラムと一致するCSV — ヘッダー名がボードのカラムとおおよそ一致している必要があります: name, status, owner_email, date
フロー
  1. 対象ボードのスキーマを確認
    Describe board <id>: every column with its id, title, type, and allowed values.✓ コピーしました
    → カラムカタログ
  2. CSVをcolumn_valuesにマッピング
    Given my CSV headers [paste], produce a mapping to monday column ids. Flag any CSV rows with statuses not in the allowed set.✓ コピーしました
    → マッピング結果 + バリデーションレポート
  3. バッチでアイテムを作成
    Create these items in batches of 25 with create_item + the mapped column_values. Stop if 3 consecutive calls fail.✓ コピーしました
    → 全itemIdの一覧、失敗があれば行番号付きでリスト

結果: 500件すべてのアイテムが、オーナー・ステータス・期限を設定済みの状態でボードに登録されます。

注意点
  • カラム値のJSON形式はカラムタイプごとに異なるため、無効なペイロードを送りやすい — 必ず先にカラムタイプを取得する。statusは {label:'...'}、dateは {date:'YYYY-MM-DD'}、peopleは {personsAndTeams:[{id,kind}]} を使用
  • レートリミットが約60アイテム/分で発動する — バッチ間にスリープを入れる。mondayは429を返し、MCPがそれを通知するので、2秒のポーズを追加する
組み合わせ: filesystem

すべてのアクティブなアイテムにAI生成のステータス更新を投稿

👤 進行中の全アイテムに文書化されたコンテキストを求めるOps/PMO ⏱ ~30 min intermediate

使うタイミング: 週末に「Working on it」のすべてのアイテムに2行のステータス更新を自動で追加したいとき。

フロー
  1. アクティブなアイテムを検索
    List items on board <id> where status = 'Working on it'. Include name, owner, last update text.✓ コピーしました
    → 進行中アイテムの一覧
  2. アイテムごとに2行の更新文を下書き
    For each item, draft a 2-sentence status update based on the last_update + recent column changes. Use a neutral tone.✓ コピーしました
    → レビュー用の下書き完了
  3. 承認後に投稿
    Show me drafts 3 at a time. On my 'ok', post as an update on the item.✓ コピーしました
    → 更新が投稿され、itemIdが確認される

結果: すべてのアクティブなアイテムに最新の週末メモが追加され、チームの雑務がなくなります。

注意点
  • レビューなしの自動投稿は、誤ったコンテキストで恥をかく可能性がある — 少なくとも最初の1週間は、人間の「ok」を必ず確認してから投稿する
組み合わせ: github

10個のプロジェクトボードを横断した経営向けポートフォリオサマリーを生成

👤 プログラムマネージャー / チーフオブスタッフ ⏱ ~30 min advanced

使うタイミング: 週次のリーダーシップレビューで、全プロジェクトの健全性を1枚のスライドにまとめたいとき。

フロー
  1. ポートフォリオの列挙
    List boards in folder 'Engineering / Projects'. For each, count items by status.✓ コピーしました
    → ボードごとのステータス分布
  2. ヘルススコアを算出
    For each board: health = 100 - 5*(stuck items) - 2*(overdue items). Flag < 70 as red.✓ コピーしました
    → ボード → ヘルススコア + 色分け
  3. Markdownレポートを生成
    Generate a one-screen markdown table: Board | Health | Stuck | Overdue | Top risk. Order by health ascending.✓ コピーしました
    → 経営層向けのテーブル

結果: 毎週繰り返し使える、一目でわかるポートフォリオダッシュボード。

注意点
  • 「Stuck」や「overdue」の定義がボードごとに異なる — ステータスカラムを標準化するか、ボードごとのオーバーライドを設定ファイルで管理する
組み合わせ: notion

ボード内の放置アイテムを検出してアーカイブ

👤 不要なアイテムが溜まったボードのオーナー ⏱ ~25 min intermediate

使うタイミング: ボードが1000件以上に膨らみ、数ヶ月放置されたアイテムが多数あるとき。

フロー
  1. 放置されたアイテムを検索
    Items on board <id> not updated in 90+ days and status != Done. List name, owner, last update date.✓ コピーしました
    → 放置アイテムのリスト
  2. アイテムごとに判断
    Show the list 10 at a time. For each: keep / archive / reassign. I'll say one letter per item.✓ コピーしました
    → トリアージの判断結果
  3. アーカイブ/移動を実行
    Apply: archive the 'a' items with archive_item, reassign 'r' items to owner <me>, keep 'k'.✓ コピーしました
    → ボードが整理され、変更ログが保存される

結果: 現状を正しく反映したボードと、何をアーカイブしたかの監査ログ。

注意点
  • アーカイブされたアイテムは非表示になり、後から復元しにくい — 事前にボードを複製してスナップショットを取るか、試験運用としてアーカイブの代わりにラベルを使用する

Sentryアラート後にリンク付きのインシデントアイテムを作成

👤 オンコールエンジニア ⏱ ~15 min intermediate

使うタイミング: インシデントがクローズされた直後に、スコープ・タイムライン・担当者を記録したmondayアイテムを作成したいとき。

フロー
  1. 関連アーティファクトを収集
    From Sentry, get issue <id>: title, first seen, users affected, resolving release. From GitHub, the PR that fixed it.✓ コピーしました
    → アーティファクト一式
  2. mondayアイテムを作成
    On board 'Incidents', create_item with name='<Sentry title>', status='Resolved', owner=me, date=today, description=auto-written postmortem including artifact links.✓ コピーしました
    → itemIdが返される
  3. タイムラインを更新として投稿
    Post a timeline update on that item: detection time, deploy reverted at, root cause, followups.✓ コピーしました
    → 更新が投稿される

結果: インシデントクローズから5分以内に、すべてのリンクが紐付いたポストモーテムアイテムが作成されます。

注意点
  • 説明文が長すぎるとmondayのフォーマットが崩れる — 説明文は見出しのみにし、詳細はスレッドの更新に記載する
組み合わせ: sentry · github

組み合わせ

他のMCPと組み合わせて10倍の力を

monday + sentry

クリティカルなSentryイシューが発生したら、mondayにインシデントアイテムを自動作成

When Sentry issue WEB-3a91 reaches 100+ events, create an item on board 'Incidents' with name=issue title and severity column set to P1.✓ コピーしました
monday + github

PRのマージをmondayアイテムのステータス変更に連動させる

When PR #342 merges, find monday item matching its title and set status to 'Done'.✓ コピーしました
monday + notion

週次の経営向けポートフォリオサマリーをNotionに投稿

Run the portfolio health rollup and create a Notion page with the result as a table.✓ コピーしました

ツール

このMCPが提供する機能

ツール入力呼び出すタイミングコスト
list_boards workspace_id?, limit? ボードを検索する GraphQL complexity units
get_board board_id 書き込み前にスキーマを確認する complexity
list_items board_id, limit?, cursor?, columns_filter? ページネーション付きでアイテムを取得する complexity
create_item board_id, group_id?, name, column_values? 新しいタスクを追加する complexity
change_column_value board_id, item_id, column_id, value ステータス、オーナー、日付などを更新する complexity
create_update item_id, body アイテムにコメントを投稿する complexity
archive_item item_id 削除せずに非表示にする complexity
create_webhook board_id, url, event 外部システムに変更をプッシュする complexity

コストと制限

運用コスト

APIクォータ
Complexityバジェット制限: Proプランで10M complexity/分、Standardプランで5M complexity/分。重いクエリはより多くのcomplexityを消費します。
呼び出しあたりのトークン
アイテム読み取り: 500〜2000トークン。ボードスキーマ: 500〜1500トークン。
金額
APIはご利用中のプランで無料です。mondayのプランは約$9/ユーザー/月からです。
ヒント
list_itemsでcolumnsフィルターを使用し、必要なフィールドのみ返すようにしてください。カラム数の多いボードでcomplexity上限に達するのを防げます。

セキュリティ

権限、シークレット、影響範囲

最小スコープ: me:read boards:read
認証情報の保管: MONDAY_API_TOKEN(パーソナルトークン)を環境変数に設定
データ送信先: すべての呼び出しは api.monday.com に送信されます
絶対に付与しない: account:admin for an MCP that only reads specific boards

トラブルシューティング

よくあるエラーと対処法

401 Not Authenticated

MONDAY_API_TOKENが未設定または期限切れです。monday.com → Developers → My Access Tokensで再生成してください。

確認: curl -H 'Authorization: $MONDAY_API_TOKEN' https://api.monday.com/v2 -d '{"query":"{ me { name } }"}'
ComplexityException — Max complexity reached

クエリが重すぎます。limitを減らすか、アイテムごとに取得するカラム/サブアイテムの数を減らしてください。

ColumnValueException — invalid column value

カラム値のJSON形式がカラムタイプに合っていません。先にカラムを取得してタイプを確認し、適切なJSONを構築してください(status: {label}、date: {date:'YYYY-MM-DD'})。

Rate limit exceeded (429)

書き込みを約1回/秒に抑えてください。mondayはミューテーションに対して分単位のスロットリングを適用しています。

代替案

monday.com 他との比較

代替案代わりに使う場面トレードオフ
Linear MCPエンジニアリング中心のチームがキーボードファーストのイシュー管理を求めている場合mondayより柔軟性が低く、任意のカラムタイプは使えない
Asana MCPチームがAsanaを使用している場合カラム/フィールドのモデルが異なる
Notion MCPドキュメントと軽量なタスク管理を1つのツールで行いたい場合密度の高いプロジェクト管理には弱く、本格的なPMツールではない

その他

リソース

📖 GitHub の公式 README を読む

🐙 オープンな issue を見る

🔍 400以上のMCPサーバーとSkillsを見る