DesktopCommanderMCP MCP Server
This is MCP server for Claude that gives it terminal control, file system search and diff file editing capabilities
DesktopCommanderMCP is an open-source mcp server by wonderwhy-er, written mainly in JavaScript, with 10,187 GitHub stars and the MIT license. Its code was last updated Oct 30, 2026.
Scan summary: scanned Nov 5, 2026 at commit edfc903. Seen able to run shell commands, read or write files, read environment and secrets, connect to the internet. Scan policy
edfc903 · Nov 5, 2026Findings (45)
- highHigh. Something risky that needs a close look before you install.dependencies issueDetails are available to the maintainer after claiming this listing.
- highHigh. Something risky that needs a close look before you install.network issueDetails are available to the maintainer after claiming this listing.
- mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.Runs shell commands. Fine for some tools, but it means the agent can run anything your user can.
scripts/build-mcpb.cjs:27 - mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.Runs shell commands. Fine for some tools, but it means the agent can run anything your user can.
scripts/build-mcpb.cjs:37 - mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.Runs shell commands. Fine for some tools, but it means the agent can run anything your user can.
scripts/build-mcpb.cjs:133 - mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.Runs shell commands. Fine for some tools, but it means the agent can run anything your user can.
scripts/build-mcpb.cjs:179 - mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.Runs shell commands. Fine for some tools, but it means the agent can run anything your user can.
scripts/build-mcpb.cjs:190 - mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.Runs shell commands. Fine for some tools, but it means the agent can run anything your user can.
scripts/download-all-ripgrep.cjs:131 - mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.Runs shell commands. Fine for some tools, but it means the agent can run anything your user can.
scripts/publish-release.cjs:61 - mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.Runs shell commands. Fine for some tools, but it means the agent can run anything your user can.
src/remote-device/diagnostics/report.ts:183 - mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.body-parser@2.3.0: 1 known vulnerabilityGHSA-27r3-jxmh-p828
package-lock.json - mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.brace-expansion@1.1.12: 7 known vulnerabilitiesGHSA-3jxr-9vmj-r5cp, GHSA-6j4f-fj2g-mc7p, GHSA-f886-m6hf-6m8v, GHSA-mh99-v99m-4gvg, GHSA-q2hr-2g5m-vwhr +2 more
package-lock.json - mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.browserslist@4.28.1: 2 known vulnerabilitiesGHSA-73wf-gq98-2v4g, GHSA-c83g-rgw3-j3cx
package-lock.json - mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.decode-uri-component@0.2.2: 2 known vulnerabilitiesGHSA-qr28-fpjm-wq7f, GHSA-vcc3-ghjq-m6fr
package-lock.json - mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.fflate@0.8.2: 1 known vulnerabilityGHSA-px8p-9vwx-vf98
package-lock.json - mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.form-data@4.0.5: 1 known vulnerabilityGHSA-hmw2-7cc7-3qxx
package-lock.json - mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.http-cache-semantics@3.8.1: 1 known vulnerabilityGHSA-rc47-6667-2j5j
package-lock.json - mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.lodash@4.17.21: 2 known vulnerabilitiesGHSA-r5fr-rjxr-66jc, GHSA-xxjr-mmjv-4gpg
package-lock.json - mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.markdown-it@14.3.2: 2 known vulnerabilitiesGHSA-gfr2-rv44-r23c, GHSA-vfgh-jcmw-g37q
package-lock.json - mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.minimatch@3.1.2: 3 known vulnerabilitiesGHSA-23c5-xmqv-rm74, GHSA-3ppc-4f35-3m26, GHSA-7r86-cg39-jmmj
package-lock.json - mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.node-forge@1.4.0: 12 known vulnerabilitiesGHSA-4487-j8r4-4g2f, GHSA-4642-5mcj-2rqw, GHSA-525v-9gp9-w22h, GHSA-5cwg-6vw7-rj6p, GHSA-5x38-2vff-x55p +7 more
package-lock.json - mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.serialize-javascript@6.0.2: 3 known vulnerabilitiesGHSA-5c6j-r48x-rmvq, GHSA-m5mm-p8h7-m29v, GHSA-qj8w-gfj5-8c6v
package-lock.json - mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.source-map-js@1.2.1: 1 known vulnerabilityGHSA-68fv-2mgg-jv7q
package-lock.json - mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.tmp@0.0.33: 2 known vulnerabilitiesGHSA-52f5-9888-hmc6, GHSA-ph9p-34f9-6g65
package-lock.json - mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.uuid@10.0.0: 1 known vulnerabilityGHSA-w5hq-g745-h8pq
package-lock.json - mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.uuid@8.3.2: 1 known vulnerabilityGHSA-w5hq-g745-h8pq
package-lock.json - mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.zod@3.25.76: 1 known vulnerabilityGHSA-mrhx-c7xc-m3w5
package-lock.json - mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.Install contacted hosts other than package registriesstorage.googleapis.com
- lowLow. Minor, or common in normal tools. Shown for information.Possible example credential in docs/tests: generic-api-key
test/test-remote-device-log.js:239 - lowLow. Minor, or common in normal tools. Shown for information.Possible example credential in docs/tests: generic-api-key
test/test-remote-stand-in.js:71 - lowLow. Minor, or common in normal tools. Shown for information.Possible example credential in docs/tests: jwt
test/test-redact.js:26 - lowLow. Minor, or common in normal tools. Shown for information.Possible example credential in docs/tests: generic-api-key
test/test-redact.js:62 - lowLow. Minor, or common in normal tools. Shown for information.baseline-browser-mapping@2.9.11: 1 known vulnerabilityGHSA-w5vr-8v7q-w6rv
package-lock.json - lowLow. Minor, or common in normal tools. Shown for information.diff@4.0.2: 1 known vulnerabilityGHSA-73rr-hh4g-fpgx
package-lock.json - lowLow. Minor, or common in normal tools. Shown for information.fast-uri@3.1.8: 4 known vulnerabilitiesGHSA-333x-w4r6-6crp, GHSA-w74x-v6f9-j3xg, GHSA-wjr9-j795-jxcr, GHSA-xhq7-xmqj-769h
package-lock.json - lowLow. Minor, or common in normal tools. Shown for information.glob@10.5.0: 1 known vulnerabilityGHSA-3g3m-2fjr-6pw4
package-lock.json - lowLow. Minor, or common in normal tools. Shown for information.glob@13.0.6: 1 known vulnerabilityGHSA-3g3m-2fjr-6pw4
package-lock.json - lowLow. Minor, or common in normal tools. Shown for information.got@8.3.2: 1 known vulnerabilityGHSA-pfrx-2q88-qq97
package-lock.json - lowLow. Minor, or common in normal tools. Shown for information.ip-address@10.7.3: 1 known vulnerabilityGHSA-rxp7-6hxx-x8q5
package-lock.json - lowLow. Minor, or common in normal tools. Shown for information.minimatch@10.2.6: 1 known vulnerabilityGHSA-g3hv-75wg-m249
package-lock.json - lowLow. Minor, or common in normal tools. Shown for information.minimatch@9.0.9: 1 known vulnerabilityGHSA-g3hv-75wg-m249
package-lock.json - lowLow. Minor, or common in normal tools. Shown for information.qs@6.16.0: 1 known vulnerabilityGHSA-6pq8-jhm2-2vcw
package-lock.json - lowLow. Minor, or common in normal tools. Shown for information.package.json has a postinstall scriptnode dist/track-installation.js && node dist/npm-scripts/verify-ripgrep.js || node -e "process.exit(0)"
package.json - lowLow. Minor, or common in normal tools. Shown for information.package.json has a prepare scriptnpm run build
package.json - lowLow. Minor, or common in normal tools. Shown for information.Reads environment variables not listed in the manifestTERM_PROGRAM, WT_SESSION, SHELL, TERM, PROMPT, WSL_DISTRO_NAME, WSLENV, _, CI, GITHUB_ACTIONS, TRAVIS, CIRCLECI, APPDATA, UV_THREADPOOL_SIZE, MCP_SERVER_URL
Network activity
Tools exposed (25)
get_configGet the complete server configuration as JSON. Config includes fields for: - blockedCommands (array of blocked shell commands) - defaultShell (shell to use for commands) - allowedDirectories (paths the s
set_config_valueSet a specific configuration value by key. Security note: configuration changes affect later file and command behavior. Isolating them from untrusted file or command content reduces the chance that exte
read_fileRead contents from files and URLs. Read PDF files and extract content as markdown and images. Suitable for reading authorized local files directly without starting a shell command.
read_multiple_filesRead the contents of multiple files simultaneously. Each file's content is returned with its path as a reference. Handles text files normally and renders images as viewable content.
write_fileWrite or append to file contents. PDF creation is handled by the dedicated write_pdf tool. Existing DOCX content can be edited with edit_block. New DOCX files can be created here; markdown headings (#, ##, ###) are converted t
write_pdfCreate a new PDF file or modify an existing one. Dedicated PDF creation and modification tool. OUTPUT FILES: - Creating a PDF requires 'outputPath' with a new filename (e.g., "result_01.pdf", "analysis
create_directoryCreate a new directory or ensure a directory exists. Can create multiple nested directories in one operation. Only works within allowed directories. Abso
list_directoryGet a detailed listing of all files and directories in a specified path. Returns a structured directory listing without starting a shell command. Results distinguish between files and directories with [
move_fileMove 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.
start_searchStart a streaming search that can return results progressively. SEARCH STRATEGY GUIDE: Choose the right search type based on what the user is looking for:
get_more_search_resultsGet more results from an active search with offset-based pagination. Supports partial result reading with: - 'offset' (start result index, default: 0) * Positive: Start from re
stop_searchStop an active search. Stops the background search process gracefully. Use this when you've found what you need or if a search is taking too long. Similar to force_terminate for
list_searchesList all active searches. Shows search IDs, search types, patterns, status, and runtime. Similar to list_sessions for terminal processes. Useful for managing multiple concurrent
get_file_infoRetrieve detailed metadata about a file or directory including: - size - creation time - last modified time - permissions - type -
edit_blockApply surgical edits to files. Small, focused edits are easier to verify than large multi-purpose replacements. old_string can include enough surrounding context to uniquely identify the intended text.
start_processStart a terminal process on the authorized device with intelligent state detection. Suitable for shell commands, interactive REPL sessions, data-processing scripts, programmatic file analysis, and other
read_process_outputRead output from a running process with file-like pagination support. Supports partial output reading with offset and length parameters (like read_file): - 'offset' (start line, default: 0)
interact_with_processSend input to an existing terminal or REPL process and return newly available output. Useful for interactive shells, Python/Node/R/Julia REPLs, database consoles, and long-running commands started with
force_terminateForce terminate a running terminal session. This command can be referenced as "DC: ..." or "use Desktop Commander to ..." in your instructions.
list_sessionsList all active terminal sessions. Shows session status including: - PID: Process identifier - Blocked: Whether session is waiting for input - Runtime:
list_processesList all running processes. Returns process information including PID, command name, CPU usage, and memory usage. This command can be referenced as "DC: ..." or "use Desktop Com
kill_processTerminate a running process by PID. For a PID that start_process returned, it ends the whole command: the shell and every process the command started, as force_terminate does. Any other PID ends that process only. Sessions started with node:local hav
get_usage_statsGet usage statistics for debugging and analysis. Returns summary of tool usage, success/failure rates, and performance metrics. This command can be referenced as "DC: ..." or "u
get_recent_tool_callsGet recent local tool call history with arguments and outputs. Returns a chronological list of recent calls loaded from the local history file. Useful for: - Onboarding new chats
give_feedback_to_desktop_commanderOpen feedback form in browser to provide feedback about Desktop Commander. The form itself collects survey answers; this tool does not accept survey responses or pre-fill them. It automatically includes
Automated result for the commit shown. See our scan policy. View the scan log
Maintainers can claim the listing to rescan, or dispute a result.
DesktopCommanderMCP alternatives
View more →Similar mcp servers in Coding Agents, ranked by GitHub stars. Compare licence, recent activity and scan status before you choose.
| Name | Stars | Licence | Last updated | Scan |
|---|---|---|---|---|
| DesktopCommanderMCP (this page) wonderwhy-er | 10k | MIT | Oct 30, 2026 | Scanned, no flagged issues |
| Context Mode mksglu | 33k | None found | Nov 1, 2026 | Not scanned yet |
| Serena oraios | 31k | None found | Oct 28, 2026 | Not scanned yet |
| Fastmcp PrefectHQ | 28k | Apache-2.0 | Nov 1, 2026 | Scanned, no flagged issues |
| Nuclear nukeop | 19k | AGPL-3.0 | Nov 1, 2026 | Scanned, no flagged issues |
| MCP For Beginners microsoft | 18k | MIT | Oct 30, 2026 | Scanned, no flagged issues |