Skip to main content
Glama
MrGNSS

Desktop Commander MCP

by MrGNSS

데스크톱 커맨더 MCP

데스크톱 커맨더 MCP

npm 다운로드대장간 배지 나에게 커피 한 잔 사줘 불화

간략하게 설명하자면, 두 가지 핵심이 있습니다. 터미널 명령어와 diff 기반 파일 편집입니다.

목차

이 서버는 Claude 데스크톱 앱이 컴퓨터에서 장기 실행 터미널 명령을 실행하고 MCP(Model Context Protocol)를 통해 프로세스를 관리할 수 있도록 해줍니다. + MCP 파일 시스템 서버를 기반으로 구축되어 추가 검색 및 파일 편집 기능을 제공합니다.

Related MCP server: MCP Tools

특징

  • 출력 스트리밍으로 터미널 명령 실행

  • 명령 시간 초과 및 백그라운드 실행 지원

  • 프로세스 관리(프로세스 나열 및 종료)

  • 장기 실행 명령에 대한 세션 관리

  • 전체 파일 시스템 작업:

    • 파일 읽기/쓰기

    • 디렉토리 생성/나열

    • 파일/디렉토리 이동

    • 파일 검색

    • 파일 메타데이터 가져오기

    • 코드 편집 기능:

    • 작은 변경 사항에 대한 수술 텍스트 교체

    • 주요 변경 사항에 대한 전체 파일 다시 작성

    • 다중 파일 지원

    • 패턴 기반 교체

설치

먼저, Claude Desktop 앱을 다운로드하여 설치했고 npm도 설치 했는지 확인하세요.

옵션 1: Smithery를 통해 설치

Smithery를 통해 Claude Desktop용 Desktop Commander를 자동으로 설치하려면:

지엑스피1

옵션 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 지원 - Linux 통합을 위한 Windows 하위 시스템

  • SSH 지원 - 원격 서버 명령 실행

  • 설치 문제 해결 가이드 - 설치 문제에 대한 포괄적인 도움말

메디아

다음 리소스를 통해 이 프로젝트에 대해 자세히 알아보세요.

기사

MCP를 탑재한 Claude가 Cursor와 Windsurf를 대체했습니다. 어떻게 이런 일이 가능했을까요? - 모델 컨텍스트 프로토콜 기능을 탑재한 Claude가 개발자 워크플로우를 어떻게 변화시키고 있는지 자세히 살펴봅니다.

동영상

Claude Desktop Commander 비디오 튜토리얼 - Commander를 효과적으로 설정하고 사용하는 방법을 시청하세요.

지역 사회

도움을 받고, 피드백을 공유하고, 다른 사용자와 소통하려면 Discord 서버 에 가입하세요.

추천사

정말 구세주 같아요! 현재 Claude + Cursor를 구매했는데, 항상 중복되는 느낌이 들었어요. 이 기능이 결국 문제를 해결해 주네요. 정말 만족스러워요. 정말 감사합니다. 게다가 오늘 Claude가 웹 검색 기능을 추가했어요. 이 MCP + 인터넷 검색 기능을 사용하면 최신 업데이트로 코드를 작성할 수 있어요. Cursor가 가끔 작동하지 않거나 빠른 요청이 너무 많이 사용될 때 정말 유용해요. https://www.youtube.com/watch?v=ly3bed99Dy8\&lc=UgyyBt6\_ShdDX\_rIOad4AaABAg

유튜브 영상에 처음으로 댓글을 남깁니다. 감사합니다! Cursor에서 오래된 Flutter 앱을 null-safety 이전 버전에서 최신 버전으로 업데이트하는 데 어려움을 겪고 있었고 Claude 3.7을 사용하여 null-safety를 구현했습니다. 대부분 해결했지만 심각한 BLE 오류가 발생하여 며칠 동안 해결하려고 시도했지만 소용이 없었습니다. Augment Code를 사용해 보았지만 역시 해결되지 않았습니다. Claude 데스크톱에서 MCP를 구현하여 코드의 업데이트를 고려하여 이전 코드베이스와 새 코드베이스를 완전히 비교하고 몇 시간 만에 문제를 해결할 수 있었습니다. 이 작업을 시도하는 사람들에게 조언을 하나 드리겠습니다. 원치 않는 변경 사항을 취소할 수 있도록 변경 사항을 스테이징하고 적절한 시점에 커밋하세요. 놀랍습니다! https://www.youtube.com/watch?v=ly3bed99Dy8\&lc=UgztdHvDMqTb9jiqnf54AaABAg

훌륭해요! Windsurf를 방금 사용했는데, 일주일 전에 라이선스를 구매하고 기존 풀스택 소켓 프로젝트를 업그레이드했습니다. 여러 번 잘 작동하거나 괜찮았지만, 여러 번 캐스케이드에서 작동이 중단되어 모든 변경 사항을 되돌려야 했고, 수백 개의 캐스케이드 토큰을 잃었습니다. 일주일 만에 토큰이 100개도 안 되었는데, 10달러에 300개의 토큰만 사고 싶지는 않습니다. 이 Claude MCP는 마침내 필요했지만, ChatGPT 옆에 있는 Claude Pro를 구매한 아주 좋은 이유였습니다. 이제 토큰 비용 걱정 없이 원하는 만큼 코딩할 수 있습니다. 그리고 이건 단순한 코드 편집 이상의 의미가 있습니다. 훌륭한 영상 감사합니다! https://www.youtube.com/watch?v=ly3bed99Dy8\&lc=UgyQFTmYLJ4VBwIlmql4AaABAg

정말 좋은 도구네요. 고맙습니다. 사용하기 편리하고, 클로드가 외과적 편집을 할 수 있게 되어서 사람 개발자처럼 느껴집니다. 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 토론 탭에서 토론을 시작하세요.

크고 작음에 관계없이 모든 기여를 환영합니다!

이 도구가 귀하의 업무 흐름에 유용하다고 생각되면 이 프로젝트를 지원해 주시기 바랍니다.

특허

MIT

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.
    -