Desktop Commander is a Model Context Protocol (MCP) server that gives Claude Desktop, Claude Code, and other MCP-compatible AI clients direct control over a local terminal and filesystem. It is built on top of the MCP Filesystem Server and adds search-and-replace file editing, process management, and support for common office file formats. AI coding assistants that only see chunked file excerpts, or that cannot run long-lived shell commands, struggle with real development work; Desktop Commander gives the model full files, a real terminal, and control over running processes on the host OS.
Desktop Commander installs through npx @wonderwhy-er/desktop-commander@latest setup, which configures Claude Desktop and auto-updates on every restart. A bash installer (install.sh) handles Node.js setup on macOS, and a Docker image (mcp/desktop-commander) runs the server sandboxed with persistent volumes for tools, configs, and package caches. The same JSON server definition also works with Cursor, Windsurf, VS Code / GitHub Copilot, Cline, Roo Code, Claude Code, Trae, and Kiro; Claude Code specifically can add it with claude mcp add --scope user desktop-commander -- npx -y @wonderwhy-er/desktop-commander@latest.
Desktop Commander works with Claude Desktop's standard Pro subscription rather than metered API calls, so usage does not add per-token costs on top of the subscription fee. The server logs all tool calls for audit purposes, with 10MB log rotation and detailed timestamps.