aios-core
Version:
Synkra AIOS: AI-Orchestrated System for Full Stack Development - Core Framework
181 lines (154 loc) • 6 kB
YAML
tool:
schema_version: 1.0
id: desktop-commander
type: mcp
name: Desktop Commander
version: 1.0.0
description: Powerful file system operations, process management, and system command execution
knowledge_strategy: declarative
capabilities:
- Read and write files with intelligent chunking
- Search files and content using Grep-like patterns
- Execute shell commands and manage processes
- Directory listing and file metadata
- Move, copy, and delete files
- Process management and monitoring
use_cases:
- file_operations: "Read, write, edit files in the project"
- code_search: "Search for code patterns across files"
- command_execution: "Run npm scripts, git commands, build tools"
- process_monitoring: "Monitor running processes and resources"
- bulk_operations: "Batch file operations"
mcp_specific:
server_command: "npx -y @wonderwhy-er/desktop-commander"
transport: stdio
environment_variables: []
health_check:
method: tool_call
command: read_file
expected_response: "File content returned"
timeout_ms: 5000
tools:
- id: read_file
description: "Read file contents with optional offset and length"
parameters:
- path: "Absolute path to file"
- offset: "Start line (default: 0)"
- length: "Max lines to read (default: 1000)"
- isUrl: "Whether path is a URL (default: false)"
- id: write_file
description: "Write or append to file"
parameters:
- path: "Absolute path to file"
- content: "Content to write"
- mode: "Write mode: 'rewrite' or 'append' (default: 'rewrite')"
- id: read_multiple_files
description: "Read multiple files simultaneously"
parameters:
- paths: "Array of absolute file paths"
- id: list_directory
description: "List directory contents recursively"
parameters:
- path: "Directory path"
- depth: "Recursion depth (default: 2)"
- id: create_directory
description: "Create new directory"
parameters:
- path: "Directory path to create"
- id: move_file
description: "Move or rename files"
parameters:
- source: "Source file path"
- destination: "Destination path"
- id: get_file_info
description: "Get file metadata"
parameters:
- path: "File or directory path"
- id: edit_block
description: "Replace text in file surgically"
parameters:
- file_path: "File to edit"
- old_string: "Text to replace"
- new_string: "Replacement text"
- expected_replacements: "Number of expected matches (default: 1)"
- id: start_search
description: "Start streaming file/content search"
parameters:
- path: "Search root directory"
- pattern: "Search pattern"
- searchType: "Type: 'files' or 'content' (default: 'files')"
- filePattern: "Optional file filter (e.g., '*.js')"
- literalSearch: "Exact string matching (default: false)"
- id: get_more_search_results
description: "Get more results from active search"
parameters:
- sessionId: "Search session ID"
- offset: "Result offset (default: 0)"
- length: "Max results (default: 100)"
- id: stop_search
description: "Stop active search"
parameters:
- sessionId: "Search session ID"
- id: list_searches
description: "List all active searches"
parameters: []
- id: start_process
description: "Start terminal process with intelligent state detection"
parameters:
- command: "Command to execute"
- timeout_ms: "Max execution time"
- shell: "Optional shell (cmd, powershell, bash)"
- id: read_process_output
description: "Read output from running process"
parameters:
- pid: "Process ID"
- timeout_ms: "Optional timeout"
- id: interact_with_process
description: "Send input to running process"
parameters:
- pid: "Process ID"
- input: "Input to send"
- timeout_ms: "Optional timeout (default: 8000)"
- wait_for_prompt: "Wait for response (default: true)"
- id: force_terminate
description: "Force terminate process"
parameters:
- pid: "Process ID"
- id: list_sessions
description: "List all active terminal sessions"
parameters: []
- id: list_processes
description: "List all running processes"
parameters: []
- id: kill_process
description: "Terminate process by PID"
parameters:
- pid: "Process ID"
workflow:
typical_usage:
- step: 1
action: "Read project files to understand structure"
example: "read_file({ path: '/project/package.json' })"
- step: 2
action: "Search for specific code patterns"
example: "start_search({ path: '/project/src', pattern: 'function.*export', searchType: 'content' })"
- step: 3
action: "Execute build or test commands"
example: "start_process({ command: 'npm test', timeout_ms: 60000 })"
best_practices:
- "Always use absolute paths for file operations"
- "Use chunking for large file writes (25-30 lines per write)"
- "Prefer edit_block for surgical edits over full rewrites"
- "Use streaming search for large codebases"
- "Terminate processes when done to free resources"
- "Monitor process output for errors and failures"
security_considerations:
- "Validate user input before executing shell commands"
- "Be cautious with file deletions"
- "Avoid exposing sensitive file contents"
- "Check file permissions before operations"
limitations:
- "Requires file system access permissions"
- "Command execution limited by system security policies"
- "Process management may vary by operating system"
- "Some operations blocked by antivirus software"