Skip to main content
Glama
MrGNSS

Desktop Commander MCP

by MrGNSS

デスクトップコマンダーMCP

デスクトップコマンダーMCP

npmダウンロード 鍛冶屋のバッジ コーヒーを買ってください 不和

短いバージョン。重要な点が2つあります。ターミナルコマンドと、diffベースのファイル編集です。

目次

これは、Claude デスクトップ アプリがコンピューター上で長時間実行されるターミナル コマンドを実行し、モデル コンテキスト プロトコル (MCP) を通じてプロセスを管理できるようにするサーバーです。MCPファイルシステム サーバー上に構築され、追加の検索および置換ファイル編集機能を提供します。

Related MCP server: MCP Tools

特徴

  • 出力ストリーミングでターミナルコマンドを実行する

  • コマンドタイムアウトとバックグラウンド実行のサポート

  • プロセス管理(プロセスの一覧表示と終了)

  • 長時間実行コマンドのセッション管理

  • 完全なファイルシステム操作:

    • ファイルの読み取り/書き込み

    • ディレクトリの作成/一覧表示

    • ファイル/ディレクトリを移動する

    • ファイルを検索

    • ファイルのメタデータを取得する

    • コード編集機能:

    • 小さな変更のための外科的テキスト置換

    • 大きな変更があった場合はファイル全体を書き換える

    • 複数ファイルのサポート

    • パターンベースの置換

インストール

まず、 Claude デスクトップ アプリをダウンロードしてインストールし、 npm がインストールされていることを確認します。

オプション1: Smithery経由でインストールする

Smithery経由で Claude Desktop 用の Desktop Commander を自動的にインストールするには:

npx -y @smithery/cli install @wonderwhy-er/desktop-commander --client claude

オプション2: npx経由でインストールする

ターミナルでこれを実行するだけです

npx @wonderwhy-er/desktop-commander setup

実行中の場合はClaudeを再起動します

オプション3: claude_desktop_configに手動で追加する

次のエントリを claude_desktop_config.json (Mac の場合は ~/Library/Application\ Support/Claude/claude_desktop_config.json にあります) に追加します。

{
  "mcpServers": {
    "desktop-commander": {
      "command": "npx",
      "args": [
        "-y",
        "@wonderwhy-er/desktop-commander"
      ]
    }
  }
}

実行中の場合はClaudeを再起動します

オプション4: 現地でチェックアウト

  1. クローンとビルド:

git clone https://github.com/wonderwhy-er/ClaudeComputerCommander.git
cd ClaudeComputerCommander
npm run setup

実行中の場合はClaudeを再起動します

セットアップ コマンドは次の処理を実行します。

  • 依存関係をインストールする

  • サーバーを構築する

  • Claudeのデスクトップアプリを構成する

  • 必要に応じて、Claude の設定に MCP サーバーを追加します。

使用法

サーバーは次のツール カテゴリを提供します。

ターミナルツール

  • execute_command : 設定可能なタイムアウトでコマンドを実行する

  • read_output : 長時間実行コマンドからの出力を取得する

  • force_terminate : 実行中のコマンドセッションを停止する

  • list_sessions : アクティブなコマンドセッションを表示する

  • list_processes : システムプロセスを表示する

  • kill_process : PIDでプロセスを終了する

  • block_command / unblock_command : コマンドブラックリストを管理する

ファイルシステムツール

  • read_file / write_file : ファイル操作

  • create_directory / list_directory : ディレクトリ管理

  • move_file : ファイルの移動/名前変更

  • search_files : パターンベースのファイル検索

  • get_file_info : ファイルのメタデータ

編集ツール

  • edit_block : 外科的なテキスト置換を適用する(ファイルサイズの 20% 未満の変更に最適)

  • write_file : ファイルの完全な書き換え (20% を超える大きな変更や edit_block が失敗した場合に最適)

検索/置換ブロック形式:

filepath.ext
<<<<<<< SEARCH
existing code to replace
=======
new code to insert
>>>>>>> REPLACE

例:

src/main.js
<<<<<<< SEARCH
console.log("old message");
=======
console.log("new message");
>>>>>>> REPLACE

長時間実行されるコマンドの処理

時間がかかる可能性があるコマンドの場合:

  1. execute_commandタイムアウト後に初期出力で戻ります

  2. コマンドはバックグラウンドで継続されます

  3. 新しい出力を取得するには、PID を指定したread_output使用します。

  4. 必要に応じてforce_terminateを使用して停止します

モデルコンテキストプロトコル統合

このプロジェクトは、MCP ファイルシステム サーバーを拡張して次の機能を実現します。

  • Claude Desktop のローカルサーバーのサポート

  • 完全なシステムコマンド実行

  • プロセス管理

  • ファイル操作

  • 検索/置換ブロックを使ったコード編集

Claude MCP の探索の一環として作成されました: https://youtube.com/live/TlbjFDbl5Us

進行中の作業とTODO

現在、以下の機能が開発中または計画中です。

  • より優れたコード検索(進行中) - コンテキストに応じた結果によるコード探索の強化

  • より良い設定(進行中) - 許可されたパス、コマンド、シェル環境の設定が改善されました

  • Windows 環境の修正(進行中) - Windows プラットフォーム固有の問題を解決します

  • Linux の改善(進行中) - さまざまな Linux ディストリビューションとの互換性を強化

  • WSL (Windows Subsystem for Linux 統合) のサポート

  • SSHのサポート- リモートサーバーコマンド実行

  • インストールのトラブルシューティングガイド- セットアップの問題に関する包括的なヘルプ

メディア

以下のリソースを通じてこのプロジェクトの詳細を学んでください。

記事

MCPを搭載したClaudeがCursorとWindsurfに取って代わりました。これはどのようにして実現したのでしょうか? - モデルコンテキストプロトコル機能を備えたClaudeが開発者のワークフローにどのような変化をもたらしているかを詳細に検証します。

ビデオ

Claude Desktop Commander ビデオ チュートリアル- Commander を効果的にセットアップして使用する方法をご覧ください。

コミュニティ

サポートを受けたり、フィードバックを共有したり、他のユーザーとつながったりするには、 Discord サーバーに参加してください。

お客様の声

本当に助かります!Claude + Cursorを併用していますが、いつも重複しているように感じていました。これでようやく問題が解決しました。本当に嬉しいです。本当にありがとうございます。さらに、Claudeは本日Web検索のサポートを追加しました。このMCP + インターネット検索機能により、最新のアップデートでコードが生成されます。Cursorが時々機能しなかったり、高速なリクエストばかりが使われてしまうような時にとても助かります。 https://www.youtube.com/watch?v=ly3bed99Dy8\&lc=UgyyBt6\_ShdDX\_rIOad4AaABAg

これは私がYouTube動画に残した最初のコメントです。ありがとうございます!カーソル内の古いFlutterアプリを、nullセーフ以前の古いバージョンから現在のバージョンにアップデートするのに苦労し、Claude 3.7を使用してnullセーフを実装しました。ほとんどはできましたが、重大なBLEエラーが発生し、解決に何日も費やしましたがうまくいきませんでした。Augment Codeを試しましたが、それでも解決しませんでした。ClaudeデスクトップにMCPを実装し、コードの更新を考慮して新旧のコードベースを完全に比較し、数時間で問題を修正することができました。これを試している方へのアドバイスは、変更をステージングして適切なタイミングでコミットし、不要な変更を元に戻せるようにすることです。素晴らしい! https://www.youtube.com/watch?v=ly3bed99Dy8\&lc=UgztdHvDMqTb9jiqnf54AaABAg

素晴らしい!1週間前にライセンスを購入したWindsurfを、古いフルスタックソケットプロジェクトのアップグレードに使用しました。多くの場合は正常に動作するのですが、カスケードで失敗することが多々あり、変更をすべて元に戻す必要があり、数百のカスケードトークンを失いました。わずか1週間でトークンが100未満になり、たった10ドルで300トークンしか買いたくありません。これはClaude MCPですが、Claude Proをようやく必要になったので購入しました。ChatGPTに加えて、トークンコストを気にせず好きなだけコーディングできます。 また、これは単なるコード編集以上のものです。素晴らしい動画をありがとうございます! https://www.youtube.com/watch?v=ly3bed99Dy8\&lc=UgyQFTmYLJ4VBwIlmql4AaABAg

これは素晴らしいツールです。ありがとうございます。このツールを使うと、Claude は外科的な編集を行う能力を獲得し、人間の開発者のように作業を進めることができるので、私はこれを使うのが好きです。 https://www.youtube.com/watch?v=ly3bed99Dy8\&lc=Ugy4-exy166\_Ma7TH-h4AaABAg

あなたは私のヒーローです。最近の私の経験を、私が説明するよりもずっと分かりやすくまとめてくれました。CursorとWindsurfはどちらも、コンピューターの画面に向かって叫びたくなるほどイライラさせられました。ふと思いついて、Claudeに直接聞いてみようかと思い立ち、それ以来、迷うことなく相談しています。 まずはClaudeに相談して正気を保ち、必要であれば他のIDEやフレームワークなども試してみようと思っています。私だけかと思っていましたが、そうでなくて良かったです(笑)。 33 1 https://medium.com/@pharmx/you-sir-are-my-hero-62cff5836a3e

貢献

このプロジェクトが役に立ったと感じたら、GitHubで⭐星を付けていただけると嬉しいです!これにより、他の人がこのプロジェクトを見つけやすくなり、さらなる開発が促進されます。

コミュニティからの貢献を歓迎します!バグを見つけた場合、機能のリクエストがある場合、またはコードに貢献したい場合は、以下の方法でご協力ください。

  • バグを発見しましたか? github.com/wonderwhy-er/ClaudeComputerCommander/issuesで問題を報告してください。

  • **機能に関するアイデアをお持ちですか?**問題セクションから機能リクエストを送信してください。

  • **コードを投稿したいですか?**リポジトリをフォークしてブランチを作成し、プルリクエストを送信してください。

  • 質問や議論はありますか? GitHubのディスカッションタブで議論を始めてください。

規模の大小を問わず、すべての貢献を大歓迎します。

このツールがワークフローにとって価値があると思われる場合は、プロジェクトのサポートを検討してください。

ライセンス

マサチューセッツ工科大学

Available Tools

19 tools
block_commandB

Add a command to the blacklist. Once blocked, the command cannot be executed until unblocked.

ParametersJSON Schema
NameRequiredDescriptionDefault
commandYes

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses the effect ('cannot be executed until unblocked') and mentions persistence ('Once blocked'), but omits critical behavioral details such as permission requirements, whether the change is reversible only via 'unblock_command,' or any rate limits or side effects. This is inadequate for a mutation tool with zero annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with zero waste: the first states the action and resource, and the second explains the consequence. It is front-loaded and appropriately sized, earning its place efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of a mutation tool with no annotations, no output schema, and low schema coverage, the description is incomplete. It covers the basic purpose and effect but lacks details on permissions, error handling, return values, or integration with siblings like 'list_blocked_commands,' making it insufficient for safe and effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 1 parameter with 0% description coverage, so the description must compensate. It adds meaning by specifying that the parameter is a 'command' to be added to the blacklist, which clarifies the parameter's role beyond the schema's type. However, it doesn't detail the command format, examples, or constraints, leaving gaps in understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Add a command to the blacklist') and the resource ('command'), making the purpose evident. However, it doesn't explicitly differentiate from its sibling 'unblock_command' beyond the opposite action, missing a direct comparison that would warrant a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage by stating 'Once blocked, the command cannot be executed until unblocked,' which suggests when to use it (to prevent command execution). However, it lacks explicit guidance on when to choose this over alternatives like 'edit_block' or 'list_blocked_commands,' and doesn't mention prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_directoryA

Create a new directory or ensure a directory exists. Can create multiple nested directories in one operation. Only works within allowed directories.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It mentions 'Only works within allowed directories' (a constraint) and 'Can create multiple nested directories' (a capability), but doesn't disclose critical behavioral traits like permissions needed, whether it overwrites existing directories, error handling, or response format. For a mutation tool with zero annotation coverage, 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, each adding value: first states purpose, second adds capability (nested directories), third adds constraint (allowed directories). No wasted words, front-loaded with core functionality.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given complexity (mutation tool creating directories), no annotations, no output schema, and low schema coverage (0%), the description is incomplete. It lacks details on permissions, error cases, return values, or how 'ensure exists' differs from 'create'. Should provide more context for safe usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It implies the 'path' parameter is used for creating directories, including nested ones, but doesn't specify format (e.g., absolute/relative paths), constraints, or examples. The description adds some meaning but doesn't fully compensate for the coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('create' or 'ensure exists') and resource ('directory'), with specific details about creating nested directories in one operation. It distinguishes from siblings like 'list_directory' (read-only) and 'move_file' (different operation).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context with 'Only works within allowed directories', which implies a constraint but doesn't explicitly state when to use alternatives (e.g., no comparison to 'list_allowed_directories' for checking permissions). It lacks explicit exclusions or named alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

edit_blockA

Apply surgical text replacements to files. Best for small changes (<20% of file size). Multiple blocks can be used for separate changes. Will verify changes after application. Format: filepath, then <<<<<<< SEARCH, content to find, =======, new content, >>>>>>> REPLACE.

ParametersJSON Schema
NameRequiredDescriptionDefault
blockContentYes

TDQS

A4.6/5.0
Behavior4/5

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 effectively describes key traits: it's a mutation tool (implied by 'apply replacements'), includes verification ('will verify changes after application'), and has constraints on change size. However, it doesn't mention error handling, permissions, or rate limits, leaving some gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose and efficiently structured into three sentences that each add value: purpose, guidelines, and format. There is no wasted text, making it highly concise and well-organized.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of a mutation tool with no annotations or output schema, the description is largely complete: it covers purpose, usage, behavior, and parameter semantics. However, it lacks details on error cases, return values, or edge cases, which could be helpful for full contextual understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage for the single parameter 'blockContent', but the description compensates by explaining the parameter's format and semantics in detail ('Format: filepath, then <<<<<<< SEARCH...'). This adds significant meaning beyond the schema, though it doesn't explicitly name the parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with specific verbs ('apply surgical text replacements') and resource ('files'), distinguishing it from siblings like write_file or search_files. It specifies the scope ('small changes <20% of file size') and method ('multiple blocks for separate changes'), making it highly specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance on when to use this tool ('best for small changes <20% of file size') and implies alternatives by contrasting with other file operations like write_file. It also specifies the format and structure for usage, offering clear context for application.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

execute_commandB

Execute a terminal command with timeout. Command will continue running in background if it doesn't complete within timeout.

ParametersJSON Schema
NameRequiredDescriptionDefault
commandYes
timeout_msNo

TDQS

B3/5.0
Behavior3/5

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 adds valuable context about timeout handling and background execution, which aren't obvious from the schema. However, it lacks details on permissions, side effects, error handling, or output format, leaving significant gaps for a tool that executes commands.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise—two sentences that directly state the tool's function and a key behavioral trait. Every word serves a purpose, with no redundant information, making it efficiently front-loaded and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (executing terminal commands), lack of annotations, no output schema, and low schema coverage, the description is incomplete. It misses critical details like security implications, error responses, or how results are returned, which are essential for safe and effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for undocumented parameters. It mentions 'timeout' but doesn't explain the 'timeout_ms' parameter's units or default behavior, and it doesn't clarify the 'command' parameter's scope or restrictions. The description adds minimal semantic value beyond the schema's structure.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Execute a terminal command with timeout.' It specifies the verb ('execute') and resource ('terminal command'), making the function unambiguous. However, it doesn't differentiate from sibling tools like 'block_command' or 'force_terminate', which prevents a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'block_command' for restricting commands or 'force_terminate' for stopping processes, nor does it specify prerequisites or exclusions. This leaves the agent without contextual usage cues.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

force_terminateC

Force terminate a running terminal session.

ParametersJSON Schema
NameRequiredDescriptionDefault
pidYes

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It states this is a 'force terminate' action which implies destructive behavior, but doesn't clarify permissions needed, side effects, or what happens to the terminal session. For a destructive tool with zero annotation coverage, 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with zero wasted words. It's appropriately sized for a simple tool and gets straight to the point without unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive tool with no annotations, no output schema, and 0% schema description coverage, the description is inadequate. It doesn't explain what 'force' means operationally, what permissions are required, what happens after termination, or how to identify the correct pid for a terminal session.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for the undocumented parameter. The description mentions terminating 'a running terminal session' but doesn't explain what 'pid' represents or how to obtain it. It adds minimal context beyond the schema's structural definition.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('force terminate') and resource ('a running terminal session'), making the purpose immediately understandable. It doesn't distinguish from sibling tools like 'kill_process' which might serve a similar function, so it doesn't reach the highest score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like 'kill_process' or other process management tools. The description only states what it does, not when it's appropriate or what distinguishes it from siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_file_infoA

Retrieve detailed metadata about a file or directory including size, creation time, last modified time, permissions, and type. Only works within allowed directories.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

TDQS

A4.1/5.0
Behavior3/5

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 the directory restriction ('Only works within allowed directories'), which is useful behavioral context. However, it lacks details on error handling, permissions needed, rate limits, or response format, leaving gaps for a read operation with no output schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose in the first clause, followed by specific attributes and a constraint. Every sentence earns its place with no redundancy, making it efficient and well-structured for quick understanding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description is moderately complete. It covers the purpose, attributes, and a key constraint, but lacks details on return values, error cases, or behavioral nuances. For a tool with 1 parameter and no structured output, it meets minimum viability but has clear gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 1 parameter with 0% description coverage, so the description must compensate. It implies the 'path' parameter is used to specify the file or directory for metadata retrieval, adding meaning beyond the bare schema. However, it does not detail path format, examples, or constraints like absolute vs. relative paths.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Retrieve detailed metadata') and resource ('about a file or directory'), listing concrete attributes like size, creation time, and permissions. It distinguishes from siblings like list_directory (which lists contents) or read_file (which reads file content), making the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context with 'Only works within allowed directories,' indicating a constraint. However, it does not explicitly state when to use this tool versus alternatives like list_directory (for listing) or search_files (for finding), nor does it mention prerequisites or exclusions beyond the directory restriction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kill_processA

Terminate a running process by PID. Use with caution as this will forcefully terminate the specified process.

ParametersJSON Schema
NameRequiredDescriptionDefault
pidYes

TDQS

A3.9/5.0
Behavior3/5

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 effectively conveys that this is a destructive action ('forcefully terminate') and requires caution, which is crucial for a mutation tool. However, it misses details like permission requirements, system impact, or error handling, leaving some behavioral aspects unclear.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized with two sentences that are front-loaded: the first states the purpose, and the second adds crucial caution. Every sentence earns its place by providing essential information without waste, making it efficient and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (destructive mutation), lack of annotations, no output schema, and low schema coverage, the description is somewhat complete but has gaps. It covers the core action and caution, but misses details like return values, error cases, or prerequisites, making it adequate but not fully comprehensive for safe use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 0%, with 1 parameter (pid) undocumented in the schema. The description adds meaning by specifying that the pid is used to identify the process to terminate, which clarifies the parameter's role. However, it doesn't provide format details (e.g., integer type, valid ranges), so it partially compensates but not fully.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('terminate'), target resource ('a running process'), and method ('by PID'), making the purpose explicit. It distinguishes this tool from siblings like 'force_terminate' by specifying the PID-based approach, though the distinction could be more explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context with 'Use with caution as this will forcefully terminate the specified process,' indicating when to be careful. However, it lacks explicit guidance on when to use this versus alternatives like 'force_terminate' or other process-related tools, which would improve the score.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_allowed_directoriesB

Returns the list of directories that this server is allowed to access.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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 states the tool returns a list, implying a read-only operation, but doesn't disclose behavioral traits such as permissions required, rate limits, error conditions, or format of the returned list. For a tool with zero annotation coverage, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with no wasted words. It's front-loaded with the core action and resource, making it easy to parse. Every part of the sentence contributes directly to understanding the tool's function.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no parameters and no output schema, the description adequately covers the basic purpose. However, it lacks details on return format, error handling, or server-specific context, which could be important for an agent to use it effectively. With no annotations, it's minimally complete but has room for improvement.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description doesn't add param info, which is appropriate. Baseline is 4 for zero parameters, as it avoids redundancy and focuses on the tool's purpose.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Returns') and resource ('list of directories'), specifying what the tool does. It distinguishes the scope ('that this server is allowed to access'), which adds clarity. However, it doesn't explicitly differentiate from sibling tools like 'list_directory', which might list directories without access restrictions, so it's not a perfect 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'list_directory' or 'search_files', nor does it specify prerequisites or contexts for usage. This leaves the agent without explicit direction on tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_blocked_commandsB

List all currently blocked commands.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. While 'List' implies a read-only operation, it doesn't specify whether this requires special permissions, how results are formatted, if there are rate limits, or what 'currently' means in terms of freshness. For a tool with zero annotation coverage, this is insufficient behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that communicates the core purpose without any wasted words. It's appropriately sized for a simple list operation and front-loads the essential information. Every word earns its place in this minimal description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with no parameters and no output schema, the description provides the basic purpose but lacks important context. Without annotations or output schema, the description should ideally mention what format the blocked commands are returned in or any limitations. It's minimally adequate but leaves the agent guessing about the response structure.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters with 100% schema description coverage, so the schema already fully documents the parameter situation. The description appropriately doesn't discuss parameters since none exist. The baseline for zero parameters with full schema coverage is 4, as there's no parameter information needed beyond what's already structured.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('List') and resource ('blocked commands'), making the purpose immediately understandable. It specifies 'all currently blocked commands' which adds useful scope information. However, it doesn't explicitly differentiate from sibling tools like 'unblock_command' or 'block_command'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. There's no mention of when this tool is appropriate versus 'list_allowed_directories' or 'list_sessions', nor any prerequisites or context for usage. The agent must infer usage from the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_directoryA

Get a detailed listing of all files and directories in a specified path. Results distinguish between files and directories with [FILE] and [DIR] prefixes. Only works within allowed directories.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden and does well by disclosing key behavioral traits: it's a read operation (implied by 'Get'), distinguishes file types with prefixes, and has access restrictions ('Only works within allowed directories'). It lacks details on error handling or output format, but covers essential safety and scope aspects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose in the first sentence, followed by additional details in two more sentences, each adding value without waste. It efficiently conveys necessary information in a compact form.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (listing files with access restrictions), no annotations, no output schema, and low schema coverage, the description is fairly complete by covering purpose, usage constraints, and behavioral traits. It could improve by detailing output structure or error cases, but it provides enough context for basic use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage for the single parameter 'path,' but the description adds meaning by specifying it as 'a specified path' and implying it must be within allowed directories. This compensates partially, but without details on path format or examples, it meets the baseline for minimal parameter info.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with specific verbs ('Get a detailed listing') and resources ('files and directories in a specified path'), and distinguishes it from siblings by specifying it lists contents rather than creating, editing, or moving files. The mention of distinguishing between files and directories with prefixes adds further specificity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for usage with 'Only works within allowed directories,' which implicitly suggests using list_allowed_directories first. However, it does not explicitly state when not to use this tool or name alternatives like search_files for filtered searches, leaving some guidance gaps.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_processesA

List all running processes. Returns process information including PID, command name, CPU usage, and memory usage.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses that the tool returns process information (PID, command name, CPU usage, memory usage), which is useful behavioral context. However, it doesn't mention potential limitations like refresh rate, system impact, or permission requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with zero waste: the first states the action and scope, the second specifies the return format. It's appropriately sized and front-loaded with essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (0 parameters, no output schema, no annotations), the description is reasonably complete. It explains what the tool does and what information it returns. For a read-only listing tool, this covers the essentials, though adding context about system-specific behavior could improve it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has 0 parameters with 100% schema description coverage, so the schema already fully documents the inputs. The description appropriately doesn't add parameter details, maintaining focus on the tool's purpose and output.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('List') and resource ('all running processes'), specifying what the tool does. It distinguishes from siblings like kill_process or force_terminate by focusing on listing rather than modifying processes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for viewing running processes but doesn't explicitly state when to use this tool versus alternatives like list_sessions or list_directory. No guidance on prerequisites or exclusions is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_sessionsB

List all active terminal sessions.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It states it lists 'active' sessions, implying a read-only operation, but doesn't specify what 'active' means, whether it requires permissions, how results are formatted, or if there are rate limits. This leaves significant gaps for a tool with zero annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is appropriately sized and front-loaded, with every word earning its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

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) and no annotations, the description is minimally adequate. It specifies the resource ('active terminal sessions'), but lacks details on behavior, output format, or usage context, leaving room for improvement in completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has 0 parameters with 100% schema description coverage, so the schema fully documents the absence of inputs. The description adds no parameter information, but with no parameters, the baseline is 4 as it doesn't need to compensate for gaps.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'List' and the resource 'active terminal sessions', providing a specific action and target. However, it doesn't differentiate from sibling tools like 'list_processes' or 'list_directory' beyond the resource type, missing explicit sibling distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'list_processes' or 'list_directory'. It lacks context about prerequisites, exclusions, or specific scenarios where listing sessions is preferred over other listing tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

move_fileA

Move or rename files and directories. Can move files between directories and rename them in a single operation. Both source and destination must be within allowed directories.

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceYes
destinationYes

TDQS

A4.1/5.0
Behavior3/5

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 correctly indicates this is a mutation operation (move/rename) and adds important context about the 'allowed directories' constraint. However, it doesn't disclose other behavioral aspects like error conditions, permission requirements, or whether the operation is atomic/reversible.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is perfectly concise with three focused sentences: first states the core functionality, second elaborates on capabilities, third provides critical constraint. Every sentence adds essential information with zero wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no annotations and no output schema, the description provides adequate basic information about what the tool does and key constraints. However, it lacks details about return values, error conditions, and more specific behavioral expectations that would be helpful for an AI agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage for the 2 parameters, the description compensates well by explaining what 'source' and 'destination' represent in the context of moving/renaming operations. It clarifies that both parameters are file/directory paths and establishes their relationship (source → destination).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with specific verbs ('move or rename') and resources ('files and directories'), distinguishing it from siblings like create_directory (creation only) or write_file (content modification). It explicitly mentions the dual functionality of moving between directories and renaming in one operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context about when to use this tool ('move or rename files and directories') and includes an important constraint ('Both source and destination must be within allowed directories'). However, it doesn't explicitly state when NOT to use it or name specific alternatives among the sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

read_fileA

Read the complete contents of a file from the file system. Handles various text encodings and provides detailed error messages if the file cannot be read. Only works within allowed directories.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

TDQS

A4.4/5.0
Behavior4/5

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 adds valuable context beyond basic functionality: it handles various text encodings, provides detailed error messages, and has directory restrictions. This covers key behavioral traits like error handling and operational limits, though it could mention performance aspects like file size limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose in the first sentence, followed by additional behavioral details. Each sentence adds value: the first defines the action, the second covers encoding and errors, and the third states directory restrictions. There is no wasted text, making it efficient and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (single parameter, no output schema, no annotations), the description is mostly complete. It covers purpose, behavioral traits, and usage constraints. However, without an output schema, it does not describe return values (e.g., file content format), leaving a minor gap in completeness for the agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 1 parameter with 0% description coverage, so the description must compensate. It implies the 'path' parameter is for specifying the file to read, but does not detail format or examples. The description adds meaning by contextualizing the parameter's role in file reading, though more specifics on path syntax would enhance clarity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Read') and resource ('complete contents of a file from the file system'), distinguishing it from siblings like 'get_file_info' (metadata) and 'read_multiple_files' (batch operation). It specifies the scope of reading the complete contents, making the purpose explicit and differentiated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context with 'Only works within allowed directories,' indicating a usage constraint. However, it does not explicitly mention when to use this tool versus alternatives like 'read_multiple_files' for batch operations or 'get_file_info' for metadata, so it lacks explicit sibling differentiation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

read_multiple_filesA

Read the contents of multiple files simultaneously. Each file's content is returned with its path as a reference. Failed reads for individual files won't stop the entire operation. Only works within allowed directories.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathsYes

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden and does well by disclosing key behavioral traits: partial failure tolerance ('failed reads for individual files won't stop the entire operation'), directory restrictions, and output format ('each file's content is returned with its path'). It doesn't mention error handling details or performance characteristics.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences that are front-loaded with core functionality, followed by important behavioral details, and ending with constraints. Every sentence adds value with zero wasted words or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read operation with no annotations and no output schema, the description provides good coverage of purpose, behavior, and constraints. It could be more complete by specifying error response format or performance expectations, but covers the essentials well given the tool's moderate complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage for the single 'paths' parameter. The description adds some context by implying these are file paths and mentioning directory restrictions, but doesn't specify path format requirements, maximum array size, or other constraints beyond what's obvious from the parameter name.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with specific verbs ('read', 'return') and resource ('multiple files simultaneously'), distinguishing it from sibling 'read_file' which handles single files. It specifies the scope of operation and output format.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context about when to use this tool ('read multiple files simultaneously') and mentions constraints ('only works within allowed directories'), but doesn't explicitly contrast with alternatives like 'read_file' for single files or 'search_files' for finding files.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

read_outputC

Read new output from a running terminal session.

ParametersJSON Schema
NameRequiredDescriptionDefault
pidYes

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool reads 'new output' but doesn't clarify what 'new' means (e.g., since last read, real-time), whether it's a one-time or continuous operation, or any limitations like rate limits or permissions required. The description is minimal and lacks critical behavioral details for a tool interacting with running processes.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with zero wasted words. It's front-loaded with the core action and resource, making it easy to scan. Every word earns its place, achieving maximum efficiency without being overly terse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of interacting with running terminal sessions, no annotations, no output schema, and low parameter coverage, the description is incomplete. It doesn't explain what the tool returns (e.g., output text, error messages), how to handle multiple reads, or any side effects. For a tool with potential behavioral nuances, this minimal description is inadequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 1 parameter (pid) with 0% description coverage, meaning the schema provides no semantic information. The description adds no parameter details—it doesn't explain what 'pid' represents (e.g., process ID of the terminal session) or how to obtain it. This fails to compensate for the low schema coverage, leaving the parameter undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('read') and resource ('new output from a running terminal session'), making the purpose understandable. However, it doesn't distinguish this tool from sibling tools like 'read_file' or 'read_multiple_files', which also involve reading operations but from different sources. The description is specific but lacks sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., that a terminal session must be running), exclusions (e.g., not for reading old output), or comparisons to siblings like 'read_file' for file-based reading. Usage is implied by the name and description but not explicitly stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_filesC

Recursively search for files and directories matching a pattern. Searches through all subdirectories from the starting path. Only searches within allowed directories.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
patternYes

TDQS

C2.9/5.0
Behavior2/5

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 mentions recursion and allowed directory constraints, but lacks details on permissions, rate limits, error handling, or output format. For a search tool with zero annotation coverage, this leaves significant gaps in understanding its behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized with three sentences. It's front-loaded with the core purpose, followed by scope and constraints. Each sentence adds value without redundancy, though minor improvements in clarity could enhance structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (recursive search), no annotations, no output schema, and low schema coverage, the description is incomplete. It misses critical details like result format, error cases, performance implications, and how it differs from simpler listing tools, making it inadequate for full contextual understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It explains that 'path' is the starting point and 'pattern' is what to match, adding basic semantics. However, it doesn't clarify parameter formats (e.g., regex vs glob for pattern) or examples, leaving room for ambiguity despite covering both parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Recursively search for files and directories matching a pattern.' It specifies the verb (search), resource (files and directories), and scope (recursively). However, it doesn't explicitly differentiate from sibling tools like 'list_directory' or 'get_file_info', which prevents a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides minimal guidance: 'Only searches within allowed directories.' It implies a constraint but doesn't explain when to use this tool versus alternatives like 'list_directory' or 'read_file'. No explicit when/when-not instructions or sibling tool comparisons are included.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

unblock_commandB

Remove a command from the blacklist. Once unblocked, the command can be executed normally.

ParametersJSON Schema
NameRequiredDescriptionDefault
commandYes

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the action ('Remove') and outcome ('can be executed normally'), but lacks details on permissions required, whether the change is reversible, error handling (e.g., if command not in blacklist), or system effects. For a mutation tool with zero annotation coverage, 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences that are front-loaded and efficient, with no wasted words. Each sentence adds value: the first states the action, and the second explains the consequence. It is appropriately sized for the tool's complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's mutation nature (removing from a blacklist), no annotations, no output schema, and low parameter coverage, the description is incomplete. It lacks critical details like permissions, error cases, or return values, making it inadequate for safe and effective use by an AI agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 1 parameter with 0% description coverage, and the description does not add any information about the 'command' parameter (e.g., format, examples, or what constitutes a valid command). It fails to compensate for the low schema coverage, leaving the parameter's meaning unclear beyond its name.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Remove a command from the blacklist') and the resource ('a command'), distinguishing it from siblings like 'block_command' (which adds to blacklist) and 'list_blocked_commands' (which only reads). It also explains the outcome ('Once unblocked, the command can be executed normally'), making the purpose explicit and distinct.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when a command needs to be removed from a blacklist to allow execution, but it does not explicitly state when to use this tool versus alternatives (e.g., 'edit_block' might modify blacklist entries, or 'block_command' for adding). No exclusions or prerequisites are mentioned, leaving some ambiguity in context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

write_fileA

Completely replace file contents. Best for large changes (>20% of file) or when edit_block fails. Use with caution as it will overwrite existing files. Only works within allowed directories.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
contentYes

TDQS

A4.4/5.0
Behavior4/5

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 effectively communicates key behavioral traits: the destructive nature ('will overwrite existing files'), caution needed, and directory restrictions. However, it doesn't mention error conditions, response format, or performance characteristics that would be helpful for an agent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is efficiently structured with three sentences that each serve a distinct purpose: stating the core operation, providing usage guidelines, and specifying constraints. There's no wasted language, and the most critical information (the destructive nature) is front-loaded appropriately.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive file operation tool with no annotations and no output schema, the description does a good job covering the essential context: the overwrite behavior, usage scenarios, and directory restrictions. However, it doesn't mention what happens on success/failure or what the tool returns, which would be valuable for an agent invoking it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description doesn't provide any parameter-specific information beyond what's implied by the tool name. While it mentions 'path' and 'content' indirectly through context, it doesn't explain format requirements, constraints, or examples for either parameter. The baseline is 3 since the schema covers the parameters structurally.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with specific verbs ('Completely replace file contents') and distinguishes it from sibling tools ('when edit_block fails'). It explicitly identifies the resource (files) and the operation (overwrite/replace), making it easy to understand what this tool does differently from other file-related tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance on when to use this tool ('Best for large changes (>20% of file) or when edit_block fails') and when to use alternatives (edit_block). It also includes cautionary advice ('Use with caution') and constraints ('Only works within allowed directories'), giving clear context for appropriate usage.

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.

  1. 19 tool updates
    • First observedblock_command
    • First observedcreate_directory
    • First observededit_block
    • First observedexecute_command
    • First observedforce_terminate
    • First observedget_file_info
    • First observedkill_process
    • First observedlist_allowed_directories
    • First observedlist_blocked_commands
    • First observedlist_directory
    • First observedlist_processes
    • First observedlist_sessions
    • First observedmove_file
    • First observedread_file
    • First observedread_multiple_files
    • First observedread_output
    • First observedsearch_files
    • First observedunblock_command
    • First observedwrite_file

TDQS

A3.6/5.0

Scored across 19 tools

Disambiguation4/5

Most tools have distinct purposes, but some overlap exists between 'execute_command' and 'force_terminate'/'kill_process' in managing processes, and 'edit_block' and 'write_file' in file modification. However, descriptions clarify their specific use cases (e.g., 'edit_block' for small changes, 'write_file' for large replacements), reducing confusion.

Naming Consistency5/5

Tool names follow a consistent verb_noun pattern throughout, such as 'create_directory', 'list_directory', 'read_file', and 'move_file'. This uniformity makes the toolset predictable and easy for agents to navigate without naming conflicts.

Tool Count4/5

With 19 tools, the count is slightly high but reasonable for a desktop management server covering file operations, process control, and command execution. It provides comprehensive functionality without being overwhelmingly large, though it could be streamlined by merging some related tools.

Completeness5/5

The toolset offers complete coverage for desktop management, including CRUD operations for files and directories, process lifecycle management, command execution with safety features (blocking/unblocking), and session handling. No obvious gaps are present, supporting a wide range of agent workflows.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A custom Model Context Protocol server that gives Claude Desktop and other LLMs access to file system operations and command execution capabilities through standardized tool interfaces.
    23
    Apache 2.0
  • F
    license
    Not graded
    quality
    F
    maintenance
    A Model Context Protocol server that extends AI capabilities by providing file system access and management functionalities to Claude or other AI assistants.
    296 npm
    5
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    A server implementation for the Model Context Protocol (MCP) that allows Claude AI to execute commands through a command-line interface, enabling direct system interactions from within Claude.
    -