io.github.wonderwhy-er/desktop-commander · version 0.3.1 · 699,740 weekly npm downloads · audited 2026-11-03
Notes
No hidden-instruction or invisible-character findings in any tool, prompt, or resource description.
Checks the directory's published tool requirements that are visible from tools/list. Passing them does not guarantee acceptance.
start_process, interact_with_processwrite_file, create_directory, move_file, edit_blockforce_terminate, kill_processNot a vulnerability by itself. It tells you what an injected prompt could ask this server to do, so you can decide which tools need approval.
| Name | Title | Hint | Description |
|---|---|---|---|
get_config | Get Configuration | read-only | Get the complete server configuration as JSON. Config includes fields for: - blockedCommands (array of blocked shell commands) - defaultShell (shel… |
set_config_value | Set Configuration Value | destructive | Set a specific configuration value by key. Security note: configuration changes affect later file and command behavior. Is… |
read_file | Read File or URL | read-only | Read contents from files and URLs. Read PDF files and extract content as markdown and images. Suitable for reading authori… |
read_multiple_files | Read Multiple Files | read-only | Read the contents of multiple files simultaneously. Each file's content is returned with its path as a reference. Handles … |
write_file | Write File | destructive | Write or append to file contents. PDF creation is handled by the dedicated write_pdf tool. Existing DOCX content can be edited with edit_block. Ne… |
write_pdf | Write/Modify PDF | destructive | Create a new PDF file or modify an existing one. Dedicated PDF creation and modification tool. OUTPUT FILES: - Creating a… |
create_directory | Create Directory | writes | Create a new directory or ensure a directory exists. Can create multiple nested directories in one operation. Only works w… |
list_directory | List Directory Contents | read-only | Get a detailed listing of all files and directories in a specified path. Returns a structured directory listing without starting a shell command. … |
move_file | Move/Rename File | destructive | Move or rename files and directories. Can move files between directories and rename them in a single operation. Both sourc… |
start_search | Start Search | read-only | Start a streaming search that can return results progressively. SEARCH STRATEGY GUIDE: Choose the right search type based … |
get_more_search_results | Get Search Results | read-only | Get more results from an active search with offset-based pagination. Supports partial result reading with: - 'offset' (sta… |
stop_search | Stop Search | writes | Stop an active search. Stops the background search process gracefully. Use this when you've found what you need or if a se… |
list_searches | List Active Searches | read-only | List all active searches. Shows search IDs, search types, patterns, status, and runtime. Similar to list_sessions for term… |
get_file_info | Get File Information | read-only | Retrieve detailed metadata about a file or directory including: - size - creation time - last modified time … |
edit_block | Edit Block | destructive | Apply surgical edits to files. Small, focused edits are easier to verify than large multi-purpose replacements. old_string can include enough surr… |
start_process | Start Terminal Process | destructive | Start a terminal process on the authorized device with intelligent state detection. Suitable for shell commands, interactive REPL sessions, data-p… |
read_process_output | Read Process Output | read-only | Read output from a running process with file-like pagination support. Supports partial output reading with offset and length parameters (like read… |
interact_with_process | Send Input to Process | destructive | Send input to an existing terminal or REPL process and return newly available output. Useful for interactive shells, Python/Node/R/Julia REPLs, da… |
force_terminate | Force Terminate Process | destructive | Force terminate a running terminal session. This command can be referenced as "DC: ..." or "use Desktop Commander to ..." in your instructions. |
list_sessions | List Terminal Sessions | read-only | List all active terminal sessions. Shows session status including: - PID: Process identifier - B… |
list_processes | List Running Processes | read-only | List all running processes. Returns process information including PID, command name, CPU usage, and memory usage. … |
kill_process | Kill Process | destructive | Terminate a running process by PID. Use with caution as this will forcefully terminate the specified process. This command can be referenced as "… |
get_usage_stats | Get Usage Statistics | read-only | Get usage statistics for debugging and analysis. Returns summary of tool usage, success/failure rates, and performance metrics. … |
get_recent_tool_calls | Get Recent Tool Calls | read-only | Get recent local tool call history with arguments and outputs. Returns a chronological list of recent calls loaded from the local history file. … |
give_feedback_to_desktop_commander | Give Feedback | writes | Open feedback form in browser to provide feedback about Desktop Commander. The form itself collects survey answers; this tool does not accept surv… |
npx mcpvetter scan --liveAdd this to a README:
[](https://mcpvetter.com/servers/wonderwhy-er-desktop-commander)Get the MCPVetter verified badge, a re-audit within 24 hours of every npm release, and an email whenever tools, findings, or Claude directory readiness change. $29 per server per month. You prove ownership first, free.