Desktop Commander MCP is a Model Context Protocol server that extends Claude and other AI models with comprehensive system control capabilities. Written in TypeScript, it enables AI assistants to execute terminal commands, search and edit files, and manage processes directly from chat interfaces. The project is actively maintained and distributed through multiple installation channels including npm, Docker, and Smithery, with automatic update support across most installation methods.
The server provides terminal automation features that go beyond typical AI editor capabilities. Users can execute long-running terminal commands with interactive process control, manage running processes by listing and killing them, and maintain session management for extended operations. The system supports command output pagination to prevent context overflow when dealing with large outputs, and includes timeout and background execution support for flexible command handling. Additionally, the server can execute code in memory for Python, Node.js, and R without requiring file saves, enabling instant data analysis directly on CSV, JSON, and Excel files.
File system operations are comprehensive and include full read-write capabilities for multiple file formats. The server natively supports Excel files in .xlsx, .xls, and .xlsm formats for reading, writing, editing, and searching without external tools. PDF support includes text extraction from existing documents and the ability to create new PDFs from markdown or modify existing ones. Word document support covers reading, creating, editing, and searching .docx files with surgical XML editing and markdown-to-DOCX conversion capabilities. Standard text file operations include recursive directory listing with configurable depth, negative offset file reading for tail-like functionality, and vscode-ripgrep based recursive search across folders.
Code editing capabilities focus on precision and flexibility. The server supports surgical text replacements for small targeted changes and full file rewrites for major modifications, with pattern-based replacement support and multi-file editing capabilities. File metadata retrieval and move operations round out the filesystem feature set.
The server includes robust safety features and operational transparency. Symlink traversal prevention protects against directory traversal attacks, a command blocklist prevents accidental execution of dangerous commands, and Docker isolation is available for complete sandboxing. All tool calls are automatically logged with comprehensive audit trails including detailed timestamps and arguments, with log rotation enforced at 10MB size limits.
Installation flexibility is a key design principle. The npx installation method requires only Node.js and provides automatic updates. A bash script installer for macOS handles dependency installation automatically. Smithery integration offers streamlined installation through a web interface. Manual configuration through Claude Desktop config files is supported. Docker installation provides complete isolation without requiring Node.js. For other MCP-compatible clients including Cursor, Windsurf, VS Code with GitHub Copilot, Cline, and Roo Code, standard JSON configuration is available.
The project also offers a standalone Desktop Commander App for macOS and Windows that provides the same MCP server functionality plus additional features including visual file previews during AI edits, support for any AI model beyond Claude, custom MCP integration, and planned features like a skills system, dictation, and background scheduled tasks. The MCP server remains fully functional with Claude Desktop and other MCP clients for users preferring the lightweight approach.