aka-danielZhang
dsh-mcp-settings
DSH bundle for MCP server management, inventory status, and Web settings
- Stars
- 1
- Language
- TypeScript
- Created
- Aug 14, 2026
- Updated
- Aug 14, 2026
Introduction
dsh-mcp-settings
English | 中文
An installable DeepSeek Harness bundle containing the three plugins that manage MCP servers from Web Settings.
| Cordis row | Entry | Responsibility |
|---|---|---|
dsh-mcp-settings-manager | dsh-mcp-settings/manager | Owns mcp.servers, starts and stops one in-box MCP client fiber per enabled server, and publishes merged connection status. |
dsh-mcp-settings-inventory | dsh-mcp-settings/inventory | Exposes the read-only mcpInventory/list Remote. |
dsh-mcp-settings-ui | dsh-mcp-settings + ./client | Adds the MCP Settings page, Form/JSON editing, enable toggles, status polling, and tool counts. |
The bundle disables the equivalent rows shipped by the current Web profile and inserts these rows under distinct ids. Removing the bundle restores the in-box rows on the next profile boot. Existing mcp.servers user settings are not removed.
Requirements
- A matching DeepSeek Harness development build whose
webprofile already supplies the DSH peer packages listed inpackage.json. - That Harness build must emit the
mcp-client/statusevent; this event is not yet on the public Harness default branch. - Node.js
^22.19.0 || >=24. - pnpm 10 or newer when installing directly from GitHub.
Install from GitHub
DSH plugins are distributed as bundles. dsh plugin add installs this package into a profile and appends its dsh.bundle layer to the profile manifest; no separate enable script is required.
dsh plugin --profile web add github:aka-danielZhang/dsh-mcp-settings
This command installs the bundle only. It does not install or upgrade the Harness-owned peer packages, so point it at a matching Web profile as described above.
Git installs run this repository's prepare script to create lib/. pnpm blocks dependency build scripts until the profile grants permission. If the first install reports an ignored build, add the exact package key it prints to ~/.dsh/profiles/web/pnpm-workspace.yaml and repeat the command:
allowBuilds:
"dsh-mcp-settings@https://codeload.github.com/aka-danielZhang/dsh-mcp-settings/tar.gz/<commit-sha>": true
This permission allows package code to run during installation. Pin a commit when installing code you do not control:
dsh plugin --profile web add github:aka-danielZhang/dsh-mcp-settings#<commit-sha>
Restart dsh --profile web after installation. Open Settings > MCP; the existing mcp.servers list remains available.
Verify the composed rows:
dsh --profile web --dump-config
The output should contain dsh-mcp-settings-manager, dsh-mcp-settings-inventory, and dsh-mcp-settings-ui.
Install a local checkout
git clone https://github.com/aka-danielZhang/dsh-mcp-settings.git
cd dsh-mcp-settings
dsh plugin --profile web add file:.
The package scripts are optional shortcuts when dsh is installed globally:
pnpm run plugin:add
pnpm run plugin:dump
pnpm run plugin:remove
The documented DSH CLI remains the authoritative installation path; the scripts do not edit profile files directly.
Configure MCP servers
Use Settings > MCP. The manager reads the same mcp.servers settings namespace as the in-box implementation. Credentials stay in user settings or environment variables and must not be committed to this repository.
The UI supports stdio and Streamable HTTP servers, Form and JSON editing, direct enable/disable, and live status/tool counts. An enabled server is queried immediately after save and every two seconds until connected or 60 seconds elapse.
Remove
dsh plugin --profile web remove dsh-mcp-settings
Restart the Web profile. The profile layer disappears and the shipped MCP rows become active again. User settings remain intact.
Develop
The typecheck and test setup follows the DSH out-of-tree plugin convention: keep a Harness checkout in the sibling directory ../deepseek-harness.
git clone https://github.com/deepseek-ai/deepseek-harness.git ../deepseek-harness
cd ../deepseek-harness && pnpm install
cd ../dsh-mcp-settings
pnpm install
pnpm run typecheck
pnpm test
pnpm run bundle
pnpm run smoke
prepare uses the self-contained tsdown.config.ts and tsconfig.prepare.json, so a consumer installing from GitHub does not need the sibling Harness checkout. Type checking and tests do require it.
GitHub CI verifies the consumer-side install, bundle, JavaScript syntax, and packed distribution without a Harness checkout. The full typecheck and test suite intentionally runs against a matching sibling Harness development tree because the required mcp-client/status event has not yet landed on the public Harness default branch.
Compatibility
This bundle replaces extension points present in the current DeepSeek Harness release-candidate line and deliberately reuses the in-box @deepseek-ai/dsh-mcp-client. DSH is pre-release software; update the peer ranges, Typert descriptor, and bundle patch together when those extension points change.
Origin and license
The implementation was migrated from the MIT-licensed MCP manager, MCP inventory, and MCP Settings packages in DeepSeek Harness. See LICENSE.