hyqhyq3/dsh-mcp-manager
dsh-mcp-manager
MCP server manager plugin for DeepSeek Harness: Settings → MCP page, OAuth (PKCE + dynamic client registration) or static-token auth, tools registered as mcp__<name>__*
Install
npx @deepseek-ai/dsh plugin --profile web add github:hyqhyq3/dsh-mcp-managerRestart `dsh web` after install. Bundle APIs can change during the developer preview.
README badge
[](https://dshhub.dev/plugins/hyqhyq3-dsh-mcp-manager)Paste this into your README. The star count updates with every catalog sync.
From the README
Excerpt from hyqhyq3/dsh-mcp-manager, cleaned of badges and images.
dsh-mcp-manager
简体中文 | English
MCP server manager for DeepSeek Harness (DSH) — a Settings → MCP page where you add MCP servers once (remote HTTP or local stdio process), authenticate HTTP servers with OAuth in the browser, and expose their tools either directly or through a compact on-demand broker.
The built-in @deepseek-ai/dsh-mcp-client only accepts a static headers config — it has no OAuth support and no local stdio transport. This plugin fills that gap:
- OAuth (authorization code + PKCE) with RFC 7591 dynamic client registration,
refresh_tokenrotation, and auto-reconnect across restarts — one browser login, then it keeps working. - Static Bearer token mode for servers without OAuth — stored as an environment-variable name (Codex-style
tokenEnv), never as plaintext in the config. - Custom HTTP headers (
headersfor direct values,headerEnvfor values read from environment variables) — matches Codex'shttp_headers/env_http_headers. - stdio local processes: run
npx/uvx/pythonetc. directly; the plugin speaks JSON-RPC over the child's stdin/stdout (spawns the process, reconnects, and reaps it on exit) — no remote server or auth required. Windows.cmdshims (e.g.npx.cmd) are resolved throughcmd.exe. - Edit-in-place: rename a server, switch stdio ↔ HTTP, or change auth/headers without deleting and re-adding it.
- Tool registration with the same
mcp__<server>__<rawName>naming convention as the built-in client, including strict-schema sanitization for the DSH tool registry andisConcurrencySafemarking. - Workspace isolation: declare per-project servers in
<workspace>/.dsh/dshmm/mcp.json— their tools register only into that workspace's sessions, and you can mask specific global servers per workspace. - Opt-in on-demand broker: keep the model-facing MCP surface fixed at
mcp_search_tools,mcp_describe_tool, andmcp_execute_toolinstead of sending everymcp__*schema on every Native-mode request. It is disabled by default. - Stable tool refresh:
notifications/tools/list_changedrefreshes only added, removed, or schema-changed registrations for both stdio and Streamable HTTP servers.
Requirements
- DeepSeek Harness with the
webprofile (npx @deepseek-ai/dsh web) - Node.js
^22.19or>=24; pnpm on yourPATH - Windows 10/11: stdio commands are launched via
cmd.exeso.cmdshims (npx,uvx) resolve correctly
Install
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:hyqhyq3/dsh-mcp-manager
Then restart dsh --profile web and refresh the page. The package declares a dsh.bundle.patch, so the plugin activates automatically — no manual cordis.patch.yml editing.
The MCP server's OAuth provider must allow a loopback redirect (
http://127.0.0.1:<port>/mcp-manager/callback/<id>), which is where the DSH GUI webserver receives the code. The origin is derived from your browser's own address, so any host/port the GUI is served on works.
Usage
…
