# dsh-windows-mcp — bundle patch layer # # This package is a CARRIER bundle: it ships no service of its own, it only # mounts two loader rows in the DSH profile. # # 1. `windows-mcp-plugin` → this package's host half (lib/index.js). It adds # one diagnostic tool (`windows_mcp_doctor`) and nothing else. # 2. `windows-mcp-bridge` → the OFFICIAL in-box MCP client bridge shipped by # DeepSeek Harness itself (`@deepseek-ai/dsh-mcp-client`). It lives inside # app.asar and is resolved by the loader from the Desktop install anchor; # a third-party plugin must NOT try to import it. # # Every tool the bridge registers shows up as `mcp__windows__`. # # Tuning: change `args` / `env` below, or override this row from your profile's # own patch layer (`$DSH_HOME/profiles//cordis.patch.yml`): # # - id: windows-mcp-bridge # config: # args: # - windows-mcp@0.8.8 # - serve # - --exclude-tools # - App # - insert: - id: windows-mcp-plugin name: dsh-windows-mcp - id: windows-mcp-bridge name: "@deepseek-ai/dsh-mcp-client" config: # Namespace for every tool name: mcp__windows__Screenshot, ... serverName: windows transport: stdio command: uvx args: # Pinned for reproducibility. Replace with `windows-mcp` to float, or # with an absolute path to a fixed interpreter (`python -m windows_mcp`). - windows-mcp@0.8.8 - serve # Curation: drop the tools DSH already covers (its own shell and file # tools), plus `App`, which upstream only supports reliably on an # English Windows install. Never list `ControlStatus` here — upstream # keeps it unconditionally. - --exclude-tools - App,PowerShell,FileSystem # Screenshots, UIA tree walks and PowerShell-style waits are slow. toolCallTimeoutMs: 120000 # Keep boot alive when Windows-MCP is not installed (or uvx is missing): # the doctor tool explains what to fix instead of failing the profile. failOnStartupError: false reconnect: enabled: true initialDelayMs: 500 maxDelayMs: 30000 maxAttempts: 10 env: # Upstream defaults to PostHog telemetry ON; a desktop-automation # plugin should not phone home. ANONYMIZED_TELEMETRY: "false" # Suppress the orange "control taken over" flash on every screenshot. WINDOWS_MCP_DISABLE_FLASH: "1" # Downscale screenshots (0.1–1.0) to cut image tokens. Lower it to # 0.5 if your budget is tight; raise it if small UI text is unreadable. WINDOWS_MCP_SCREENSHOT_SCALE: "0.75"