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'のメッセージを表示"
を実行することで、リアルタイムで進捗を確認できます。
トラブルシューティングとベストプラクティス
よくある問題と解決方法:
-
エージェントが応答しない: Claude Codeを起動して
/mcp
コマンドでMCPサーバーの状態を確認。追加でps aux | grep node
でプロセスも確認可能 - Chat MCPルームにメッセージが届かない: ルーム名に特殊文字やスペースを使用していないか確認。英数字とハイフンのみ推奨
-
セッション復旧が必要:
mcp__ccm__list_claude_processes
でPIDとセッションIDを確認し、claude --resume [session_id]
(またはclaude -r [session_id]
)で再接続
効果的な活用のヒント:
- エージェント数は2-4個が最適
- 各エージェントの役割を明確に定義
- ルーム名は作業内容を反映した名前に
Discussion