# Desktop Commander

This MCP server lets an agent run terminal commands, work with files, and manage processes. Use it to delegate project edits or document tasks.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed · ★ 10107
- Author: wonderwhy-er
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/wonderwhy-er/DesktopCommanderMCP
- Updated: 2026-10-24
- HTML: https://affpapa.org/en/nevibecode/mcp/desktop-commander

## What it does

Desktop Commander runs terminal commands, streams their output, and lets the agent inspect or stop processes. Long-running commands can run in the background with session management. The server also reads and edits files, searches file contents, and applies replacements across multiple files.

Separate tools handle Excel, PDF, and DOCX files, including reading and editing documents. Code and text searches across folders use vscode-ripgrep. Tool calls and their arguments are recorded locally.

The server prevents symlink traversal and has a command blocklist, but it is not a sandbox. Installing through `npx` requires Node.js; the Claude Code setup command starts the package with `npx`.

## Requirements
- Needs: Node.js (commands run via npx)

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add desktop-commander -- npx -y @wonderwhy-er/desktop-commander
```

### Codex

**Platform CLI**
```bash
codex mcp add desktop-commander -- npx -y @wonderwhy-er/desktop-commander
```

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "desktop-commander": {
            "command": "npx",
            "args": [
                "-y",
                "@wonderwhy-er/desktop-commander"
            ]
        }
    }
}
```

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "desktop-commander": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@wonderwhy-er/desktop-commander"
            ]
        }
    }
}
```

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add desktop-commander npx -y @wonderwhy-er/desktop-commander
```

## When to use it
- run a terminal command and inspect its output
- find text across project files
- replace a fragment in multiple files
- read or edit PDF, Excel, and DOCX documents
- inspect running processes and stop one

## Example prompts
- Run the project tests in the terminal and show me the output.
- Find `oldName` in the project files and replace it with `newName`.
- Read `report.pdf` and extract its text.

## Similar
- [desktop-commander-overview](https://affpapa.org/en/nevibecode/skills/desktop-commander-overview.md) — skill · 2500 installs
- [incident-commander](https://affpapa.org/en/nevibecode/skills/incident-commander.md) — skill · 610 installs
- [Desktop Control](https://affpapa.org/en/nevibecode/skills/desktop-control.md) — skill · 4000 installs
- [godot-platform-desktop](https://affpapa.org/en/nevibecode/skills/godot-platform-desktop.md) — skill · 372 installs
- [windows-desktop-e2e](https://affpapa.org/en/nevibecode/skills/windows-desktop-e2e.md) — skill · 4600 installs
- [desktop-principles](https://affpapa.org/en/nevibecode/skills/desktop-principles.md) — skill · 982 installs

From the same set: [wonderwhy-er/desktopcommandermcp](https://affpapa.org/en/nevibecode/by/wonderwhy-er/desktopcommandermcp.md) — 2 cards

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
