Data as of
Desktop Commander MCP for Claude Code: Setup & Config
Desktop Commander MCP gives Claude Code local file, document, terminal, and process-management tools.
What you can do with Desktop Commander in Claude Code
Give assistants a unified local workspace for files, documents, interactive terminals, and processes.
- Run long-lived development commands and inspect output incrementally.
- Read and create PDFs or work with Excel and Word documents.
- Manage active terminal sessions and operating-system processes.
Before you start: Desktop Commander in Claude Code
- Node.js for the npm configuration
- An MCP-compatible client
This is the README's manual MCP configuration. The setup command npx @wonderwhy-er/desktop-commander@latest setup can configure Claude Desktop instead. Restart the client afterward. Docker is documented as an alternative without local Node.js.
Desktop Commander Claude Code configuration
Choose Claude Code configuration scope
For Desktop Commander MCP, open Project scope: .mcp.json at the repository root. Project JSON: merge into mcpServers; user scope: use the CLI.
Add Desktop Commander MCP to Claude Code
Use the DesktopCommanderMCP entry below in mcpServers. Keep Desktop Commander MCP's documented stdio connection fields and your other Claude Code entries.
Check Desktop Commander MCP in Claude Code
Desktop Commander MCP: Inspect claude mcp list and /mcp status.
Config file · Project scope: .mcp.json at the repository root
{
"mcpServers": {
"DesktopCommanderMCP": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@wonderwhy-er/desktop-commander@latest"
],
"env": {}
}
}
}claude mcp add-json --scope project 'DesktopCommanderMCP' '{"type":"stdio","command":"npx","args":["-y","@wonderwhy-er/desktop-commander@latest"],"env":{}}'Desktop Commander tools available to Claude Code
Desktop Commander's stored tool list documents 26 tools; compare it with Claude Code's connected tool list, because the stored list is not a live check.
- get_config
For Desktop Commander's get_config, review the permission request and arguments in Claude Code before approval.
Inspect the server's current configuration.
- set_config_value
For Desktop Commander's set_config_value, review the permission request and arguments in Claude Code before approval.
Change a configuration key; the tool warns to do this separately from file and execution chats.
- read_file
For Desktop Commander's read_file, review the permission request and arguments in Claude Code before approval.
Read local files or URLs, including PDF text and image extraction.
- read_multiple_files
For Desktop Commander's read_multiple_files, review the permission request and arguments in Claude Code before approval.
Read several files and associate each result with its path.
- write_file
For Desktop Commander's write_file, review the permission request and arguments in Claude Code before approval.
Write or append file content; dedicated tools handle PDFs and DOCX edits.
- write_pdf
For Desktop Commander's write_pdf, review the permission request and arguments in Claude Code before approval.
Create a PDF or modify an existing PDF document.
- create_directory
For Desktop Commander's create_directory, review the permission request and arguments in Claude Code before approval.
Create nested directories within allowed paths.
- list_directory
For Desktop Commander's list_directory, review the permission request and arguments in Claude Code before approval.
- move_file
For Desktop Commander's move_file, review the permission request and arguments in Claude Code before approval.
- start_search
For Desktop Commander's start_search, review the permission request and arguments in Claude Code before approval.
- get_more_search_results
For Desktop Commander's get_more_search_results, review the permission request and arguments in Claude Code before approval.
- stop_search
For Desktop Commander's stop_search, review the permission request and arguments in Claude Code before approval.
- list_searches
For Desktop Commander's list_searches, review the permission request and arguments in Claude Code before approval.
- get_file_info
For Desktop Commander's get_file_info, review the permission request and arguments in Claude Code before approval.
- edit_block
For Desktop Commander's edit_block, review the permission request and arguments in Claude Code before approval.
- start_process
For Desktop Commander's start_process, review the permission request and arguments in Claude Code before approval.
- read_process_output
For Desktop Commander's read_process_output, review the permission request and arguments in Claude Code before approval.
- interact_with_process
For Desktop Commander's interact_with_process, review the permission request and arguments in Claude Code before approval.
- force_terminate
For Desktop Commander's force_terminate, review the permission request and arguments in Claude Code before approval.
- list_sessions
For Desktop Commander's list_sessions, review the permission request and arguments in Claude Code before approval.
Inspect active terminal sessions and their process state.
- list_processes
For Desktop Commander's list_processes, review the permission request and arguments in Claude Code before approval.
List operating-system processes with CPU and memory information.
- kill_process
For Desktop Commander's kill_process, review the permission request and arguments in Claude Code before approval.
Forcefully terminate a process identified by PID.
- get_usage_stats
For Desktop Commander's get_usage_stats, review the permission request and arguments in Claude Code before approval.
Read tool usage, success rates, and performance summaries.
- get_recent_tool_calls
For Desktop Commander's get_recent_tool_calls, review the permission request and arguments in Claude Code before approval.
Inspect recent session tool calls with arguments and outputs.
- give_feedback_to_desktop_commander
For Desktop Commander's give_feedback_to_desktop_commander, review the permission request and arguments in Claude Code before approval.
Open the project's feedback form in a browser for manual completion.
- get_prompts
For Desktop Commander's get_prompts, review the permission request and arguments in Claude Code before approval.
Troubleshooting Desktop Commander in Claude Code
- If Desktop Commander MCP fails to start, check npx @wonderwhy-er/desktop-commander@latest (Node.js/npm), the working directory, and Claude Code's selected scope; inspect claude mcp list and /mcp.
- Desktop Commander MCP uses stdio here: Claude Code must keep the configured process running; protocol output belongs on stdout and diagnostics on stderr.
- Known limitation: The npm installation route requires Node.js.
- Known limitation: Docker needs explicit folder mounts to access host files.
- Known limitation: Configuration changes carry a documented warning to separate them from execution and file-work chats.
- General Claude Code troubleshooting lives in the /clients/claude-code guide.
Desktop Commander MCP — details. Claude Code guide