{
"mcpServers": {
"meshseeks": {
"command": "node",
"args": ["/absolute/path/to/meshseeks/dist/mesh-server.js"],
"env": {
"MCP_MESH_MAX_AGENTS": "5",
"MESHSEEKS_CATCHPHRASE": "true"
}
}
}
}
{
"mcpServers": {
"Local MCP Server": {
"type": "stdio",
"command": "node",
"args": [
"dist/server.js"
],
"env": {
"MCP_USE_ROOMODES": "true",
"MCP_WATCH_ROOMODES": "true",
"MCP_CLAUDE_DEBUG": "false"
}
},
"other-services": {
// Your other MCP services here
}
}
}
{
"mcpServers": {
"claude-code-mcp-enhanced": {
"command": "npx",
"args": ["github:grahama1970/claude-code-mcp-enhanced"],
"env": {
"MCP_USE_ROOMODES": "true",
"MCP_WATCH_ROOMODES": "true",
"MCP_CLAUDE_DEBUG": "false"
}
}
}
}
## 🚀 🟦 MeshSeeks - 私はMeshSeeksです、見てください!
MeshSeeksは、複雑なコーディング問題を解決するために並列で動作する専用のAIエージェントを生成します。名前の由来となった役に立つ青い生き物のように、各エージェントは単一の目的のために存在します。割り当てられたタスクを完了し、あなたの成功を支援することです。このプロジェクトは、[grahama1970/claude-code-mcp-enhanced](https://github.com/grahama1970/claude-code-mcp-enhanced)をベースに構築され、Claude Researchから着想を得た分散型インテリジェンスを備えています。
## 🚀 クイックスタート
### 60秒で始める方法
**今すぐMeshSeeksの動作を確認したいですか?** 最速の方法は次の通りです。
```bash
# 1. クローンしてビルドする (30秒)
git clone https://github.com/twalichiewicz/meshseeks.git && cd meshseeks && npm install && npm run build
# 2. 設定ファイルのパスを取得する
echo "Add to: $(echo ~/Library/Application\ Support/Claude/claude_desktop_config.json)"
# 3. この設定をコピーする (パスを修正する)
echo '{
"mcpServers": {
"meshseeks": {
"command": "node",
"args": ["'$(pwd)'/dist/mesh-server.js"]
}
}
}'
その後、Claude Desktopを再起動して、 "Use mesh_status to check MeshSeeks"
を試してみてください。
完全なインストールガイド: クイックスタートにジャンプする
5分で始める方法
前提条件
- Node.js v20以上 - nvm または fnm を使用してインストールしてください。
- Claude CLI - インストールして、一度だけパーミッションを持って実行してください。
npm install -g @anthropic-ai/claude-code claude --dangerously-skip-permissions # 一度実行して条項に同意する
MeshSeeksのインストール
オプション1: GitHubから (推奨)
# クローンしてビルドする
git clone https://github.com/twalichiewicz/meshseeks.git
cd meshseeks
npm install
npm run build
# MCP設定に追加する (以下のパスを参照)
オプション2: npmから直接 (近日公開)
# 注意: パッケージは @twalichiewicz/meshseeks として公開されます
npm install -g @twalichiewicz/meshseeks
クライアントの設定
MeshSeeksをMCP設定ファイルに追加してください。
設定ファイルを見つける:
- Claude Desktop:
~/Library/Application Support/Claude/claude_desktop_config.json
(Mac) - Cursor:
~/.cursor/mcp.json
- Windsurf:
~/.codeium/windsurf/mcp_config.json
この設定を追加する:
{
"mcpServers": {
"meshseeks": {
"command": "node",
"args": ["/absolute/path/to/meshseeks/dist/mesh-server.js"],
"env": {
"MCP_MESH_MAX_AGENTS": "5",
"MESHSEEKS_CATCHPHRASE": "true"
}
}
}
}
ヒント:
/absolute/path/to/meshseeks
をクローンした実際のパスに置き換えてください。
インストールの確認
- クライアントを再起動する (Claude Desktop、Cursor、またはWindsurf)
- MeshSeeksをテストする: 新しいチャットで次のコマンドを入力します。
Use the mesh_status tool to show me the MeshSeeks network status
- 動作を確認する:
Use mesh_solve_problem to create a simple Python calculator with tests
以上です!MeshSeeksはあなたのコーディングタスクを加速する準備ができました。 🎉
最初のタスクのアイデア
並列エージェントの力を体験するために、これらのコマンドを試してみてください。
"Use mesh_analyze_problem to analyze the architecture of [your project]"
"Use mesh_execute_tasks to implement a REST API with full CRUD operations"
"Use mesh_solve_problem to refactor this code with tests and documentation"
✨ 主な機能
エージェントメッシュネットワーク
- 並列処理: 複数のClaudeエージェントが異なる側面に同時に取り組みます。
- 専用の役割: 分析、実装、テスト、ドキュメント作成、およびデバッグエージェントがあります。
- 4倍のコンテキスト容量: 各エージェントには独自の200kトークンのコンテキストウィンドウがあります。
- スマートな協調: 依存関係の管理とインテリジェントなタスクの分配が行われます。
- 結果の合成: 自動的な集約と競合解決が行われます。
- 🆕 リアルタイムステータスボード: ライブの視覚的なフィードバックにより、「ハング」の表示が防止されます。
拡張されたMCPツール
Grahamの拡張ツールに加えて、メッシュネットワークは次の機能を提供します。
mesh_analyze_problem
- 複雑な問題をエージェントのタスクに分解します。mesh_execute_tasks
- 依存関係の管理を伴ってタスクを実行します。mesh_solve_problem
- 複数の戦略を用いたエンドツーエンドの問題解決を行います。mesh_status
- ネットワークのパフォーマンスとエージェントのメトリックを監視します。
🆕 リアルタイムステータスボード
黒い画面はもうありません!新しいステータスボードは次の機能を提供します。
- ライブ更新: 毎秒視覚的な進捗が更新されます。
- エージェントの追跡: どのエージェントがアクティブで何をしているかを確認できます。
- タスクの進捗: 進捗バーと依存関係の可視化が表示されます。
- パフォーマンスメトリック: スループット、タイミング、および成功率が表示されます。
- アクティビティログ: 最近のイベントとステータスの変更が表示されます。
npm run demo:status
を実行して、その動作を確認してください!
🔍 概要
このMCPサーバーは、LLMがClaude Codeと対話するための強力なツールを提供します。Claude Desktopまたは他のMCPクライアントと統合すると、LLMは次のことができます。
- すべてのパーミッションをバイパスしてClaude Codeを実行する (
--dangerously-skip-permissions
を使用) - パーミッションの中断なしに任意のプロンプトでClaude Codeを実行する
- ファイル編集機能に直接アクセスする
- 堅牢なエラーハンドリングとリトライを伴う複雑な多段階操作を実行する
- ブーメランパターンを使用して専用のエージェントの役割を通じてタスクを調整する
- ハートビートメカニズムにより信頼性の高い実行を維持し、タイムアウトを防止する
✨ 利点
- 信頼性の向上: 堅牢なエラーハンドリング、自動リトライ、グレースフルシャットダウン、およびリクエストの追跡が行われます。
- タスクのオーケストレーション: 複雑なワークフローを専用のサブタスクに分解できます。
- タスクの自動化: 人間が読めるマークダウンのタスクリストを自動的に実行可能なMCPコマンドに変換します。
- パフォーマンスの最適化: 設定のキャッシュとリソースの効率化により、実行が改善されます。
- より良い監視: ヘルスチェックAPI、詳細なエラーレポート、および包括的なロギングが行われます。
- 開発者体験の向上: 設定のホットリロード、柔軟な環境制御、および簡素化されたAPIが提供されます。
さらに、すべての標準的なClaude Codeの利点があります。
- Claude/Windsurfはファイルの編集に苦労することが多いですが、Claude Codeはそれをより良く、より速く行います。
- 複数のコマンドを直接実行する代わりにキューに入れることができます。これにより、コンテキスト空間が節約され、より重要な情報が長時間保持されます。
- ファイル操作、git、または他の操作には高価なモデルは必要ありません。Anthropic Maxにサインアップすると、Claude Codeは費用対効果が高いです。
- Claudeはより広いシステムアクセスを持っているため、標準的なアシスタントが立ち往生したときは、単に「use claude code」と依頼することで進捗を続けることができます。
📊 パフォーマンスベンチマーク - 3.64倍高速!
ライブテスト結果: MeshSeeksは複雑な電子商取引API開発タスクを 14.0秒 で完了したのに対し、逐次的なClaude Codeは 51.0秒 かかりました。これは 3.64倍の高速パフォーマンス です! 🚀
🏆 最新のベンチマーク結果 (実際のテストデータ)
メトリック | MeshSeeks | 逐次的なClaude | 優位性 |
---|---|---|---|
実行時間 | 14.0秒 | 51.0秒 | 3.64倍高速 ⚡ |
節約された時間 | - | - | 37.0秒 ⏰ |
効率の向上 | 3.3倍の並列処理 | 1.0倍の直列処理 | +264% 📈 |
成功率 | 100% | 100% | 同等の品質 ✅ |
使用されたエージェント | 5つの並列エージェント | 5つの逐次エージェント | 同じ作業、より短い時間 🎯 |
📈 複雑度別のパフォーマンス
問題の種類 | 単一エージェント | メッシュネットワーク | スピードアップ |
---|---|---|---|
コード分析 | 2 - 5分 | 30 - 60秒 | 3 - 5倍 |
機能実装 | 10 - 20分 | 3 - 8分 | 2 - 4倍 |
包括的なリファクタリング | 30 - 60分 | 8 - 15分 | 4 - 6倍 |
フルプロジェクトのセットアップ | 45 - 90分 | 12 - 25分 | 3 - 5倍 |
📊 完全なパフォーマンス分析を表示する | 📈 ビジュアルグラフを表示する
🎯 MeshSeeksが高速な理由
- 並列処理: 5つの専用エージェントが同時に作業し、キューで待つ必要がありません。
- 専門的な特化: 各エージェントは特定のタスクに最適化されています (分析、実装、テスト、ドキュメント、セキュリティ)。
- コンテキストの効率性: 各エージェントに分散された200kトークンのコンテキストにより、4倍の有効容量が得られます。
- スマートな合成: 専用の出力をインテリジェントに組み合わせます。
- エラーの分離: 個々のエージェントの失敗が全体のパイプラインをクラッシュさせることはありません。
🚀 独自のベンチマークを実行する
git clone git@github.com:twalichiewicz/meshseeks.git
cd meshseeks
npm install
node benchmarks/scripts/mesh-performance-test.js
📚 詳細なインストールガイド
高度な設定オプション、トラブルシューティング、または手動設定については、包括的なインストールガイド を参照してください。
🔑 初回セットアップの重要事項: パーミッションの承認
MCPサーバーが claude_code
ツールを正常に使用する前に、最初にClaude CLIを --dangerously-skip-permissions
フラグを付けて手動で一度実行し、ログインして条項に同意する必要があります。
これはClaude CLIによる一度限りの要件です。
npm install -g @anthropic-ai/claude-code
claude --dangerously-skip-permissions
指示に従って承認してください。これが完了すると、MCPサーバーは非対話的にこのフラグを使用できるようになります。
macOSでは、ツールを初めて実行するときにさまざまなフォルダのパーミッションを求められることがあり、初回の実行は失敗することがあります。その後の実行は正常に動作します。
🔗 MCPクライアントへの接続
サーバーをセットアップした後、MCPクライアント (Cursor、Claude Desktop、または mcp.json
または mcp_config.json
を使用する他のクライアント) を設定する必要があります。
MCP設定ファイルの例
Claude Code MCPサーバーを .mcp.json
ファイルに追加する方法の例を次に示します。
{
"mcpServers": {
"Local MCP Server": {
"type": "stdio",
"command": "node",
"args": [
"dist/server.js"
],
"env": {
"MCP_USE_ROOMODES": "true",
"MCP_WATCH_ROOMODES": "true",
"MCP_CLAUDE_DEBUG": "false"
}
},
"other-services": {
// 他のMCPサービスをここに記述
}
}
}
MCP設定の場所
設定は通常、JSONファイルで行われます。名前と場所はクライアントによって異なります。
Cursor
Cursorは mcp.json
を使用します。
- macOS:
~/.cursor/mcp.json
- Windows:
%APPDATA%\\Cursor\\mcp.json
- Linux:
~/.config/cursor/mcp.json
Windsurf
Windsurfのユーザーは mcp_config.json
を使用します。
- macOS:
~/.codeium/windsurf/mcp_config.json
- Windows:
%APPDATA%\\Codeium\\windsurf\\mcp_config.json
- Linux:
~/.config/.codeium/windsurf/mcp_config.json
(注: 一部の混合設定では、Cursorもインストールされている場合、これらのクライアントはCursorの ~/.cursor/mcp.json
パスにフォールバックすることがあります。Codeium拡張を使用する場合は、Codeium固有のパスを優先してください。)
このファイルが存在しない場合は、作成してください。
🛠️ 提供されるツール
このサーバーは、3つの主要なツールを公開しています。
claude_code
💬
--dangerously-skip-permissions
を使用してClaude Code CLIを直接実行します。
引数:
prompt
(文字列、必須): Claude Codeに送信するプロンプトです。workFolder
(文字列、オプション): Claude CLIの実行に使用する作業ディレクトリです。ファイル操作またはファイルの参照を行う場合に必要です。parentTaskId
(文字列、オプション): このタスクを作成した親タスクのIDです (タスクのオーケストレーション/ブーメラン用)。returnMode
(文字列、オプション): 結果を返す方法です。'summary' (簡潔) または 'full' (詳細)。デフォルトは 'full' です。taskDescription
(文字列、オプション): オーケストレーションされたワークフローでのタスクの整理と追跡のためのタスクの短い説明です。mode
(文字列、オプション):MCP_USE_ROOMODES=true
の場合、使用するRooモードを指定します (例: "boomerang-mode", "coder", "designer" など)。
health
🩺
Claude Code MCPサーバーのヘルスステータス、バージョン情報、および現在の設定を返します。
ヘルスチェックリクエストの例:
{
"toolName": "claude_code:health",
"arguments": {}
}
レスポンスの例:
{
"status": "ok",
"version": "1.12.0",
"claudeCli": {
"path": "claude",
"status": "available"
},
"config": {
"debugMode": true,
"heartbeatIntervalMs": 15000,
"executionTimeoutMs": 1800000,
"useRooModes": true,
"maxRetries": 3,
"retryDelayMs": 1000
},
"system": {
"platform": "linux",
"release": "6.8.0-57-generic",
"arch": "x64",
"cpus": 16,
"memory": {
"total": "32097MB",
"free": "12501MB"
},
"uptime": "240 minutes"
},
"timestamp": "2025-05-15T18:30:00.000Z"
}
convert_task_markdown
📋
マークダウンのタスクファイルをClaude Code MCP互換のJSON形式に変換します。
引数:
markdownPath
(文字列、必須): 変換するマークダウンのタスクファイルのパスです。outputPath
(文字列、オプション): JSON出力を保存するパスです。指定しない場合は、JSONを直接返します。
リクエストの例:
{
"toolName": "claude_code:convert_task_markdown",
"arguments": {
"markdownPath": "/home/user/tasks/validation.md",
"outputPath": "/home/user/tasks/validation.json"
}
}
使い方の例
1. 基本的なコード操作
MCPリクエストの例:
{
"toolName": "claude_code:claude_code",
"arguments": {
"prompt": "Your work folder is /path/to/project\n\nRefactor the function foo in main.py to be async.",
"workFolder": "/path/to/project"
}
}
2. タスクのオーケストレーション (ブーメランパターン)
親タスクのリクエスト:
{
"toolName": "claude_code:claude_code",
"arguments": {
"prompt": "Your work folder is /path/to/project\n\nOrchestrate the implementation of a new API endpoint with the following subtasks:\n1. Create database models\n2. Implement API route handlers\n3. Write unit tests\n4. Document the API",
"workFolder": "/path/to/project"
}
}
サブタスクのリクエスト (親によって生成される):
{
"toolName": "claude_code:claude_code",
"arguments": {
"prompt": "Your work folder is /path/to/project\n\nCreate database models for the new API endpoint as specified in the requirements.",
"workFolder": "/path/to/project",
"parentTaskId": "task-123",
"returnMode": "summary",
"taskDescription": "Database model creation for API endpoint"
}
}
3. 特殊モードのリクエスト
Rooモードを使用する例:
{
"toolName": "claude_code:claude_code",
"arguments": {
"prompt": "Your work folder is /path/to/project\n\nCreate unit tests for the user authentication module.",
"workFolder": "/path/to/project",
"mode": "coder"
}
}
🔄 タスクコンバーター
MCPサーバーには、人間が読めるマークダウンのタスクリストを完全に実行可能なMCPコマンドに自動的に変換する強力なタスクコンバーターツールが含まれています。このインテリジェントなコンバーターは、人間がタスクを考える方法とマシンがタスクを実行する方法のギャップを埋めます。
完全なワークフロー
graph TD
A["👤 ユーザー"] -->|"tasks.mdを作成する"| B["📝 マルチタスクマークダウン"]
A -->|"Claudeにプロンプトを送信する"| C["🤖 Claude Desktop"]
C -->|"convert_task_markdownを使用する"| D["🔄 タスクコンバーターMCP"]
D -->|"形式を検証する"| E{"形式が有効か?"}
E -->|"いいえ"| F["📑 エラー + 修正指示"]
F -->|"ユーザーに返す"| A
E -->|"はい"| G["📋 MCPタスクリスト"]
G -->|"タスクを実行する"| H1["⚡ Claudeタスク #1"]
H1 -->|"完了"| I1["次のタスク"]
I1 -->|"タスクを実行する"| H2["⚡ Claudeタスク #2"]
H2 -->|"完了"| I2["次のタスク"]
I2 -->|"タスクを実行する"| H3["⚡ Claudeタスク #3"]
H3 -->|"完了"| I3["他のタスク"]
I3 -->|"タスクを実行する"| HN["⚡ Claudeタスク #N"]
HN -->|"完了"| IN["🎉 すべてのタスクが完了!"]
style A fill:#4A90E2,stroke:#fff,stroke-width:2px,color:#fff
style C fill:#7C4DFF,stroke:#fff,stroke-width:2px,color:#fff
style D fill:#00BCD4,stroke:#fff,stroke-width:2px,color:#fff
style F fill:#FF5252,stroke:#fff,stroke-width:2px,color:#fff
style G fill:#4CAF50,stroke:#fff,stroke-width:2px,color:#fff
style H1 fill:#FFC107,stroke:#fff,stroke-width:2px,color:#fff
style H2 fill:#FFC107,stroke:#fff,stroke-width:2px,color:#fff
style H3 fill:#FFC107,stroke:#fff,stroke-width:2px,color:#fff
style HN fill:#FFC107,stroke:#fff,stroke-width:2px,color:#fff
style IN fill:#4CAF50,stroke:#fff,stroke-width:2px,color:#fff
ワークフローの手順
- ユーザーがMCPを設定ファイルに追加する
- ユーザーがClaudeにプロンプトを送信する: "Use convert_task_markdown to execute my tasks.md file"
- MCPが自動的に:
- マークダウンファイルを読み込む
- 形式を検証する (セクションが欠落している場合はエラーを返す)
- 人間が読めるタスクを正確な実行可能なコマンドに変換する
- Claude Codeが順次実行できるJSONを返す
- ClaudeがJSONを受け取り、
claude_code
ツールを使用して各タスクを実行する
主要な機能
- 自動パス解決: "change directory to project" のような一般的な指示を、完全なパスを持つ正確な実行可能なコマンドに変換します。
- スマートなコマンド変換: 英語の指示を正確なターミナルコマンドに変換します (例: "activate the virtual environment" →
source .venv/bin/activate
) - MCPプロトコル準拠: すべての出力がModel Context Protocolと100%互換性があることを保証します。
- 曖昧さのないコマンド: すべての生成されたコマンドは正確なパスと実行可能な構文を使用し、プレースホルダーや一般的な参照はありません。
- 形式の検証: 適切なマークダウン構造を強制し、誤った形式に対して有益なエラーメッセージを提供します。
- リアルタイムの進捗更新: 変換中にどのタスクが処理されているかを示すライブの進捗更新を提供します。
マークダウンタスクをMCPコマンドに変換する
convert_task_markdown
ツールは、構造化されたマークダウンファイルを処理し、MCP互換のJSONを生成します。
リクエスト形式:
{
"tool": "convert_task_markdown",
"arguments": {
"markdownPath": "/path/to/tasks.md",
"outputPath": "/path/to/output.json" // オプション
}
}
レスポンス形式:
{
"tasksCount": 5,
"outputPath": "/path/to/output.json",
"tasks": [
{
"tool": "claude_code",
"arguments": {
"command": "cd /project && source .venv/bin/activate\n\nTASK TYPE: Validation...",
"dangerously_skip_permissions": true,
"timeout_ms": 300000
}
}
// ... 他のタスク
]
}
マークダウンタスクファイルの形式
タスクのマークダウンファイルは次の構造に従う必要があります。
# Task 001: タスクのタイトル
## 目的
達成する必要があることの明確な説明。
## 要件
1. [ ] 最初の要件
2. [ ] 2番目の要件
## タスク
### モジュールまたはコンポーネントの名前
- [ ] `path/to/file.py` を検証する
- [ ] ステップ1
- [ ] ステップ2
- [ ] ステップ3
コンバーターは次のことを行います。
- マークダウン構造を解析する
- タスクのメタデータと要件を抽出する
- 各検証タスクに対して詳細なプロンプトを生成する
- 適切な作業ディレクトリの設定を含める
- 検証と完了の要約を追加する
使用例
- タスクファイルを作成する (
tasks/api_validation.md
):
# Task 001: APIエンドポイントの検証
## 目的
すべてのAPIエンドポイントが実際のデータベース接続で動作することを検証する。
## 要件
1. [ ] すべてのエンドポイントは実際のデータベースを使用する必要がある
2. [ ] 検証ではモックデータを使用しない
## コアAPIタスク
- [ ] `api/users.py` を検証する
- [ ] プロジェクトディレクトリに移動し、.venvをアクティブにする
- [ ] ユーザー作成エンドポイントをテストする
- [ ] ユーザー取得エンドポイントをテストする
- [ ] JSONレスポンスを検証する
- MCPタスクに変換する:
{
"tool": "convert_task_markdown",
"arguments": {
"markdownPath": "/project/tasks/api_validation.md"
}
}
-
コンバーターがリアルタイムの進捗を表示する:
[Progress] Loading task file... [Progress] Validating markdown structure... [Progress] Converting 27 validation tasks... [Progress] Task 1/27: Converting core/constants.py [Progress] Task 2/27: Converting core/arango_setup.py ... [Progress] Conversion complete!
-
コンバーターが一般的な指示を正確なコマンドに変換する:
- "Change directory to project and activate .venv" は次のようになります。
cd /home/user/project && source .venv/bin/activate
- すべてのパスは絶対パスに解決されます。
- すべてのコマンドは曖昧さがなく完全に実行可能です。
- "Change directory to project and activate .venv" は次のようになります。
-
変換されたタスクを実行する: 返されたタスクには正確な実行可能なコマンドが含まれており、
claude_code
ツールを使用して順次実行できます。
完全な例: マークダウンから実行まで
ステップ1: ユーザーがマークダウンのタスクファイルを作成する (project_tasks.md
):
# Task 001: 開発環境のセットアップ
## 目的
すべての依存関係を含む開発環境を初期化する。
## 要件
1. [ ] Python 3.11以上がインストールされている
2. [ ] 仮想環境が作成されている
## タスク
- [ ] `setup.py` を検証する
- [ ] プロジェクトディレクトリに移動する
- [ ] 仮想環境を作成する
- [ ] 依存関係をインストールする
ステップ2: ユーザーがClaudeにプロンプトを送信する:
Use convert_task_markdown to process /home/user/project_tasks.md
ステップ3: MCPが変換して検証する:
- 形式が正しい場合: 実行可能なJSONを返す
- 形式が間違っている場合: ガイダンス付きのエラーを返す
ステップ4: 成功した場合の結果:
[
{
"tool": "claude_code",
"arguments": {
"prompt": "cd /home/user/project && python -m venv .venv && source .venv/bin/activate && pip install -r requirements.txt",
"workFolder": "/home/user/project"
}
}
]
ステップ5: Claudeが各タスクを順次実行する
形式の検証とエラーハンドリング
タスクコンバーターは、一貫した信頼性の高いタスク変換を確保するために特定のマークダウン構造を強制します。マークダウンファイルの形式が誤っている場合、コンバーターは有益なエラーメッセージを提供します。
エラーレスポンスの例:
{
"status": "error",
"error": "Markdown format validation failed",
"details": "Markdown format validation failed:\n - Missing required title. Format: '# Task NNN: Title'\n - Missing or empty 'Requirements' section. Format: '## Requirements\\n1. [ ] Requirement'\n - No validation tasks found. Format: '- [ ] Validate `module.py`' with indented steps\n\nRequired markdown format:\n# Task NNN: Title\n## Objective\nClear description\n## Requirements\n1. [ ] First requirement\n## Task Section\n- [ ] Validate `file.py`\n - [ ] Step 1\n - [ ] Step 2",
"helpUrl": "https://github.com/grahama1970/claude-code-mcp-enhanced/blob/main/README.md#markdown-task-file-format"
}
検証は次のことを確認します。
- 必須のセクションが存在する (タイトル、目的、要件)
- タスクは適切なチェックボックス形式を使用する
- 各タスクにはインデントされたステップがある
- 要件は一貫性のためにチェックボックス形式を使用する
🦚 タスクオーケストレーションパターン
このMCPサーバーは、複雑なワークフローを効率的に処理するための強力なタスクオーケストレーション機能をサポートしています。
ブーメランパターン (Claude Desktop ⟷ Claude Code)
ブーメランパターンにより、Claude Desktopはタスクをオーケストレートし、Claude Codeに委任することができます。これにより、次のことができます。
- 複雑なワークフローを小さく管理しやすいサブタスクに分解する
- 親タスクからサブタスクにコンテキストを渡す
- サブタスクから親タスクに結果を返す
- 詳細または要約された結果を選択する
- 構造化されたタスクリストを通じて進捗を追跡および管理する
ブーメランパターンのビジュアライゼーション
Claudeがレシピタスクをステップに分解し、Claude Codeに委任する方法を示す簡単なダイアグラムを次に示します。
graph TB
User("👨🍳 ユーザー")
Claude("🤖 Claude (親)")
Code1("🧁 Claude Code")
Code2("🧁 Claude Code")
User-->|"Make chocolate cake"| Claude
Claude-->|"Task 1: Find recipe"| Code1
Code1-->|"Result: Recipe found"| Claude
Claude-->|"Task 2: Convert measurements"| Code2
Code2-->|"Result: Measurements converted"| Claude
Claude-->|"Complete recipe + instructions"| User
この例では:
- ユーザーがClaudeにチョコレートケーキのレシピを作成するように依頼する
- Claude (親) がこれを個別のタスクに分解する
- Claudeが "Find recipe" タスクを親タスクIDとともにClaude Codeに委任する
- Claude Codeがレシピ情報をClaudeに返す
- Claudeが "Convert measurements" タスクをClaude Codeに委任する
- Claude Codeが変換された測定値を返す
- Claudeがすべての結果を結合し、完全な解決策をユーザーに提示する
簡単なタスクの例:
タスク1 - レシピを探す:
{
"toolName": "claude_code:claude_code",
"arguments": {
"prompt": "Search for a classic chocolate cake recipe. Find one with good reviews.",
"parentTaskId": "cake-recipe-123",
"returnMode": "summary",
"taskDescription": "Find Chocolate Cake Recipe"
}
}
タスク2 - 測定値を変換する:
{
"toolName": "claude_code:claude_code",
"arguments": {
"prompt": "Convert the measurements in this recipe from cups to grams:\n\n- 2 cups flour\n- 1.5 cups sugar\n- 3/4 cup cocoa powder",
"parentTaskId": "cake-recipe-123",
"returnMode": "summary",
"taskDescription": "Convert Recipe Measurements"
}
}
動作原理
-
サブタスクを作成する:
- 親タスクで一意のタスクIDを生成する
claude_code
ツールに次の情報を含めてリクエストを送信する:- 特定のプロンプト
- 親タスクID
- タスクの説明
- 希望する返却モード ('summary' または 'full')
-
結果を受け取る:
- サブタスクの結果には、特殊なマーカー
<!-- BOOMERANG_RESULT {...} -->
が含まれます。 - このマーカーにはタスクのメタデータが含まれるJSONが含まれています。
- 親タスクはこれを解析して、完了したサブタスクを識別することができます。
- サブタスクの結果には、特殊なマーカー
-
Claude Desktopを使用した例のワークフロー:
あなた: このコードベースをリファクタリングする必要があります。かなり複雑です。
Claude Desktop: それをお手伝いします。これをClaude Codeに処理させるために、小さなタスクに分解します。
1. まず、Claude Codeにコードベースの構造を分析させます。
2. 次に、問題のあるパターンを特定させます。
3. 最後に、リファクタリング計画を生成させます。
[Claude Desktopが `claude_code` ツールに parentTaskId="task1" と returnMode="summary" でリクエストを送信する]
[Claude Codeがコードベースを分析し、BOOMERANG_RESULTマーカー付きの要約を返す]
Claude Desktop: Claude Codeの分析に基づいて、次の主要な問題が見つかりました。
- モジュールXとYに重複したコードがあります。
- モジュールZでは関心事の分離が不十分です。
- 命名規則が一貫していません。
今度はClaude Codeに具体的なリファクタリングを提案させます...
このアプローチは、深い分析または複数のステップを必要とする複雑なタスクに特に有用です。
包括的なタスクリスト管理の例
ClaudeとClaude Code MCPを使用して、構造化されたタスクリストを管理および実行する詳細な例を次に示します。
1. タスクリスト構造の設定
まず、次の構造を持つタスクリストファイル (例: tasks.md
) を作成します。
# プロジェクトタスクリスト
## 親タスク: API最適化プロジェクト
- [ ] 高トラフィックエンドポイントのAPIパフォーマンスを最適化する
- [ ] 現在のAPIパフォーマンスを分析し、ボトルネックを特定する
- [ ] ユーザーエンドポイントのデータベースクエリを最適化する
- [ ] 頻繁にアクセスされるデータにRedisキャッシュを追加する
- [ ] パフォーマンス監視を設定する
## 仮定と決定
- [2025-05-15] 仮定: Redisはインフラストラクチャに利用可能です。
- [2025-05-15] 決定: まずユーザーエンドポイントに焦点を当てる (理由: 最もトラフィックの多い領域)
## 関連ファイル
- `src/controllers/userController.js`: ユーザーAPIエンドポイント
- `src/services/userService.js`: ユーザー操作のビジネスロジック
## 改善点のメモ
- パターンが特定されました: ユーザーリストエンドポイントにN+1クエリの問題があります。
- 自動化の機会: すべてのget-by-idエンドポイントに自動的にキャッシュを追加します。
2. タスクリストの実行
Claudeは、Claude Codeを使用してタスクを体系的に処理することができます。
あなた: このタスクリストを実行してください。tasks.md の最初のサブタスクから始めてください。
Claude: タスクリストを体系的に処理します。まず、現在のタスクリストを確認して、次に処理するタスクを特定します。
[Claudeが `claude_code` ツールを使用してタスクリストを読み取る]
最初のサブタスクは "Analyze current API performance and identify bottlenecks" です。このタスクをClaude Codeを使用して実行します。
[Claudeが次のリクエストを `claude_code` ツールに送信する]:
{
"toolName": "claude_code",
"arguments": {
"prompt": "Your work folder is /path/to/project\n\nTASK TYPE: Analysis\nTASK ID: api-perf-analysis\nCURRENT SUBTASK: Analyze current API performance and identify bottlenecks\n\nCONTEXT:\n- Parent task goal: Optimize API performance for high-traffic endpoints\n- This is the first step in our optimization process\n- Focus on user endpoints as noted in assumptions\n\nINSTRUCTIONS:\n1. Analyze the current API implementation in src/controllers/userController.js and src/services/userService.js\n2. Run performance tests on the user endpoints\n3. Identify specific bottlenecks and performance issues\n4. Document findings in a clear, structured format\n5. Update task list file after completion\n\nAfter completion, provide summary in this format:\n\nCOMPLETION SUMMARY:\n- What was done:\n- Results:\n- Files analyzed:\n- Issues identified:\n- Recommendations:\n- Next subtask in list:",
"workFolder": "/path/to/project"
}
}
[Claude Codeが分析タスクを実行し、結果を返す]
素晴らしい!Claude Codeが分析を完了しました。次のような結果が得られました。
1. 主要なパフォーマンスボトルネックが特定されました:
- ユーザーリストエンドポイントにN+1クエリの問題があります。
- 頻繁にクエリされるフィールドにインデックスがありません。
- 繰り返しのデータ検索にキャッシュがないため、パフォーマンスが低下しています。
2. 推奨事項:
- ユーザー関係のデータを事前に読み込む (eager loading) を追加する
- ユーザーIDとメールアドレスのフィールドにデータベースインデックスを作成する
- 5分のTTLを持つRedisキャッシュを実装する
タスクリストを更新して、このタスクを完了としてマークし、次のタスクに進みます。
[Claudeが `claude_code` ツールを使用してタスクリストを更新する]:
{
"toolName": "claude_code",
"arguments": {
"prompt": "Your work folder is /path/to/project\n\nTASK TYPE: Task List Update\n\n1. Read the current task list in tasks.md\n2. Mark the 'Analyze current API performance and identify bottlenecks' subtask as [x]\n3. Add new findings to the Improvement Notes section\n4. Add any new relevant files identified during analysis\n5. Write updated task list\n6. Return the updated task list",
"workFolder": "/path/to/project"
}
}
[Claude Codeがタスクリストを更新し、最初のサブタスクを完了としてマークする]
タスクリストを更新しました。最初のサブタスクが完了し、詳細な結果が改善点のメモに追加されました。次のサブタスクは "Implement database query optimization for user endpoints" です。
次のサブタスクを実行しますか?
3. その後のタスクの続行
確認を得た後、Claudeは次のサブタスクを続行します。
あなた: はい、次のサブタスクを続行してください。
Claude: 次のサブタスク "Implement database query optimization for user endpoints" を実行します。これには、分析で特定されたN+1クエリの問題を修正し、適切なデータベースインデックスを追加することが含まれます。
[Claudeが次のリクエストを `claude_code` ツールに送信する]:
{
"toolName": "claude_code",
"arguments": {
"prompt": "Your work folder is /path/to/project\n\nTASK TYPE: Code Implementation\nTASK ID: db-query-optimization\nCURRENT SUBTASK: Implement database query optimization for user endpoints\n\nCONTEXT:\n- Parent task goal: Optimize API performance for high-traffic endpoints\n- Previous subtask identified N+1 query issues and missing indexes\n- Need to implement eager loading and proper indexes\n\nINSTRUCTIONS:\n1. Modify src/controllers/userController.js to implement eager loading for related data\n2. Add appropriate database indexes to user-related tables\n3. Refactor any inefficient database queries in userService.js\n4. Ensure changes maintain existing functionality\n5. Run tests to verify performance improvements\n6. Update task list file after completion\n\nAfter completion, provide summary in this format:\n\nCOMPLETION SUMMARY:\n- What was done:\n- Results:\n- Files modified:\n- Performance improvements:\n- Next subtask in list:",
"workFolder": "/path/to/project"
}
}
[Claude Codeが最適化を実装し、結果を返す]
素晴らしい!データベースクエリの最適化が正常に実装されました。次のような要約があります。
1. 行われた変更:
- userController.jsでユーザー関係のデータを事前に読み込む (eager loading) を追加しました。
- ユーザーIDとメールアドレスのフィールドに新しいデータベースインデックスを作成しました。
- リストクエリを単一の効率的なJOINステートメントにリファクタリングしました。
- 大きな結果セットを防ぐためにページネーションを追加しました。
2. パフォーマンスの結果:
- ユーザーリストエンドポイントの応答時間が68%短縮されました。
- 典型的なリクエストのデータベースクエリ数が25以上から3に減少しました。
タスクリストを再度更新して、この進捗を反映します。
[Claudeが `claude_code` ツールを使用してタスクリストを再度更新する]:
{
"toolName": "claude_code",
"arguments": {
"prompt": "Your work folder is /path/to/project\n\nTASK TYPE: Task List Update\n\n1. Read the current task list in tasks.md\n2. Mark the 'Implement database query optimization for user endpoints' subtask as [x]\n3. Add new files modified to the Relevant Files section\n4. Update Improvement Notes with performance metrics\n5. Write updated task list\n6. Return the updated task list",
"workFolder": "/path/to/project"
}
}
[Claude Codeがタスクリストを更新し、2番目のサブタスクを完了としてマークする]
タスクリストを再度更新しました。2つのサブタスクが完了し、次のサブタスクは "Add Redis caching for frequently accessed data" です。このサブタスクを続行しますか?
この構造化されたアプローチにより、Claudeは複雑なタスクリストを体系的に処理しながら、進捗、仮定、および関連ファイルの明確なドキュメントを維持することができます。
🎭 自己オーケストレーションパターン (Claude Codeをオーケストレーターとして使用)
Claude Desktopが通常は親エージェントとして使用されますが、Claude Code自体をオーケストレーターとして使用することもできます。このアプローチにより、Claude Desktopを必要とせずに、Claude Codeが独自のタスクオーケストレーションを管理する自己完結型のシステムが作成されます。
graph TB
User("👨💻 ユーザー")
ClaudeCode("🤖 Claude Code\nオーケストレーター")
ClaudeCodeSubtask1("⚙️ Claude Code\nサブタスク1")
ClaudeCodeSubtask2("⚙️ Claude Code\nサブタスク2")
User-->|"Complex project request"| ClaudeCode
ClaudeCode-->|"1. Plans tasks"| ClaudeCode
ClaudeCode-->|"2. Executes subtask 1"| ClaudeCodeSubtask1
ClaudeCodeSubtask1-->|"3. Returns result"| ClaudeCode
ClaudeCode-->|"4. Executes subtask 2"| ClaudeCodeSubtask2
ClaudeCodeSubtask2-->|"5. Returns result"| ClaudeCode
ClaudeCode-->|"6. Final solution"| User
実装手順
- タスク構造を初期化し、Claude Codeをオーケストレーターとして起動するエントリースクリプトを作成する
- タスクのステータスと依存関係を追跡するタスクデータ構造 (通常はJSON形式) を設計する
- 個々のタスクを処理し、タスクの状態を更新するタスク実行スクリプトを作成する
自己オーケストレーションの主要な利点
- 自己完結型: 外部のオーケストレーター (Claude Desktopなど) は必要ありません。
- 永続的な状態: すべてのタスク情報はJSONファイルに保存されます。
- エラー回復: 中断された場合、最後に成功したタスクから再開できます。
- 簡素化された依存関係管理: 単一のシステムがすべてのClaude Codeの相互作用を管理します。
- シェルスクリプトの自動化: CI/CDパイプラインまたは自動化されたワークフローに簡単に統合できます。
詳細な実装ガイドと例のスクリプトおよびタスク構造については、Self-Orchestration with Claude Code を参照してください。
👓 Rooモードの統合
このMCPサーバーは、.roomodes
設定ファイルを介して特殊なモードとの統合をサポートしています。有効にすると、各タスクに使用するモードを指定でき、特殊な動作が可能になります。
Rooモードの使用方法
- Rooモードのサポートを有効にする:
- MCP設定で環境変数
MCP_USE_ROOMODES=true
を設定する - MCPサーバーのルートディレクトリに
.roomodes
ファイルを作成する - オプション
- MCP設定で環境変数












