How to Update DesktopCommanderMCP to the Latest Version: Complete Guide

Run git pull followed by npm run setup in your local clone, or re-execute the installer script with --reset for Docker deployments, to update DesktopCommanderMCP to the latest version.

DesktopCommanderMCP from the wonderwhy-er/DesktopCommanderMCP repository requires different update commands depending on whether you cloned manually, used the one-liner installer, or deployed via Docker. Keeping the tool current ensures you receive the latest security patches, bug fixes, and feature updates contained in the src/server.ts MCP server and UI runtime. This guide covers the exact commands, underlying configuration files, and verification steps for each installation method.

Update a Local Git Clone

If you originally installed via git clone, updating requires pulling the latest commits and rebuilding the project assets. Navigate to your repository root and execute the following commands:

cd DesktopCommanderMCP
git pull
npm run setup

The npm run setup command executes the build pipeline defined in package.json, which reinstalls dependencies, compiles TypeScript, and regenerates the UI runtime via scripts/build-ui-runtime.cjs. This process ensures your local binary reflects the updated source code and latest MCP server implementations.

Update via the One-Liner Installer

For installations using the convenience script, run the same curl command to fetch the newest release and automatically trigger the rebuild:

bash <(curl -fsSL https://raw.githubusercontent.com/wonderwhy-er/DesktopCommanderMCP/refs/heads/main/install.sh)

The install.sh script detects existing installations, pulls the latest repository changes, and invokes npm run setup to rebuild the UI runtime. This mirrors the manual Git workflow while handling dependency checks automatically.

Update a Docker Installation

Docker deployments use dedicated installers that require the --reset flag to force a fresh image pull and container recreation. Execute the command matching your operating system:

Linux/macOS:

bash <(curl -fsSL https://raw.githubusercontent.com/wonderwhy-er/DesktopCommanderMCP/refs/heads/main/install-docker.sh) --reset

Windows (PowerShell):

iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/wonderwhy-er/DesktopCommanderMCP/refs/heads/main/install-docker.ps1')) -Reset

The --reset flag triggers install-docker.sh or install-docker.ps1 to discard the existing container and build a fresh image from the latest source. This process downloads updated Node modules, recompiles the UI runtime, and launches the new container with the current version of the MCP server.

Verify the Update

Confirm your installation reflects the latest release by checking the version string against the repository metadata. Execute the appropriate command for your deployment method:

npx desktop-commander-mcp --version

For Docker containers, use:

docker exec <container-name> desktop-commander-mcp --version

The version number originates from manifest.template.json, which the release process updates automatically when new tags are pushed to the repository. Matching output confirms the update succeeded.

Summary

  • Git installations: Pull changes with git pull and rebuild with npm run setup to compile updates from scripts/build-ui-runtime.cjs.
  • One-liner installs: Re-run the install.sh curl command to automatically update dependencies and rebuild the project.
  • Docker deployments: Append --reset to install-docker.sh or install-docker.ps1 to force fresh image creation and container redeployment.
  • Version verification: Run desktop-commander-mcp --version to confirm the update against manifest.template.json.

Frequently Asked Questions

How do I update DesktopCommanderMCP if I installed it manually via Git?

Navigate to your repository directory and run git pull to fetch the latest commits. Then execute npm run setup to reinstall dependencies, rebuild the TypeScript UI runtime, and recompile src/server.ts with the latest changes.

What is the difference between updating via install.sh versus Docker?

The install.sh script updates a local Git clone and rebuilds the binary directly on your host system, while install-docker.sh with --reset creates an isolated container image containing the compiled application. Docker updates bundle all dependencies in the image, whereas script updates modify your local node_modules and require Node.js installed locally.

Why do I need to run npm run setup after pulling changes?

The package.json defines the setup script to handle npm install, TypeScript compilation, and asset bundling via scripts/build-ui-runtime.cjs. Pulling source code only updates text files, while running setup generates the executable JavaScript and UI assets required for the MCP server to function.

How can I verify that DesktopCommanderMCP updated successfully?

Execute npx desktop-commander-mcp --version for local installations or docker exec <container-name> desktop-commander-mcp --version for Docker deployments. The output displays the version string defined in manifest.template.json, which should match the latest release tag in the repository.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →