🎉

MCPマルチエージェントワークフロー入門

に公開

MCPの仕組み解説(Chat MCPとCCMの役割)

従来のClaude Codeでは単一のAIが全作業を担当していましたが、MCPを使用することで、複数の専門化されたエージェントが並行して作業を進められます。

Chat MCPは、エージェント間のリアルタイム通信を実現する軽量(MCPコア仕様1MB制限)なサーバーです。MCPは複数のトランスポート方式(stdio、WebSocket、HTTP SSE等)に対応しており、主要な実装はstdioベースですが、WebSocketも公式サポートされています。各エージェントはChat MCPのルームに参加し、進捗報告や情報共有を行います。開発者もこのルームを監視でき、必要に応じて指示を追加できます。

CCM(Claude Code Mcp) は、ワークフロー全体の管理を担当します。非同期実行によるエージェントのライフサイクル管理(起動、監視、終了、結果取得)、セッション継承による85-90%のコスト削減、セッションIDを使った作業再開機能を提供します。CCMにより、長時間実行されるタスクでも安定した処理が可能になります。

インストールと基本的な使用方法

MCPツールのセットアップは非常にシンプルです:

# リポジトリのクローンとセットアップ
git clone https://github.com/mkXultra/claude_code_setup.git
cd claude_code_setup
./mcp_add.sh  # 自動でChat MCPとCCMをインストール

# 基本的な使用方法
claude mcp add  # MCPサーバーを設定(詳細はclaude mcp --helpを参照)

# 利用可能なMCPツールの確認
claude 起動後に /mcp

mcp_add.shスクリプトは、Claude Codeの設定ファイルを自動的に更新し、必要なnpmパッケージ(agent-communication-mcp@mkxultra/claude-code-mcp@latest)をインストールします。実行後、Claude Codeを再起動するだけで使用開始できます。

実践的な活用例:バグ修正ワークフロー

実際の開発現場で頻繁に発生するバグ修正タスクを例に、MCPマルチエージェントワークフローの威力を示します:

# TypeScriptプロジェクトのバグ修正ワークフロー
claude "【バグ修正コーディネーター】TypeScriptエラーの解決を管理

Phase 0: 基盤セッション構築
- TodoWriteでタスク管理開始
- Chat MCPルーム'bug-fix-ts'を作成
- プロジェクト構造とpackage.jsonを理解する基盤セッション作成
- 基盤セッションIDを保存(全エージェントで活用)

Phase 1: 専門エージェントの並列起動
1. Agent A (Analyzer) 起動:
   mcp__ccm__claude_code -r [基盤セッションID]
   'TypeScriptエラー分析エージェント:
    - tsc --noEmitでエラー検出
    - Chat MCPルーム\"bug-fix-ts\"に参加
    - エラーの原因と影響範囲を分析して報告
    - 完了後も定期的にルームをチェック'

2. Agent B (Fixer) 起動:
   mcp__ccm__claude_code -r [基盤セッションID]
   'エラー修正実装エージェント:
    - Chat MCPルーム\"bug-fix-ts\"に参加
    - Agent Aの分析を待機
    - 型定義更新、import文修正を実装
    - 修正内容をルームに報告'

3. Agent C (Tester) 起動:
   mcp__ccm__claude_code -r [基盤セッションID]
   'テスト実装エージェント:
    - Chat MCPルーム\"bug-fix-ts\"に参加
    - 修正に対応するテストケース作成
    - 既存テストの実行と結果報告'

Phase 2: 進捗監視と調整
- mcp__ccm__list_claude_processesで状況確認
- Chat MCPルームでエージェント間の情報共有を促進
- 必要に応じて追加指示や新エージェント起動"

このワークフローでは、3つのエージェントが以下のように協調動作します:

  • Agent Aが型エラーを分析し、「UserResponseインターフェースにidプロパティが不足」などをChat MCPルームに報告
  • Agent Bがルームでこの情報を確認し、該当ファイルの修正を開始
  • Agent Cが並行してテストケースを準備し、修正状況をモニタリング
  • コーディネーターmcp__ccm__list_claude_processesで全体の進捗を管理

各エージェントはCCMによって非同期に管理され、Chat MCPルームを通じて進捗を共有します。CCMは各エージェントのPIDを追跡し、mcp__ccm__get_claude_resultで結果を取得できます。

開発者は別ターミナルでclaude "Chat MCPルーム'bug-fix-ts'のメッセージを表示"を実行することで、リアルタイムで進捗を確認できます。

トラブルシューティングとベストプラクティス

よくある問題と解決方法:

  1. エージェントが応答しない: Claude Codeを起動して/mcpコマンドでMCPサーバーの状態を確認。追加でps aux | grep nodeでプロセスも確認可能
  2. Chat MCPルームにメッセージが届かない: ルーム名に特殊文字やスペースを使用していないか確認。英数字とハイフンのみ推奨
  3. セッション復旧が必要: mcp__ccm__list_claude_processesでPIDとセッションIDを確認し、claude --resume [session_id](またはclaude -r [session_id])で再接続

効果的な活用のヒント:

  • エージェント数は2-4個が最適
  • 各エージェントの役割を明確に定義
  • ルーム名は作業内容を反映した名前に

参考リンク

Discussion