DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

Mcp Manager — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins

@guowenzhang/dsh-mcp-manager

Mcp Manager

MCP server management for DeepSeek Harness: author composition rows, choose when an allowed server loads, and filter which of its tools a session may call

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add @guowenzhang/dsh-mcp-manager@0.2.0
READMECompatibilityVersions
MCP settings

Compatibility and provenance

Mcp Manager is published as @guowenzhang/dsh-mcp-manager and currently resolves to version 0.2.0. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
npm
Registry updated
9/24/2026

Versions

0.2.0stable
9/24/2026
0.1.0stable
9/23/2026

Related plugins

Loading related plugins…

Latest
0.2.0
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
231.8 kB
Files
8
Surface
web
License
Apache-2.0
Source
npm
GitHub
★ 0
Weekly downloads
0
Last push
9/24/2026
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in integrations-communication.

Acp App@deepseek-ai/dsh-acp-appThe dsh ACP profile bundle: automation-only JSON-RPC stdio and process lifecycle over dsh-baseRemote Web Ui@linxin666/dsh-remote-web-uiScan-to-pair remote access for the dsh web GUI that shares one official interface: a QR beside the settings button pairs phones and PCs into the same Web GUI (a portrait-touch adaptation layer for phones, full desktop on PCs) through one-time tokens and rDSCODE@toddzheng024/dscode-bundleA complete DeepSeek coding agent with persistent shell, Ultra collaboration and automatic permission review.Im Connect@michengai/dsh-im-connectDSH IM Connect — 将主流即时通讯平台接入本机 DeepSeek Harness · Connect major messaging platforms to local DeepSeek Harness agents

README


description: "MCP server management for DeepSeek Harness: author composition rows, choose when an allowed server loads, and filter which of its tools a session may call." kind: "plugin-readme"

@guowenzhang/dsh-mcp-manager

中文 | English

Background: DeepSeek Harness

DeepSeek Harness (dsh) is the open-source agent harness from DeepSeek AI, where nearly every capability is a plugin on Cordis. It is in developer preview and iterating fast, so expect compatibility-breaking changes (docs, 0.1.7-alpha.*); this plugin is a standalone third-party package that resolves @deepseek-ai/* from the running host.

The problem this plugin solves

MCP servers were hand-written composition rows whose whole tool set always sat in context, and an existing Claude Code setup had to be retyped; this plugin manages the rows from the settings page, loads a server on demand with only the tools you pick, and imports your Claude MCP configuration in one click.

Screenshots

设置 → MCP 管理 — loading modes and server rows

MCP settings

The three loading modes and the configured servers, each row carrying its plane, live status, Edit, and enable switch.

新增 MCP — the JSON configuration and the tool picker

MCP editor

A server's JSON configuration, and the tools it publishes: every one is ticked by default, and an unticked method never reaches the model.

导入 Claude MCP 配置 — pick the servers to bring over

Import Claude MCP configuration

Every MCP server found in the Claude Code configuration files; the ticked ones are imported as global rows.

Install

npx @deepseek-ai/dsh plugin --profile web add @guowenzhang/dsh-mcp-manager

From the npm registry: https://www.npmjs.com/package/@guowenzhang/dsh-mcp-manager — restart the host afterwards; local checkouts, git sources and troubleshooting are in AGENTS.md.

Usage

Loading modes

The enable switch says whether a server may be used; the mode says when an allowed server enters context. Set it in 设置 → MCP 管理 → MCP 加载方式; the choice is stored in the mcp-manager settings namespace and applies from the next request on.

ModeBehavior
Load all (eager)Allowed servers mount at session start; their tools are always in the request
Dynamic insert (dynamic, default)They stay unmounted; mcp_load mounts one into the calling session — best tool binding, but the tool list changes once per load. A filtered row mounts only its visible tools
Lazy (lazy)mcp_load connects without registering anything and returns the tool schemas, called through the fixed mcp_call proxy — the tool list never changes, so the request-cache prefix is never invalidated

Under dynamic / lazy the system prompt lists every loadable server as name — the description you wrote on its row, and the model calls mcp_load / mcp_unload by name. Names are always listed; descriptions are truncated to 80 characters under a 900-character budget. Load state is deliberately absent — reporting it would rewrite the system prompt on every mcp_load and invalidate the whole cache prefix.

Connections are per-session: a repeated mcp_load reuses one, different sessions each get their own, and a session that ends closes what it opened; eager shares one standing instance instead. Toggling a row shows a brief starting / stopping state while the child process comes up.

Tool filters

Settings → MCP 管理 → a row's Edit → the Tools tab lists every method the server publishes, all checked. Unchecking one hides it: it never enters context, and calling it is refused. Filtering does not change the cost model — the loading mode decides that.

For wildcards, write the rules yourself in the mcp-manager settings under tools, keyed by the row key (preset:<preset id>:<serverName>):

FormMeaning
create_workitemAllow list: one entry without ! keeps only matching tools
!delete_*Deny list: when every entry starts with !, matching tools are hidden
*, ?Wildcards: * matches any run of characters, ? matches exactly one

Rules are read at the next mcp_load; an already-loaded server keeps the tools it was admitted with. eager ignores filters, and an unparsable rule set hides nothing.

Importing a Claude Code configuration

设置 → MCP 管理 → 导入 Claude 配置 reads the files Claude Code writes and offers every server it finds as a checklist; ticked servers are imported as global rows.

SourceFile
Claude Code user config~/.claude.json → mcpServers
Per-directory scope inside it~/.claude.json → projects["<working directory>"].mcpServers
Claude Code settings~/.claude/settings.json, settings.local.json
Project scope<project root>/.mcp.json

Nothing is modified — the scan only reads — and each server is imported on its own, so one failure does not stop the rest. env / headers come along so the server can connect, but the dialog shows only those keys' names.

Notes and caveats

  • Enabling a server still waits on the child process (npx -y … / uvx …, usually 1–3 seconds). The UI never blocks; installing the server as a direct executable shortens this noticeably.
  • Switching to the edit dialog's Tools tab connects to that server once (to list its tools), with the same 1–3 second cost; renaming a row only never connects.
  • Global-plane rows ignore the loading mode: they always mount.
  • A preset's first mount starts and then kills each server once. On-demand loading works by unmounting rows at runtime, which cannot beat the child process's spawn, so the first session to use a preset after a host restart pays one short start-up.
  • Import reads Claude Code and the project .mcp.json only. Cursor, Cline, Roo, and VS Code configuration files are not scanned, and an import always targets the global plane; move a row into a preset afterwards if you want it on-demand.
  • A filtered row under dynamic gets no server instructions and no resource tools. The harness's mcp-client provides both, and this row registers through the plugin's own carrier instead. The tools themselves — argument binding, results, image projection — match a native mount.

License

Apache License 2.0 — see LICENSE. This project includes MIT-licensed portions derived from DeepSeek Harness; see NOTICE.

Further reading

  • AGENTS.md — full install variants, build and wiring, deployment and live-update semantics, release steps, the traps, and the tests.
  • docs/design-decisions.md — why three loading modes, which alternatives were rejected, and how Claude's tool search compares.
  • docs/competitive-landscape.md — comparison with other DSH MCP plugins and the feature roadmap it produces.
  • DeepSeek Harness documentation.