Desktop Commander
Terminal access, process control, and file editing in one server, including a diff-based editing mode that avoids rewriting whole files.
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