MCP PC Control Server
MCP PC 제어 서버
파일 작업, 디렉토리 관리, 명령 실행, 시스템 검사 및 프로세스 관리를 포함한 포괄적인 PC 제어 기능을 제공하는 강력한 Model Context Protocol (MCP) 서버입니다. AI 어시스턴트(Claude, GPT, Gemini 등)가 호스트 머신을 완벽하고 효율적으로 제어할 수 있도록 설계되었습니다.
기능
파일 작업
read_file - 적절한 인코딩으로 전체 파일 내용 읽기
read_file_lines - 파일에서 특정 범위의 줄 읽기 (대용량 파일에 효율적)
write_file - 새 파일 생성 또는 기존 파일 덮어쓰기
append_to_file - 덮어쓰지 않고 파일에 내용 추가
edit_file - diff 출력과 함께 정밀한 텍스트 기반 편집 수행
copy_file - 파일을 새 위치로 복사 (원본 유지)
delete_file - 파일 시스템에서 파일 제거
move_file - 파일 및 디렉토리 이동 또는 이름 변경
get_file_info - 상세 파일 메타데이터 가져오기 (크기, 타임스탬프, 권한, 읽기 가능 여부)
디렉토리 작업
create_directory - 디렉토리 생성 (중첩 생성 지원)
list_directory - 상세 정보와 함께 디렉토리 내용 나열
delete_directory - 디렉토리 및 해당 내용을 재귀적으로 삭제
search_files - 이름 패턴과 일치하는 파일을 재귀적으로 검색
콘텐츠 검색
search_in_files - 파일 내 텍스트 내용을 Grep과 유사하게 검색 (선택적 파일 패턴 필터링 및 대소문자 구분 안 함 모드 지원)
시스템 작업
execute_command - 선택적 작업 디렉토리 및 구성 가능한 타임아웃으로 셸 명령 실행
get_system_info - OS, CPU, 메모리, 가동 시간, 호스트 이름 및 네트워크 인터페이스 세부 정보 가져오기
list_processes - 선택적 이름 필터로 실행 중인 프로세스 나열
get_environment - 환경 변수 읽기 (하나 또는 전체)
Related MCP server: Enhanced File Operations MCP Server
설치
이 저장소를 복제하거나 다운로드합니다.
종속성을 설치합니다:
npm install프로젝트를 빌드합니다:
npm run build사용법
서버 실행
서버는 stdio를 통해 통신하며 MCP 클라이언트와 함께 사용하도록 설계되었습니다:
npm startClaude Desktop 설정
이 서버를 Claude Desktop 구성 파일에 추가합니다:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"pc-control": {
"command": "node",
"args": ["/absolute/path/to/first_mcp/build/index.js"]
}
}
}/absolute/path/to/first_mcp를 이 프로젝트 디렉토리의 실제 절대 경로로 바꿉니다.
다른 AI 클라이언트와의 설정
모든 MCP 호환 클라이언트(Claude, Cursor, Windsurf, Continue 등)는 동일한 stdio 전송 방식을 사용하여 이 서버에 연결할 수 있습니다. 클라이언트가 node를 사용하여 빌드된 build/index.js를 가리키도록 합니다.
npx를 사용한 예시 (대안)
{
"mcpServers": {
"pc-control": {
"command": "npx",
"args": ["-y", "mcp-pc-control-server"]
}
}
}사용 가능한 도구
read_file
{ path: string }read_file_lines
{
path: string,
start: number, // 1-based, inclusive
end?: number // 1-based, inclusive (omit to read to end)
}write_file
{ path: string, content: string }append_to_file
{ path: string, content: string }edit_file
{
path: string,
edits: [{ oldText: string, newText: string }]
}copy_file
{ source: string, destination: string }create_directory
{ path: string }list_directory
{ path: string }delete_file
{ path: string }delete_directory
{ path: string }move_file
{ source: string, destination: string }get_file_info
{ path: string }execute_command
{
command: string,
workingDirectory?: string,
timeout?: number // ms, default 30000
}search_files
{ path: string, pattern: string } // pattern supports * and **search_in_files
{
path: string,
query: string,
filePattern?: string, // e.g. "*.ts"
caseSensitive?: boolean // default false
}get_system_info
{} // no arguments requiredlist_processes
{ filter?: string } // optional substring filter on process nameget_environment
{ variable?: string } // omit to get all env vars보안 고려 사항
경고: 이 서버는 강력한 파일 시스템 및 명령 실행 기능을 제공합니다.
파일 액세스: 프로세스에 권한이 있는 모든 파일을 읽고, 쓰고, 삭제할 수 있습니다.
명령 실행: 임의의 셸 명령을 실행할 수 있습니다.
샌드박스 없음: 작업이 샌드박스 처리되거나 제한되지 않습니다.
권장 사항:
신뢰할 수 있는 MCP 클라이언트와만 사용하십시오.
필요한 최소한의 권한으로 실행하십시오.
execute_command및delete_directory도구 사용 시 주의하십시오.프로덕션 환경에서는 추가적인 액세스 제어를 구현하는 것을 고려하십시오.
민감한 환경에서는 모든 작업을 검토하십시오.
개발
빌드
npm run build감시 모드
npm run watch프로젝트 구조
.
├── src/
│ └── index.ts # Main server implementation
├── build/ # Compiled JavaScript (generated)
├── package.json
├── tsconfig.json
└── README.md라이선스
MIT
기여
기여를 환영합니다! 문제 제기나 풀 리퀘스트를 자유롭게 제출해 주세요.
문제 해결
Claude Desktop에 서버가 나타나지 않는 경우
claude_desktop_config.json의 경로가 절대 경로이며 올바른지 확인하십시오.빌드 디렉토리가 존재하고
index.js가 포함되어 있는지 확인하십시오.구성 변경 후 Claude Desktop을 다시 시작하십시오.
Claude Desktop 로그에서 오류를 확인하십시오.
권한 오류
서버 프로세스에 필요한 파일 시스템 권한이 있는지 확인하십시오.
Unix 시스템에서는
ls -la로 파일/디렉토리 권한을 확인하십시오.필요한 작업에 적절한 사용자 권한으로 실행하십시오.
명령 실행 문제
작업 디렉토리가 존재하고 액세스 가능한지 확인하십시오.
셸 명령이 운영 체제에 적합한지 확인하십시오.
오래 실행되는 명령의 경우
timeout매개변수를 늘리십시오.일부 명령은 특정 환경 변수가 필요할 수 있습니다.
Available Tools
11 toolscreate_directoryA
Create a new directory or ensure a directory exists. Can create multiple nested directories in one operation. If the directory already exists, this operation will succeed silently.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | The path of the directory to create |
TDQS
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 can create nested directories, succeeds silently if the directory exists, and performs a write operation. However, it lacks details on permissions, error conditions, or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose, followed by important behavioral details in two concise sentences. Every sentence earns its place by adding value without redundancy, making it efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (write operation with one parameter) and no annotations or output schema, the description is fairly complete: it covers purpose, behavior, and parameter implications. However, it could improve by addressing permissions or error handling for full contextual coverage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents the 'path' parameter. The description adds some context by implying the path can include nested directories, but does not provide additional syntax or format details beyond what the schema offers. Baseline 3 is appropriate as the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('create a new directory or ensure a directory exists') and resource ('directory'), distinguishing it from siblings like delete_directory or list_directory. It precisely defines the verb and scope of the operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context about when to use it ('create a new directory or ensure a directory exists') and its behavior with existing directories, but does not explicitly mention when not to use it or name alternative tools. It implies usage for directory creation needs without specifying alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_directoryA
Permanently delete a directory and all of its contents, including all files and subdirectories. This is a recursive operation that cannot be undone. Use with extreme caution.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | The path to the directory to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes key traits: the operation is permanent and irreversible ('cannot be undone'), recursive ('all of its contents, including all files and subdirectories'), and high-risk ('Use with extreme caution'). However, it doesn't mention potential errors (e.g., if the path doesn't exist), permissions required, or system-specific constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core action and scope in the first sentence, followed by critical warnings. Every sentence earns its place: the first defines the operation, the second emphasizes irreversibility, and the third advises caution. It's appropriately sized without redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's high complexity (destructive, recursive operation) and lack of annotations or output schema, the description does a good job covering essential context: purpose, scope, and risks. However, it could be more complete by mentioning error handling, permissions, or system limits, which are important for such a critical tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the 'path' parameter clearly documented. The description adds no additional parameter semantics beyond what the schema provides, such as path format examples or validation rules. Since schema coverage is high, the baseline score of 3 is appropriate, as the description doesn't compensate but also doesn't detract.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('permanently delete'), the target resource ('a directory and all of its contents'), and distinguishes it from sibling tools like 'delete_file' (which only deletes individual files) and 'create_directory' (which creates rather than deletes). The phrase 'recursive operation' further clarifies the scope beyond just the directory itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly provides usage guidance with 'Use with extreme caution' and 'cannot be undone,' indicating when to use this tool (for irreversible deletion) versus alternatives like 'delete_file' for single files or 'move_file' for relocation. It effectively warns against casual use, though it doesn't name specific alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_fileA
Permanently delete a file from the file system. This operation cannot be undone. The file is immediately removed from the storage device.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | The path to the file to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes key traits: the operation is permanent ('cannot be undone') and immediate ('immediately removed'), which are critical for a destructive action. It lacks details on error handling (e.g., if the file doesn't exist) or permissions required, but covers the core behavioral impact well.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose in the first sentence, followed by critical behavioral warnings. Both sentences earn their place by conveying essential information without redundancy, making it efficient and well-structured for quick comprehension.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive tool with no annotations and no output schema, the description is reasonably complete: it explains the action, permanence, and immediacy. It could improve by mentioning error cases or return values, but given the simplicity (one parameter, high schema coverage), it provides sufficient context for safe usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the parameter 'path' clearly documented in the schema. The description does not add any additional meaning or context about the parameter beyond what the schema provides (e.g., path format or constraints), so it meets the baseline for high schema coverage without extra value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('permanently delete') and resource ('a file from the file system'), distinguishing it from sibling tools like delete_directory (which targets directories) or move_file (which relocates rather than removes). The verb+resource combination is precise and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context through the warning 'cannot be undone,' suggesting it should be used cautiously for irreversible deletions. However, it does not explicitly state when to use this versus alternatives like move_file (for relocation) or edit_file (for modification), nor does it mention prerequisites like file existence or permissions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edit_fileA
Make line-based edits to a text file. Provide original lines and their replacements. Returns a git-style diff showing the changes made. Each edit replaces exact line sequences with new content.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | The path to the file to edit | |
| edits | Yes | Array of edit operations to apply |
TDQS
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 key behaviors: the tool performs mutations (edits), returns a git-style diff, and operates on exact line sequences. However, it lacks details on permissions needed, error handling (e.g., if lines don't match), or whether edits are atomic. The description doesn't contradict annotations (none exist).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose in the first sentence, followed by supporting details. Every sentence earns its place: the first states the action, the second explains parameters and output, and the third clarifies the edit mechanism. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (mutating files with structured edits), no annotations, and no output schema, the description is reasonably complete. It covers the purpose, parameter intent, and output format (git-style diff). However, it could benefit from more behavioral context like error cases or idempotency, especially since there's no output schema to describe the diff structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters (path and edits array with oldText/newText). The description adds some context by mentioning 'exact line sequences' and 'line-based edits,' which clarifies the semantics of oldText/newText, but doesn't provide additional syntax or format details beyond what the schema offers.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with specific verbs ('Make line-based edits') and resource ('to a text file'), and distinguishes it from siblings like write_file (which presumably creates/overwrites entire files) and read_file (which only reads). The phrase 'line-based edits' provides precise differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by specifying 'line-based edits' and 'exact line sequences,' suggesting this tool is for targeted modifications rather than full file rewrites. However, it doesn't explicitly state when to use alternatives like write_file for complete replacements or when not to use this tool (e.g., for binary files).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
execute_commandA
Execute shell commands on the system. SECURITY WARNING: This tool provides direct system access. Only use with trusted commands. Commands run with the same permissions as the MCP server process.
| Name | Required | Description | Default |
|---|---|---|---|
| command | Yes | The shell command to execute | |
| workingDirectory | No | The working directory for command execution (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden and does an excellent job disclosing critical behavioral traits: security implications ('direct system access'), permission context ('run with the same permissions as the MCP server process'), and trust requirements. It doesn't contradict any annotations since none exist, and provides substantial behavioral context beyond what the input schema offers.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is perfectly front-loaded with the core purpose, followed by critical warnings and context. Every sentence earns its place: the first states what it does, the second provides security warning, the third gives usage guidance, and the fourth explains permission context. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a high-risk tool with no annotations and no output schema, the description provides excellent contextual completeness regarding security, permissions, and usage constraints. It appropriately focuses on the critical behavioral aspects rather than trying to explain return values (which would be needed if there was an output schema). The only minor gap is not explicitly mentioning what happens with command output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, so both parameters are well-documented in the schema. The description doesn't add specific parameter semantics beyond what's in the schema (command execution and optional working directory). This meets the baseline expectation when schema coverage is complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('execute shell commands') and resource ('on the system'), distinguishing it from sibling tools like create_directory or edit_file which perform file operations rather than arbitrary command execution. It precisely defines what the tool does without being vague or tautological.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use this tool ('Only use with trusted commands') and strongly implies when not to use it (for untrusted commands). It distinguishes this tool from siblings by highlighting its direct system access nature, which is not present in file operation tools like list_directory or read_file.
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, modification time, access time, type, and permissions. This does not read file contents.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | The path to the file/directory |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses that this is a read-only operation that doesn't access file contents, which is helpful behavioral context. However, it doesn't mention error conditions (e.g., what happens if path doesn't exist), performance characteristics, or authentication requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with zero waste - first sentence states purpose and specific metadata attributes, second sentence provides crucial differentiation from sibling tools. Perfectly front-loaded with all essential information in minimal space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only metadata tool with 1 parameter and no output schema, the description is reasonably complete. It covers purpose, scope, and differentiation from siblings. However, without annotations or output schema, it could benefit from mentioning return format or error behavior for full completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with the single 'path' parameter fully documented in the schema. The description doesn't add any parameter-specific information beyond what the schema provides, such as path format examples or constraints. Baseline 3 is appropriate when schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific verb 'retrieve' and resource 'detailed metadata about a file or directory', listing specific metadata attributes (size, creation time, etc.). It explicitly distinguishes from sibling tools by stating 'This does not read file contents', differentiating it from read_file.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool (to get metadata without reading contents), but doesn't explicitly mention when not to use it or name specific alternatives. It implies usage vs. read_file but doesn't provide explicit exclusions or comparisons to other metadata-related tools.
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 include names, types (file/directory), sizes, and modification times. Useful for understanding directory structure and finding files.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | The path of the directory to list |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It describes the behavior (listing files/directories with specific metadata) and output format, but doesn't disclose important traits like whether it requires specific permissions, handles symbolic links, has pagination for large directories, or error conditions (e.g., invalid paths). The description adds value but leaves gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized (two sentences) and front-loaded with the core purpose. Every sentence earns its place: the first states what the tool does and what information it returns, the second provides usage context. Zero waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (directory listing with metadata), no annotations, and no output schema, the description is adequate but has clear gaps. It explains the purpose and output format well, but lacks details on behavioral traits (permissions, error handling, etc.) that would be needed for robust use. It's complete enough for basic understanding but not for full operational context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (the single parameter 'path' is fully documented in the schema as 'The path of the directory to list'), so the baseline is 3. The description adds no additional parameter semantics beyond what the schema already provides, but 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific verb ('Get a detailed listing') and resource ('files and directories in a specified path'), distinguishing it from siblings like 'search_files' (which filters) or 'get_file_info' (which gets metadata for a single file). It explicitly mentions what information is included in results.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool ('Useful for understanding directory structure and finding files'), which implicitly differentiates it from siblings like 'search_files' (which is for searching with criteria) or 'get_file_info' (which is for single files). However, it doesn't explicitly state when NOT to use it or name alternatives.
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. If the destination exists, the operation will fail.
| Name | Required | Description | Default |
|---|---|---|---|
| source | Yes | The current path of the file/directory | |
| destination | Yes | The new path for the file/directory |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes the core behavior (move/rename with failure on existing destination) but lacks details about permissions needed, whether the operation is atomic/reversible, error handling beyond the failure case, or what happens to file metadata. It provides basic behavioral context but could be more comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is perfectly concise with three sentences that each earn their place: first states the core functionality, second clarifies the dual operation capability, third provides critical behavioral constraint. No wasted words, and the most important information (failure condition) is appropriately positioned.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with 2 parameters, 100% schema coverage, but no annotations or output schema, the description provides good context about what the tool does and a key behavioral constraint. However, it could better address the mutation nature (e.g., mentioning it modifies the file system state) and provide more guidance about error scenarios or return values given the lack of output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, so both parameters (source and destination) are fully documented in the schema. The description doesn't add any additional parameter semantics beyond what the schema provides (e.g., path format examples, relative vs absolute paths, or special cases). The baseline of 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with specific verbs ('move or rename') and resources ('files and directories'), distinguishing it from siblings like create_directory, delete_file, or edit_file. 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool (moving/renaming files/directories) and includes an important exclusion ('If the destination exists, the operation will fail'). However, it doesn't explicitly mention alternatives like using edit_file for content changes or create_directory for new directories, which would be helpful for sibling differentiation.
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 returns the full file content. Use this to examine file contents before editing.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | The path to the file to read (absolute or relative) |
TDQS
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 key behavioral traits: it reads complete contents (not partial), handles various text encodings, and returns full file content. However, it doesn't mention error handling (e.g., for missing files or permissions) or 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.
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 context in a second sentence. Both sentences earn their place by providing essential information without redundancy, making it efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (one parameter, no output schema) and no annotations, the description is mostly complete. It covers purpose, usage, and key behaviors. However, it lacks details on error cases or return format specifics, which would be helpful for a read operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the 'path' parameter well-documented in the schema. The description doesn't add any meaningful parameter semantics beyond what the schema provides (e.g., it doesn't clarify path resolution or encoding specifics), so it meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Read') and resource ('complete contents of a file from the file system'). It distinguishes from siblings like get_file_info (metadata) and edit_file/write_file (modification) by focusing on content retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use this tool ('to examine file contents before editing'), which differentiates it from edit_file (for modifications) and get_file_info (for metadata). It also implies when not to use it (e.g., for file operations like moving or deleting).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_filesA
Recursively search for files matching a pattern in a directory. Supports wildcards (* and **) and returns matching file paths. Useful for finding files by name or extension.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | The directory to search in | |
| pattern | Yes | The pattern to match (e.g., '*.ts', '**/*.json') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes the recursive nature and wildcard support, but lacks details on permissions needed, error handling, or output format (e.g., pagination, sorting).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded, with two efficient sentences that directly convey the tool's functionality and use case without any wasted words or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (search with recursion and pattern matching), no annotations, and no output schema, the description is adequate but incomplete—it covers the core behavior but omits details like return format, error conditions, or performance considerations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, so the schema already documents both parameters fully. The description adds minimal value by mentioning wildcard examples ('*.ts', '**/*.json'), but does not provide additional syntax or format details beyond what the schema implies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('recursively search for files matching a pattern'), resource ('files'), and scope ('in a directory'), distinguishing it from siblings like list_directory (which lists without pattern matching) or get_file_info (which retrieves metadata for a specific file).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool ('useful for finding files by name or extension'), but does not explicitly state when not to use it or name alternatives among the siblings (e.g., list_directory for unfiltered listing).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
write_fileA
Create a new file or completely overwrite an existing file with new content. Use with caution as it will overwrite existing files without warning. Handles text content with proper encoding.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | The path where the file should be written | |
| content | Yes | The content to write to the file |
TDQS
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 critical behavioral traits: it's destructive ('overwrite existing files without warning'), handles text content with encoding, and implies mutation. It lacks details on permissions, error handling, or response format, but covers the core safety concern adequately.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose, followed by a warning and technical detail. Every sentence earns its place: the first defines the action, the second warns of risks, and the third adds encoding context. It's appropriately sized with zero waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (destructive write operation) and lack of annotations or output schema, the description is mostly complete: it covers purpose, risks, and content handling. It could improve by mentioning response format or error cases, but it provides sufficient context for safe use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters (path and content). The description adds no additional meaning beyond what the schema provides, such as path format examples or content constraints. Baseline 3 is appropriate as the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('create a new file or completely overwrite an existing file') and resource ('file'), distinguishing it from siblings like edit_file (partial updates) and read_file (read-only). It precisely defines the tool's scope and behavior.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context with 'Use with caution as it will overwrite existing files without warning,' indicating when to be careful. However, it does not explicitly mention alternatives like edit_file for partial updates or when to choose this over create_directory for directories, leaving some sibling differentiation implicit.
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.
11 tool updates
- First observed
create_directory - First observed
delete_directory - First observed
delete_file - First observed
edit_file - First observed
execute_command - First observed
get_file_info - First observed
list_directory - First observed
move_file - First observed
read_file - First observed
search_files - First observed
write_file
TDQS
Scored across 11 tools
Each tool has a clearly distinct purpose with no ambiguity: create_directory vs. delete_directory, read_file vs. edit_file vs. write_file, list_directory vs. search_files, etc. The descriptions reinforce unique roles, such as get_file_info for metadata only and execute_command for shell operations, preventing misselection.
All tool names follow a consistent verb_noun pattern using snake_case, such as create_directory, delete_file, and execute_command. This predictable naming scheme makes it easy for agents to understand and use the tools without confusion from mixed conventions.
With 11 tools, the server is well-scoped for PC control, covering essential file system operations (CRUD for files/directories), metadata retrieval, searching, and command execution. Each tool earns its place without being overwhelming or insufficient for the domain.
The tool set provides complete coverage for file system management: create, read, edit, write, delete, move, list, search, and get info for files and directories, plus execute_command for broader system control. There are no obvious gaps, enabling agents to handle full workflows without dead ends.
Maintenance
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Browse and manage files in your Moxt AI workspace from any MCP client.
Securely search and manage workspace context files for AI agents and teams.
Manage files and folders directly from your workspace. Read and write files, list directories, cre…
Related MCP Servers
- FlicenseDqualityDmaintenanceEnables AI models to perform file system operations (reading, creating, and listing files) on a local file system through a standardized Model Context Protocol interface.3-
- FlicenseNot gradedqualityCmaintenanceA comprehensive Model Context Protocol server that provides over 50 file and system management tools for AI models, including navigation, file operations, search, compression, and system information capabilities.-
- AlicenseAqualityDmaintenanceA comprehensive Model Context Protocol server that enables AI assistants to interact with and manage Windows systems, providing capabilities for file system operations, process management, system information retrieval, registry operations, service management, network diagnostics, and performance monitoring.717 npm5Apache 2.0
- FlicenseAqualityDmaintenanceEnables file management operations on the desktop including creating, reading, editing, moving, renaming, deleting, and listing files through the Model Context Protocol.6-