Skip to content

docs: add Desktop Commander MCP setup guide - #5

Closed
Protonmatter wants to merge 1 commit into
mainfrom
claude/desktop-commander-setup-holhco
Closed

Protonmatter wants to merge 1 commit into
mainfrom
claude/desktop-commander-setup-holhco

Conversation

@Protonmatter

Copy link
Copy Markdown
Owner

Summary

Documents how to attach the Desktop Commander MCP server (@wonderwhy-er/desktop-commander) to the Claude Code CLI and to cloud-hosted Claude sessions such as Cowork, and records why the transport differs between the two.

The core distinction: which subcommand you need depends on where the model runs, not on the product name. A local client spawns the server over stdio; a cloud-hosted session cannot reach your machine that way and needs the remote relay device instead.

Changes

  • docs/DESKTOP_COMMANDER.md (new) — local stdio setup for the Claude Code CLI, remote relay device setup (npx ... remote) for cloud sessions, flag reference (--persist-session, --disable-no-sleep, --debug), uninstall path, and the operational boundary against Project-Her's own MCP server.
  • .mcp.json.example (new) — copyable config pinning both project-her and desktop-commander.
  • .gitignore — ignore the live .mcp.json.
  • README.md, docs/PROJECT_HER.md — cross-links to the new guide.

Notes on the design decisions

.mcp.json is gitignored rather than committed. A checked-in .mcp.json would prompt everyone who clones this repository to enable an unrestricted shell server. That contradicts the consent-and-confirmation posture the rest of Project-Her is built on, so enabling it is left opt-in per user via the example file.

The guide draws an explicit boundary against project-her. The two servers answer different questions — project-her is root-confined and read-only by default with a {"confirm": true} gate on render; Desktop Commander is an unrestricted terminal running under full user permissions, with traffic egressing to a third-party relay in remote mode. The doc states that rather than leaving readers to assume the controls carry over.

A section covers what the setup does not apply to. Neither path belongs in an ephemeral web-execution container: local stdio is redundant there, and remote would register the throwaway sandbox as the device instead of the user's desktop.

Verification

Behavior described in the guide was read off the published package (v0.2.47) rather than recalled — dist/index.js subcommand dispatch, dist/npm-scripts/remote.js flag handling, and dist/remote-device/ for the OAuth device-authorization flow (PKCE/S256) and the mcp.desktopcommander.app relay endpoint. .mcp.json.example parses as valid JSON.

Docs-only change; no source or test files touched.


Generated by Claude Code

Document attaching the Desktop Commander MCP server to the two clients
used with this repository, and record why the transport differs between
them.

- docs/DESKTOP_COMMANDER.md: local stdio setup for the Claude Code CLI,
  remote relay device setup (`npx ... remote`) for cloud-hosted sessions
  such as Cowork, flag reference, uninstall, and the operational boundary
  against Project-Her's read-only MCP server.
- .mcp.json.example: copyable config pinning both `project-her` and
  `desktop-commander`. The live .mcp.json is gitignored so an
  unrestricted shell server stays opt-in per user rather than prompting
  everyone who clones the repository.
- Cross-link from README.md and docs/PROJECT_HER.md.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AAzsKTVzsQaiJR6BDCmvpV
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants