Favicon of Desktop Commander

Desktop Commander

Desktop Commander is an MCP server giving Claude terminal control, filesystem access, and surgical text editing on your machine.

Desktop Commander website screenshot
Desktop Commander GitHub repository preview

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.

Key features

  • Terminal control: execute long-running terminal commands with output streaming, configurable timeouts, and background execution, plus process listing and kill support.
  • Surgical file editing: make targeted search-and-replace text changes or full file rewrites across multiple files, backed by a vscode-ripgrep based recursive code and text search.
  • Office file support: read, write, edit, and search Excel (.xlsx, .xls, .xlsm), PDF, and DOCX files without external tools, including markdown-to-DOCX conversion.
  • In-memory code execution: run Python, Node.js, or R code directly without saving temporary files, useful for quick analysis of CSV, JSON, or Excel input.
  • Process interaction: attach to running processes such as SSH sessions, databases, or development servers, with session management for long-running commands.
  • Remote MCP access: connect from ChatGPT, Claude web, and other AI services through a hosted Remote MCP endpoint instead of a local install.
  • Security hardening: symlink traversal prevention, a command blocklist with bypass protection, and an optional Docker sandbox isolate the server from the rest of the filesystem.

Installation

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.

Ideal use cases

  • Exploring and understanding an unfamiliar codebase without manual file chunking.
  • Automating multi-step tasks across the operating system rather than inside a single editor.
  • Working across multiple projects in the same conversation.
  • Editing or generating Excel, PDF, and Word documents from natural language instructions.
  • Interacting with long-running processes like local dev servers or database sessions.

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.

Tags:

Frequently asked questions

Share:

Stars
8.9K
Forks
996
Last commit
1 day ago
Repository age
2 years
License
MIT
Self-hosted
No
Activity score
78/100
View Repository
Ad
Favicon

 

  
 

Similar to Desktop Commander

Favicon

 

  
 
Favicon

 

  
 
Favicon