Claude Code MCP Enhanced
🤖 クロード・コード MCP サーバー
すぐに始めたいですか? QUICKSTART.mdガイドをご覧ください。
このプロジェクトは、強化されたオーケストレーション機能、信頼性の向上、および追加のドキュメントを備えたsteipete/claude-code-mcpのフォークです。
強化されたモデルコンテキストプロトコル(MCP)サーバー。Claude Codeをワンショットモードで実行し、権限を自動的にバイパスできます。このサーバーには、高度なタスクオーケストレーション機能、堅牢なエラー処理、そして複雑なタスクを管理しやすいサブタスクに分割するための「ブーメランパターン」が搭載されています。
標準的なAIアシスタントは、複雑で多段階の編集や操作に苦労することがあることに気づきましたか?このサーバーは、強力な統合claude_codeツールと強化された信頼性機能を備えており、Claudeをより直接的で有能なコーディングタスクのエージェントにすることを目指しています。
🔍 概要
このMCPサーバーは、LLMがClaude Codeと連携するための強力なツールを提供します。Claude Desktopや他のMCPクライアントと統合することで、LLMは以下のことが可能になります。
すべての権限をバイパスして Claude Code を実行します (
--dangerously-skip-permissionsを使用)許可の中断なしに、任意のプロンプトでClaudeコードを実行します
ファイル編集機能に直接アクセス
堅牢なエラー処理と再試行機能を備えた複雑な複数ステップ操作を実行する
ブーメランパターンを使用して、専門のエージェントロールを通じてタスクをオーケストレーションする
タイムアウトを防ぐハートビートメカニズムを通じて信頼性の高い実行を維持する
Related MCP server: Scenario Word
✨ メリット
**信頼性の向上:**堅牢なエラー処理、自動再試行、正常なシャットダウン、リクエスト追跡
**タスクオーケストレーション:**複雑なワークフローを専門のサブタスクに分割できます
**タスク自動化:**人間が読めるマークダウンタスクリストを実行可能な MCP コマンドに自動的に変換します。
**パフォーマンスの最適化:**構成のキャッシュとリソース効率による実行の改善
**より優れた監視:**ヘルスチェック API、詳細なエラーレポート、包括的なログ記録
**開発者エクスペリエンス:**構成のホットリロード、柔軟な環境制御、簡素化された API
さらに、Claude Code の標準特典もすべてご利用いただけます:
Claude/Windsurf はファイルの編集に苦労することがよくあります。Claude Code の方が優れていて、編集速度も速いです。
複数のコマンドを直接実行するのではなく、キューに登録することができます。これによりコンテキスト空間が節約され、より重要な情報がより長く保持されます。
ファイル操作、Git、その他の操作には、コストのかかるモデルは必要ありません。Claude Codeは、Anthropic Maxにご登録いただくと、費用対効果の高いツールとなります。
クロードはより広範囲のシステム アクセス権を持っているため、標準アシスタントが停止した場合は、「クロード コードを使用する」ように依頼するだけで、進行がブロック解除されます。
📝 前提条件
Node.js v20以降(fnmまたはnvmを使用してインストールしてください)
Claude CLI がローカルにインストールされ (実行して /doctor を呼び出す)、
-dangerously-skip-permissionsが受け入れられました。
💾 インストールと使用方法
この MCP サーバーは、次の 3 つの方法でインストールして使用できます。
🚀 方法 1: GitHub URL 経由 (推奨)
最も柔軟な方法は、 npxを使用して GitHub から直接インストールすることです。これにより、リポジトリから常に最新バージョンが取得されます。
.mcp.jsonファイルに次のコードを追加します。
{
"mcpServers": {
"claude-code-mcp-enhanced": {
"command": "npx",
"args": [
"github:grahama1970/claude-code-mcp-enhanced"
],
"env": {
"MCP_CLAUDE_DEBUG": "false",
"MCP_HEARTBEAT_INTERVAL_MS": "15000",
"MCP_EXECUTION_TIMEOUT_MS": "1800000"
}
}
}
}📦 方法 2: npm パッケージ経由
パッケージが npm に公開されている場合は、npm パッケージ名を使用してインストールできます。
{
"mcpServers": {
"claude-code-mcp-enhanced": {
"command": "npx",
"args": [
"-y",
"@grahama1970/claude-code-mcp-enhanced@latest"
],
"env": {
"MCP_CLAUDE_DEBUG": "false",
"MCP_HEARTBEAT_INTERVAL_MS": "15000",
"MCP_EXECUTION_TIMEOUT_MS": "1800000"
}
}
}
}🔧 方法3: ローカルインストール
開発またはテストの目的で、ローカル インストールからサーバーを実行できます。
リポジトリをクローンします。
git clone https://github.com/grahama1970/claude-code-mcp-enhanced.git cd claude-code-mcp-enhanced依存関係をインストールしてビルドします。
npm install npm run buildローカル サーバーを使用するように
.mcp.jsonファイルを構成します。
{
"mcpServers": {
"claude-code-mcp-enhanced": {
"command": "node",
"args": [
"/path/to/claude-code-mcp-enhanced/dist/server.js"
],
"env": {
"MCP_CLAUDE_DEBUG": "false",
"MCP_HEARTBEAT_INTERVAL_MS": "15000",
"MCP_EXECUTION_TIMEOUT_MS": "1800000"
}
}
}
}🔑 初回セットアップ時の重要事項:権限の承認
MCP サーバーがclaude_codeツールを正常に使用できるようにするには、まず--dangerously-skip-permissionsフラグを使用して Claude CLI を手動で 1 回実行し、ログインして利用規約に同意する必要があります。
これは、Claude CLI による 1 回限りの要件です。
npm install -g @anthropic-ai/claude-codeclaude --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": {
// Your other MCP services here
}
}
}MCP 構成の場所
設定は通常JSONファイルで行います。名前と場所はクライアントによって異なります。
カーソル
カーソルはmcp.jsonを使用します。
macOS:
~/.cursor/mcp.jsonWindows:
%APPDATA%\\Cursor\\mcp.jsonLinux:
~/.config/cursor/mcp.json
ウィンドサーフィン
Windsurfユーザーはmcp_config.jsonを使用します
macOS:
~/.codeium/windsurf/mcp_config.jsonWindows:
%APPDATA%\\Codeium\\windsurf\\mcp_config.jsonLinux:
~/.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["👤 User"] -->|"Create tasks.md"| B["📝 Multi-Task Markdown"]
A -->|"Prompt Claude"| C["🤖 Claude Desktop"]
C -->|"Use convert_task_markdown"| D["🔄 Task Converter MCP"]
D -->|"Validate Format"| E{"Format Valid?"}
E -->|"No"| F["📑 Error + Fix Instructions"]
F -->|"Return to User"| A
E -->|"Yes"| G["📋 MCP Task List"]
G -->|"Execute Task"| H1["⚡ Claude Task #1"]
H1 -->|"Complete"| I1["Next Task"]
I1 -->|"Execute Task"| H2["⚡ Claude Task #2"]
H2 -->|"Complete"| I2["Next Task"]
I2 -->|"Execute Task"| H3["⚡ Claude Task #3"]
H3 -->|"Complete"| I3["More Tasks"]
I3 -->|"Execute Task"| HN["⚡ Claude Task #N"]
HN -->|"Complete"| IN["🎉 All Tasks Completed!"]
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を構成ファイルに追加します
ユーザーがクロードにプロンプトを表示します: 「convert_task_markdown を使用して、tasks.md ファイルを実行します。」
MCP は自動的に次の処理を実行します。
マークダウンファイルを読み込みます
フォーマットを検証します(セクションが欠落している場合はエラーを返します)
人間が読めるタスクを正確に実行可能なコマンドに変換する
Claude Codeが連続的に実行できるJSONを返します
クロードはJSONを受け取り、
claude_codeツールを使用して各タスクを実行できます。
主な特徴
自動パス解決: 「プロジェクトへのディレクトリ変更」などの一般的な指示を、フルパスを持つ正確な実行可能コマンドに変換します。
**スマートコマンド翻訳:**英語の指示を正確なターミナルコマンドに変換します (例: 「仮想環境をアクティブ化する」→
source .venv/bin/activate)**MCPプロトコル準拠:**すべての出力がモデルコンテキストプロトコルと100%互換性があることを保証します。
**曖昧さなし:**生成されたすべてのコマンドは正確なパスと実行構文を使用します。プレースホルダーや一般的な参照はありません。
**フォーマット検証:**適切なマークダウン構造を強制し、誤ったフォーマットに対して役立つエラーメッセージを表示します。
**リアルタイムの進捗状況更新:**変換中に、どのタスクが処理されているかを示すライブの進捗状況更新を提供します。
MarkdownタスクをMCPコマンドに変換する
convert_task_markdownツールは構造化されたマークダウン ファイルを処理し、MCP 互換の JSON を生成します。
リクエスト形式:
{
"tool": "convert_task_markdown",
"arguments": {
"markdownPath": "/path/to/tasks.md",
"outputPath": "/path/to/output.json" // optional
}
}応答形式:
{
"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
}
}
// ... more tasks
]
}Markdownタスクファイル形式
タスク マークダウン ファイルは次の構造に従う必要があります。
# Task 001: Task Title
## Objective
Clear description of what needs to be accomplished.
## Requirements
1. [ ] First requirement
2. [ ] Second requirement
## Tasks
### Module or Component Name
- [ ] Validate `path/to/file.py`
- [ ] Step 1
- [ ] Step 2
- [ ] Step 3コンバーターは次のことを行います。
マークダウン構造を解析する
タスクのメタデータと要件を抽出する
各検証タスクの詳細なプロンプトを生成する
適切な作業ディレクトリの設定を含める
検証と完了の概要を追加する
使用例
タスク ファイル(
tasks/api_validation.md) を作成します。
# Task 001: API Endpoint Validation
## Objective
Validate all API endpoints work with real database connections.
## Requirements
1. [ ] All endpoints must use real database
2. [ ] No mock data in validation
## Core API Tasks
- [ ] Validate `api/users.py`
- [ ] Change directory to project and activate .venv
- [ ] Test user creation endpoint
- [ ] Test user retrieval endpoint
- [ ] Verify JSON responsesMCPタスクに変換:
{
"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!コンバーターは、一般的な指示を正確なコマンドに変換します。
「プロジェクトのディレクトリを変更して .venv をアクティブ化する」は次のようになります。
cd /home/user/project && source .venv/bin/activateすべてのパスは絶対パスに解決されます
すべてのコマンドは曖昧さなく完全に実行可能
変換されたタスクを実行します。返されたタスクには正確な実行可能なコマンドが含まれており、
claude_codeツールを使用して順番に実行できます。
完全な例: Markdownから実行まで
ステップ 1: ユーザーはマークダウン タスク ファイル( project_tasks.md ) を作成します。
# Task 001: Setup Development Environment
## Objective
Initialize the development environment with all dependencies.
## Requirements
1. [ ] Python 3.11+ installed
2. [ ] Virtual environment created
## Tasks
- [ ] Validate `setup.py`
- [ ] Change to project directory
- [ ] Create virtual environment
- [ ] Install dependenciesステップ2: ユーザーがクロードにプロンプトを出す:
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: クロードは各タスクを順番に実行できる
フォーマット検証とエラー処理
タスクコンバータは、タスク変換の一貫性と信頼性を確保するために、特定のマークダウン構造を適用します。マークダウンファイルのフォーマットが間違っている場合、コンバータは役立つエラーメッセージを表示します。
エラー応答の例:
{
"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)
Boomerangパターンにより、Claude Desktopはタスクをオーケストレーションし、Claude Codeに委任することができます。これにより、以下のことが可能になります。
複雑なワークフローを、より小さく管理しやすいサブタスクに分割する
親タスクからサブタスクにコンテキストを渡す
サブタスクから親タスクに結果を返す
詳細結果または要約結果のいずれかを選択します
構造化されたタスクリストを通じて進捗状況を追跡および管理する
ブーメランパターンの可視化
以下は、Claude がレシピのタスクをステップに分解し、Claude Code に委任する方法を示した簡単な図です。
graph TB
User("👨🍳 User")
Claude("🤖 Claude (Parent)")
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この例では、
ユーザーはクロードにチョコレートケーキのレシピを作るように頼む
クロード(親)はこれを個別のタスクに分割します
クロードは「レシピを探す」タスクを親タスクIDを持つクロード・コードに委任します。
クロード・コードはレシピ情報をクロードに返す
クロードは「測定値の変換」タスクをクロード・コードに委任します
クロード・コードは変換された測定値を返します
クロードはすべての結果を統合し、完全なソリューションをユーザーに提示します
簡単なタスクの例:
タスク 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
タスクの説明
希望する返却モード(「要約」または「完全」)
結果の受け取り:
サブタスクの結果には特別なマーカーが含まれます:
<!-- BOOMERANG_RESULT {...} -->このマーカーにはタスクのメタデータを含むJSONが含まれています
親タスクはこれを解析して完了したサブタスクを識別できる
Claude Desktop を使用したワークフローの例:
You: I need to refactor this codebase. It's quite complex.
Claude Desktop: I'll help you with that. Let me break this down into smaller tasks for Claude Code to handle:
1. First, I'll have Claude Code analyze the codebase structure
2. Then, I'll have it identify problematic patterns
3. Finally, I'll ask it to generate a refactoring plan
[Claude Desktop sends a request to the claude_code tool with parentTaskId="task1" and returnMode="summary"]
[Claude Code analyzes the codebase and returns a summary with the BOOMERANG_RESULT marker]
Claude Desktop: Based on Claude Code's analysis, here are the key issues found:
- Duplicate code in modules X and Y
- Poor separation of concerns in module Z
- Inconsistent naming conventions
Now I'll ask Claude Code to suggest specific refactorings...このアプローチは、詳細な分析や複数のステップを必要とする複雑なタスクに特に役立ちます。
包括的なタスクリスト管理の例
Claude Code MCP と Claude を使用して、構造化されたタスク リストを管理および実行する詳細な例を次に示します。
1. タスクリスト構造の設定
まず、次の構造を持つタスク リスト ファイル (例: tasks.md ) を作成します。
# Project Task List
## Parent Task: API Optimization Project
- [ ] Optimize API performance for high-traffic endpoints
- [ ] Analyze current API performance and identify bottlenecks
- [ ] Implement database query optimization for user endpoints
- [ ] Add Redis caching for frequently accessed data
- [ ] Set up performance monitoring
## Assumptions and Decisions
- [2025-05-15] Assumption: Redis is available in the infrastructure
- [2025-05-15] Decision: Focus on user endpoints first (Rationale: Highest traffic area)
## Relevant Files
- `src/controllers/userController.js`: User API endpoints
- `src/services/userService.js`: Business logic for user operations
## Improvement Notes
- Pattern identified: N+1 query issue in user listing endpoint
- Automation opportunity: Add caching automatically for all get-by-id endpoints2. タスクリストの実行
クロードは、クロード コードを使用してタスクを体系的に実行できるようになりました。
You: Please help me execute the task list in tasks.md, starting with the first subtask.
Claude: I'll help you work through your task list systematically. Let me first check the current task list to identify the next task to work on.
[Claude uses claude_code to read the task list]
I see the first subtask is "Analyze current API performance and identify bottlenecks". I'll execute this task now using Claude Code.
[Claude sends the following request to 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 executes the analysis task and returns results]
Great! Claude Code has completed the analysis. Here's what was found:
1. Main performance bottlenecks identified:
- N+1 query problem in the user listing endpoint
- Missing indexes on frequently queried fields
- No caching for repetitive data lookups
2. Recommendations:
- Add eager loading for user relationships
- Create database indexes for user_id and email fields
- Implement Redis caching with a 5-minute TTL
Let me update the task list to mark this task as complete and proceed to the next one.
[Claude uses claude_code to update the task list]:
{
"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 updates the task list and marks the first subtask complete]
I've updated the task list. The first subtask is now complete, and I've added the detailed findings to the Improvement Notes section. The next subtask is "Implement database query optimization for user endpoints".
Would you like me to proceed with this next subtask now?3. 後続のタスクの継続
確認を得た後、クロードは次のサブタスクに進みます。
You: Yes, please proceed with the next subtask.
Claude: I'll now execute the next subtask: "Implement database query optimization for user endpoints". This will involve fixing the N+1 query problem identified in the analysis and adding appropriate database indexes.
[Claude sends the following request to 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 implements the optimizations and returns results]
Excellent! The database query optimizations have been successfully implemented. Here's a summary:
1. Changes made:
- Added eager loading in userController.js for user relationships
- Created new database indexes for user_id and email fields
- Refactored list query to use a single efficient JOIN statement
- Added pagination to prevent large result sets
2. Performance results:
- User listing endpoint response time reduced by 68%
- Database query count reduced from 25+ to 3 for typical requests
Let me update the task list again to reflect this progress.
[Claude uses claude_code to update the task list again]:
{
"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 updates the task list and marks the second subtask complete]
I've updated the task list again. Two subtasks are now complete, and the next one is "Add Redis caching for frequently accessed data". Would you like me to continue with this subtask?この構造化されたアプローチにより、Claude はプロセス全体を通じて進捗状況、想定事項、関連ファイルを明確に文書化しながら、複雑なタスク リストを体系的に処理できます。
🎭 自己オーケストレーション パターン (オーケストレーターとしての Claude Code)
Claude Desktopは親エージェントとして使用されることが多いですが、Claude Code自体をオーケストレーターとエグゼキューターの両方として使用することもできます。このアプローチにより、Claude Desktopを必要とせずに、Claude Codeが独自のタスクオーケストレーションを管理する自己完結型のシステムを構築できます。
graph TB
User("👨💻 User")
ClaudeCode("🤖 Claude Code\nOrchestrator")
ClaudeCodeSubtask1("⚙️ Claude Code\nSubtask 1")
ClaudeCodeSubtask2("⚙️ Claude Code\nSubtask 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_WATCH_ROOMODES=trueでホットリロードを有効にして、ファイルが変更されたときに構成を自動的にリロードします。
モードを設定する:
.roomodesファイルには、customModes配列を持つJSONオブジェクトが含まれている必要があります。各モードには、
slug、name、roleDefinition、およびオプションでmodelIdを持つapiConfigurationが必要です。
モードの使用:
claude_codeツールにリクエストを行う際は、希望するモードのスラッグを指定したmodeパラメータを含めます。MCPサーバーはロール定義とモデル構成を自動的に適用します。
.roomodes ファイルの例:
{ "customModes": [ { "slug": "coder", "name": "💻 Coder", "roleDefinition": "You are a coding specialist who writes clean, efficient code.", "apiConfiguration": { "modelId": "claude-3-sonnet-20240229" } }, { "slug": "designer", "name": "🎨 Designer", "roleDefinition": "You are a design specialist focused on UI/UX solutions." } ] }環境設定例:
{ "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" } } } }モードを使用してリクエストを行う:
{ "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" } }
Roo Modes の主な機能:
特殊な動作: モードごとにシステムプロンプトやモデル構成が異なります
ホットリロード:
MCP_WATCH_ROOMODES=trueの場合、.roomodesファイルが変更されると、サーバーは自動的に構成をリロードします。パフォーマンス: サーバーはパフォーマンス向上のためにルームコードの設定をキャッシュします。
フォールバック: モードが見つからない場合、またはルームコードが無効になっている場合、サーバーはデフォルトの動作を続行します。
🛠️ 信頼性機能の強化
このサーバーには、信頼性とパフォーマンスを向上させるためのいくつかの改善が含まれています。
1. ハートビートとタイムアウト防止
長時間実行される操作中にクライアント側のタイムアウトを防ぐには:
15秒ごとに進行状況の更新を送信する設定可能なハートビートメカニズムを追加しました
実行時間の追跡とレポートを実装
環境変数を通じて設定可能なタイムアウトパラメータを追加しました
2. 再試行による堅牢なエラー処理
一時的なエラーに対するインテリジェントな再試行ロジックを追加しました:
設定可能なパラメータによる自動再試行を実装
再試行可能な問題を識別するためのエラー分類を追加しました
詳細なエラー報告と追跡を作成した
3. リクエスト追跡システム
包括的なリクエストライフサイクル管理を実装しました。
各リクエストに固有のIDを追加しました
進行中のリクエストの追跡を作成しました
完了時または失敗時に適切なクリーンアップを確実に実行
4. 正常なシャットダウン
適切なプロセス終了処理を追加しました:
SIGINT および SIGTERM のシグナル ハンドラーを実装しました。
進行中のリクエストの追跡機能を追加しました
クリーンシャットダウンの待機ロジックを作成しました
退出時に適切な清掃を確実に実施
5. 設定のキャッシュとホットリロード
構成のパフォーマンス最適化を追加しました:
roomodes ファイルのキャッシュを実装しました
ファイルの変更に基づいて自動的に無効化する機能を追加
設定可能なファイル監視メカニズムを作成
⚙️ 設定オプション
サーバーの動作は、次の環境変数を使用してカスタマイズできます。
変数 | 説明 | デフォルト |
| Claude CLI 実行ファイルへの絶対パス | 自動検出 |
| 詳細なデバッグログを有効にする |
|
| 進捗報告の間隔 | 15000(15秒) |
| CLI実行のタイムアウト | 1800000(30m) |
| 一時エラーの最大再試行回数 | 3 |
| 再試行間の遅延 | 1000(1秒) |
| Rooモードの統合を有効にする |
|
| 変更時に .roomodes を自動リロードする |
|
これらは、シェル環境またはmcp.jsonサーバー構成のenvブロック内で設定できます。
📸 視覚的な例
以下に、サーバーの動作を示す視覚的な例をいくつか示します。
ESLint設定の修正
Claude Code MCP ツールを使用して、古い構成ファイルを削除し、新しい構成ファイルを作成することで、ESLint セットアップを対話的に修正する例を次に示します。
ファイルの一覧表示の例
以下は、ディレクトリ内のファイルを一覧表示する Claude Code ツールの例です。
複雑な複数ステップの操作
この例では、ブランチの作成によるリリースの準備、複数のファイル ( package.json 、 CHANGELOG.md ) の更新、変更のコミット、プル リクエストの開始など、より複雑な複数ステップのタスクをすべて 1 つの一貫した操作でclaude_codeが処理する様子を示しています。
GitHub Actionsワークフロー修正
🎯 主なユースケース
このサーバーは、統合されたclaude_codeツールを通じて、AIがClaude Code CLIに直接アクセスできるようにすることで、幅広い強力な機能を実現します。以下は、実現可能な例です。
コード生成、分析、リファクタリング:
"Generate a Python script to parse CSV data and output JSON.""Analyze my_script.py for potential bugs and suggest improvements."
ファイル システム操作 (作成、読み取り、編集、管理):
ファイルの作成:
"Your work folder is /Users/steipete/my_project\n\nCreate a new file named 'config.yml' in the 'app/settings' directory with the following content:\nport: 8080\ndatabase: main_db"ファイルの編集:
"Your work folder is /Users/steipete/my_project\n\nEdit file 'public/css/style.css': Add a new CSS rule at the end to make all 'h2' elements have a 'color: navy'."移動/コピー/削除:
"Your work folder is /Users/steipete/my_project\n\nMove the file 'report.docx' from the 'drafts' folder to the 'final_reports' folder and rename it to 'Q1_Report_Final.docx'."
バージョン管理(Git):
"Your work folder is /Users/steipete/my_project\n\n1. Stage the file 'src/main.java'.\n2. Commit the changes with the message 'feat: Implement user authentication'.\n3. Push the commit to the 'develop' branch on origin."
ターミナルコマンドの実行:
"Your work folder is /Users/steipete/my_project/frontend\n\nRun the command 'npm run build'.""Open the URL https://developer.mozilla.org in my default web browser."
ウェブ検索と要約:
"Search the web for 'benefits of server-side rendering' and provide a concise summary."
複雑な複数ステップのワークフロー:
バージョン バンプ、変更ログの更新、リリースのタグ付けを自動化します。
"Your work folder is /Users/steipete/my_project\n\nFollow these steps: 1. Update the version in package.json to 2.5.0. 2. Add a new section to CHANGELOG.md for version 2.5.0 with the heading '### Added' and list 'New feature X'. 3. Stage package.json and CHANGELOG.md. 4. Commit with message 'release: version 2.5.0'. 5. Push the commit. 6. Create and push a git tag v2.5.0."
構文エラーのあるファイルの修復:
"Your work folder is /path/to/project\n\nThe file 'src/utils/parser.js' has syntax errors after a recent complex edit that broke its structure. Please analyze it, identify the syntax errors, and correct the file to make it valid JavaScript again, ensuring the original logic is preserved as much as possible."
GitHub とのやり取り (例: プル リクエストの作成):
"Your work folder is /Users/steipete/my_project\n\nCreate a GitHub Pull Request in the repository 'owner/repo' from the 'feature-branch' to the 'main' branch. Title: 'feat: Implement new login flow'. Body: 'This PR adds a new and improved login experience for users.'"
GitHub とのやり取り (例: PR CI ステータスの確認):
"Your work folder is /Users/steipete/my_project\n\nCheck the status of CI checks for Pull Request #42 in the GitHub repository 'owner/repo'. Report if they have passed, failed, or are still running."
重要: ファイル システムまたは git 操作のプロンプトで、現在の作業ディレクトリ (CWD) コンテキストを必ず提供してください (例: "Your work folder is /path/to/project\n\n...your command..." )。
🔧 トラブルシューティング
**「コマンドが見つかりません」(claude-code-mcp):**グローバルにインストールされている場合は、npm のグローバル bin ディレクトリがシステムの PATH に含まれていることを確認してください。npx
npx使用している場合は、npx自体が動作していることを確認してください。「コマンドが見つかりません」(claude または ~/.claude/local/claude): Claude CLI が正しくインストールされていることを確認してください。claude
claude/doctorを実行するか、ドキュメントを確認してください。権限の問題: 「重要な初回セットアップ」手順を実行したことを確認してください。
サーバーからのJSONエラー:
MCP_CLAUDE_DEBUGがtrueの場合、エラーメッセージまたはログがMCPのJSON解析に干渉する可能性があります。通常の動作にはfalseに設定してください。ESM/インポート エラー: Node.js v20 以降を使用していることを確認してください。
**クライアントタイムアウト:**長時間実行される操作の場合、サーバーはクライアントのタイムアウトを防ぐため、15秒ごとにハートビートメッセージを送信します。それでもタイムアウトが発生する場合は、
MCP_HEARTBEAT_INTERVAL_MS環境変数を使用してハートビート間隔を調整できます。**ネットワーク/サーバーエラー:**一時的なエラーが発生した場合、サーバーに自動再試行ロジックが追加されました。それでも問題が解決しない場合は、
MCP_MAX_RETRIESとMCP_RETRY_DELAY_MS値を増やしてみてください。Claude CLI フォールバック警告: Claude CLI が ~/.claude/local/claude に見つからないという警告が表示された場合、これは正常です。サーバーは PATH にある
claudeコマンドにフォールバックしています。必要に応じて、CLAUDE_CLI_PATH環境変数を設定して、Claude CLI 実行ファイルへの正確なパスを指定できます。
👨💻 開発者向け: ローカルセットアップと貢献
このサーバーを開発または貢献する場合、あるいはテストのためにクローン リポジトリから実行する場合は、 「ローカル インストールおよび開発セットアップ ガイド」を参照してください。
💪 貢献する
貢献を歓迎します!環境設定の詳細については、ローカルインストールと開発セットアップガイドを参照してください。
問題とプル リクエストをGitHub リポジトリに送信します。
⚖️ ライセンス
マサチューセッツ工科大学
💬 フィードバックとサポート
Claude Code MCP サーバーの使用に関して問題が発生した場合や質問がある場合は、次の手順に従ってください。
上記のトラブルシューティングセクションを確認してください
GitHubリポジトリに問題を提出する
リポジトリのディスカッションセクションでディスカッションに参加してください
このツールをより良くするためのフィードバックと貢献に感謝します。
Available Tools
3 toolsclaude_codeA
Claude Code Agent: Your versatile multi-modal assistant for code, file, Git, and terminal operations via Claude CLI. Use workFolder for contextual execution.
• File ops: Create, read, (fuzzy) edit, move, copy, delete, list files, analyze/ocr images, file content analysis └─ e.g., "Create /tmp/log.txt with 'system boot'", "Edit main.py to replace 'debug_mode = True' with 'debug_mode = False'", "List files in /src", "Move a specific section somewhere else"
• Code: Generate / analyse / refactor / fix └─ e.g. "Generate Python to parse CSV→JSON", "Find bugs in my_script.py"
• Git: Stage ▸ commit ▸ push ▸ tag (any workflow) └─ "Commit '/workspace/src/main.java' with 'feat: user auth' to develop."
• Terminal: Run any CLI cmd or open URLs └─ "npm run build", "Open https://developer.mozilla.org"
• Web search + summarise content on-the-fly
• Multi-step workflows (Version bumps, changelog updates, release tagging, etc.)
• GitHub integration Create PRs, check CI status
• Confused or stuck on an issue? Ask Claude Code for a second opinion, it might surprise you!
• Task Orchestration with "Boomerang" pattern └─ Break down complex tasks into subtasks for Claude Code to execute separately └─ Pass parent task ID and get results back for complex workflows └─ Specify return mode (summary or full) for tailored responses
Prompt tips
Be concise, explicit & step-by-step for complex tasks. No need for niceties, this is a tool to get things done.
For multi-line text, write it to a temporary file in the project root, use that file, then delete it.
If you get a timeout, split the task into smaller steps.
Seeking a second opinion/analysis: If you're stuck or want advice, you can ask
claude_codeto analyze a problem and suggest solutions. Clearly state in your prompt that you are looking for analysis only and no actual file modifications should be made.If workFolder is set to the project path, there is no need to repeat that path in the prompt and you can use relative paths for files.
Claude Code is really good at complex multi-step file operations and refactorings and faster than your native edit features.
Combine file operations, README updates, and Git commands in a sequence.
Task Orchestration: For complex workflows, use
parentTaskIdto create subtasks andreturnMode: "summary"to get concise results back.Claude can do much more, just ask it!
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | When MCP_USE_ROOMODES=true, specifies the mode from .roomodes to use (e.g., "boomerang-mode", "coder", "designer", etc.). | |
| parentTaskId | No | Optional ID of the parent task that created this task (for task orchestration/boomerang). | |
| prompt | Yes | The detailed natural language prompt for Claude to execute. | |
| returnMode | No | How results should be returned: summary (concise) or full (detailed). Defaults to full. | |
| taskDescription | No | Short description of the task for better organization and tracking in orchestrated workflows. | |
| workFolder | No | Mandatory when using file operations or referencing any file. The working directory for the Claude CLI execution. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does an excellent job describing the tool's capabilities, constraints (workFolder requirement, timeout handling), and operational patterns (boomerang orchestration, return modes). However, it doesn't explicitly mention authentication requirements, rate limits, or error handling specifics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is excessively long (over 500 words) with redundant information, marketing language ('it might surprise you!'), and tips that belong in documentation rather than a tool description. While well-structured with bullet points, it violates the principle that every sentence should earn its place in a tool description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex 6-parameter tool with no annotations and no output schema, the description provides substantial context about capabilities, constraints, and usage patterns. However, the lack of output schema means the description should ideally explain what kind of results to expect, which it only partially addresses through returnMode discussion.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 6 parameters thoroughly. The description references parameters like workFolder, parentTaskId, and returnMode in context, but doesn't add significant semantic value beyond what's already in the schema descriptions. The baseline of 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states this is a 'versatile multi-modal assistant for code, file, Git, and terminal operations via Claude CLI' with specific examples of each capability. It distinguishes itself from sibling tools (convert_task_markdown, health) by being a comprehensive execution tool rather than a conversion or health check utility.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides extensive guidance on when and how to use the tool, including explicit 'Prompt tips' with 9 specific recommendations, examples for different operation types, and guidance on task orchestration. It clearly distinguishes between analysis-only requests and execution requests in tip #4.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
convert_task_markdownB
Converts markdown task files into Claude Code MCP-compatible JSON format. Returns an array of tasks that can be executed using the claude_code tool.
| Name | Required | Description | Default |
|---|---|---|---|
| markdownPath | Yes | Path to the markdown task file to convert. | |
| outputPath | No | Optional path where to save the JSON output. If not provided, returns the JSON directly. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions the return value (array of tasks) and output behavior (saving or returning JSON), but doesn't cover critical aspects like error handling, file format requirements, or performance implications. For a tool with no annotations, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the core purpose in the first sentence, followed by a clear statement of the return value and usage context. Every sentence adds value without redundancy, making it efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and 2 parameters with full schema coverage, the description is minimally adequate. It covers the basic purpose and output but lacks details on behavioral traits, error cases, or integration with sibling tools. This meets the minimum viable threshold but has clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents both parameters. The description adds no additional parameter semantics beyond what the schema provides (e.g., it doesn't explain markdown file structure or JSON format details). Baseline 3 is appropriate when schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: converting markdown task files to Claude Code MCP-compatible JSON format. It specifies the verb 'converts' and the resource 'markdown task files', and mentions the output format. However, it doesn't explicitly differentiate from sibling tools like 'claude_code' or 'health', which would require a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by stating the output can be executed using 'claude_code', suggesting a workflow. However, it lacks explicit guidance on when to use this tool versus alternatives (e.g., direct use of 'claude_code' or other conversion methods) or any prerequisites. This is adequate but has gaps.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
healthA
Returns health status, version information, and current configuration of the Claude Code MCP server.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the tool returns health status, version, and configuration, which gives basic behavioral context. However, it lacks details on potential side effects, error handling, or performance characteristics, which would be useful for a monitoring tool. The description does not contradict any annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that efficiently conveys the tool's purpose without any wasted words. It is front-loaded with the key action ('Returns') and clearly lists the returned information, making it easy to understand at a glance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (0 parameters, no output schema, no annotations), the description is complete enough for its purpose. It explains what the tool returns, which is adequate for a simple health-check tool. However, without an output schema, adding a hint about the return format could slightly improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters, and schema description coverage is 100%, so there is no need for parameter documentation in the description. The baseline for 0 parameters is 4, as the description appropriately omits parameter details and focuses on the tool's purpose, which is sufficient given the lack of inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific verb ('Returns') and resource ('health status, version information, and current configuration of the Claude Code MCP server'), distinguishing it from sibling tools like 'claude_code' and 'convert_task_markdown' which likely perform different functions. It precisely defines what the tool does without being vague or tautological.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by specifying it returns server health and configuration, suggesting it should be used for monitoring or diagnostic purposes. However, it does not explicitly state when to use this tool versus alternatives or provide any exclusions, leaving some ambiguity about its specific application scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
v1.0.0- First observed
claude_code - First observed
convert_task_markdown - First observed
health
TDQS
Scored across 3 tools
The three tools have clearly distinct purposes with no overlap: claude_code handles all code/file/Git/terminal operations, convert_task_markdown specifically converts markdown to JSON format, and health provides server status information. Each tool serves a unique function in the workflow.
The naming shows mixed conventions: claude_code uses snake_case but includes the server name, convert_task_markdown uses snake_case with a descriptive verb_noun pattern, and health is a simple noun. While readable, there's inconsistency in structure and verb usage across the set.
Three tools is reasonable for this enhanced code assistant server, though slightly minimal. The claude_code tool is comprehensive, covering multiple domains, while the other two provide essential supporting functions. A few more specialized tools might improve granularity, but the current count works.
The tool surface covers core code assistant workflows well through the comprehensive claude_code tool, with supporting tools for task conversion and health checks. Minor gaps exist in specialized operations like dedicated Git branch management or isolated terminal command execution, but agents can work around these using the versatile claude_code tool.
Maintenance
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Augments MCP Server - A comprehensive framework documentation provider for Claude Code
MCP server for building and testing AI agents with multi-model experimentation and insights.
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables Claude to manage software development projects with complete context awareness and code execution through Docker environments.11 npm4-
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol (MCP) server that allows Claude AI to interact with custom tools, enabling extension of Claude's capabilities through the MCP framework.-
- AlicenseNot gradedqualityFmaintenanceAn enhanced Model Context Protocol server that enables Claude to seamlessly collaborate with multiple AI models (Gemini, OpenAI, local models) for code analysis and development tasks, maintaining context across conversations.55 npm54Apache 2.0
- FlicenseNot gradedqualityDmaintenanceA customizable Model Context Protocol server built with mcp-framework that enables Claude to access external tools and capabilities through a standardized interface.55 npm-