dsh-nuphus-mcp
Health Warn
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 5 GitHub stars
Code Fail
- process.env — Environment variable access in fixtures/mcp-server.mjs
- execSync — Synchronous shell command execution in lib/index.js
- process.env — Environment variable access in lib/index.js
- process.env — Environment variable access in test/plugin.test.js
Permissions Pass
- Permissions — No dangerous permissions requested
No AI report is available for this listing yet.
DeepSeek Harness (DSH) plugin: mount the nuphus-mcp desktop automation MCP server as native tools (mcp__nuphus-mcp__*).
dsh-nuphus-mcp
DSH plugin that mounts nuphus-mcp
as native DSH tools — computer use for your agents. No nuphus-mcp code inside:
a thin Cordis wrapper that spawns the nuphus-mcp binary over stdio via@deepseek-ai/dsh-mcp-client.
Install
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:mrpulor-gh/dsh-nuphus-mcp
Restart dsh --profile web — activation is automatic (dsh.bundle.patch).
What you get
- Discovers the connected server's tools as
mcp__nuphus-mcp__*; the count and schemas depend on that server build - Auto-installs
nuphus-mcpon first boot if missing onPATH --confirm-writeon by default (write tools need"confirm": true)- Same
NUPHUS_MCP_*env vars as every other client - Keeps one MCP client for the plugin lifetime; tool calls preserve the server's descriptions, arguments and results
Requirements
- DSH
webprofile, Node.js^22.19/>=24 - DSH must run in the desktop session of the controlled machine
Config
Overridable in cordis.yml / patch:
| Field | Default | Description |
|---|---|---|
serverName |
nuphus-mcp |
Tool namespace |
command |
nuphus-mcp |
Executable to spawn |
args |
["--confirm-write"] |
CLI args |
autoInstall |
true |
Install the default command if missing on PATH; set false for managed installations |
toolCallTimeoutMs |
120000 |
Per-call timeout (screenshots/OCR exceed 60000) |
autoInstall must be a boolean. A custom command is always used as supplied,
including paths containing spaces or non-ASCII characters, and never triggers
an automatic install. Windows PATH probes and installer processes are hidden;
the MCP SDK also hides its stdio child process.
Reuse the task page
Use a server build containing nuphus-mcp PR #12
and PR #13, such as
commit 0a689c1.
The published v0.3.3 release predates those changes; a 0.3.3 version string
alone does not establish that the fixes are included. Updating this adapter or
auto-installing an older npm build cannot add the browser behavior by itself.
With that server build:
- Use
mcp__nuphus-mcp__browser_navigatefor ordinary navigation. It reuses the
selected task page, including the startup page, instead of opening another tab. - To use another existing tab or a site popup, list tabs and select its fresh
index withbrowser_switch_tab.target_ididentifies the tab;selected
marks the task target and does not mean foreground focus. - Use
browser_new_tabonly when a separate tab is needed. New/switch calls
default to background operation; passactivate: trueonly for an interaction
that needs the foreground. The adapter forwards omitted, false and true
values unchanged. Write calls still requireconfirm: trueby default. - If the task tab closed, navigation can create one background replacement
instead of taking over an unrelated tab. If a create request has an unknown
outcome, list/select the intended tab before creating another one.
The first browser launch, an explicit activation and website-created popups can
still show a window. This wrapper does not intercept browser windows.
Recovery boundaries
Browser CDP recovery is handled inside nuphus-mcp: it can reattach to a live
browser and selected target without reloading the document; cancellation keeps
the owned browser alive, and crash recovery reuses the fresh startup page.
The adapter does not automatically replay failed or timed-out write calls.
The current @deepseek-ai/dsh-mcp-client does not automatically reconnect a
disconnected MCP server process. Reload the plugin with HMR or restart DSH, then
list/select the intended task tab again. The old reconnect option was not
implemented by that client; it is now ignored with a diagnostic rather than
advertised as a working setting.
Magpie / existing binaries
When Magpie already manages nuphus-mcp, use its existing binary. For a profile
using this adapter, apply these fields to the existing plugin row's config:
command: 'D:\工具\Nuphus\nuphus-mcp.exe'
args: ['--confirm-write']
autoInstall: false
Replace the example with the actual managed path. If Magpie already mounts a
native MCP row for serverName: nuphus-mcp, use that row or this adapter; enabling
both claims the same tool namespace and is rejected by the MCP client. Reload
the relevant client after replacing a binary so existing sessions use the new build.
External-browser selection (NUPHUS_MCP_BROWSER_CDP_URL, NUPHUS_BROWSER_*),
the explicit intranet opt-in (NUPHUS_MCP_ALLOW_PRIVATE_NAV) and action-effect
waiting (NUPHUS_MCP_EFFECT_TIMEOUT_MS) pass through from the host. Explicitconfig.env values take precedence; the adapter does not enable private-network
navigation or disable effect checks by default.
Tool list, vision keys and external-browser CDP setup live in the
nuphus-mcp README.
License
MIT
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found