Desktop Commander

Terminal access, process control, and file editing in one server, including a diff-based editing mode that avoids rewriting whole files.

Community TypeScript stdio

What it does

Terminal access, process control, and file editing in one server, including a diff-based editing mode that avoids rewriting whole files. It is the closest thing to handing an agent a shell without handing it your shell. Scope the working directory before you install it, not after.

Install

Terminal
npx @wonderwhy-er/desktop-commander@latest setup

Client configuration

Paste this into your MCP client config (Claude Desktop, Cursor, or any client that reads mcpServers), then restart the client.

mcp.json
{
  "mcpServers": {
    "desktop-commander": {
      "command": "npx",
      "args": [
        "@wonderwhy-er/desktop-commander@latest",
        "setup"
      ]
    }
  }
}

When to use it

Reach for this when the task needs terminal inside the agent loop. Skip it if a plain shell command or a one-off script is enough — every server you add costs context and adds a failure mode.

Other TypeScript servers

  • Filesystem — Gives an agent scoped read, write, and search access to directories you explicitly allow
  • Memory — A persistent knowledge graph stored in a local JSON file, exposed through entities, relations, and observations
  • Sequential Thinking — Gives the model a scratchpad for structured, revisable reasoning: numbered thoughts that can branch, revise, and conclude