dsh-project-mcp-manager
Maintenance: Activewldxiaobai/dsh-project-mcp-manager
An MCP management plugin for DeepSeek Harness that extends configuration across both projects and users.
$ dsh plugin add dsh-project-mcp-managerInstall
dsh has no central install command — add this plugin’s entry (documented in its README) to your profile or patch config, then restart.
How installs work10
stars
3
forks
TypeScript
Language
MIT
License
2026-08-22
Created
2026-11-12
Last push
README
dsh-project-mcp-manager
English | 中文
A project-level MCP auto-loading plugin for DSH: write MCP server configs in
<projectRoot>/.dsh/mcp.yml or .dsh/mcp.json and they are mounted
automatically (via the official @deepseek-ai/dsh-mcp-client) whenever a dsh
session opens in that project. Changes to the file hot-reload into the running
dsh process, and tool visibility follows the session's original project
(session.header.cwd). The default
dsh-project-mcp-manager bundle includes the loader and the companion
dsh-project-mcp-ui MCP Manager page for the web and desktop apps (three
entries — main sidebar, settings sidebar, and a Built-in plugins settings tab — all
opening the same panel). The UI is
enabled by default and can be disabled independently; the loader keeps working.
Eager capability boundary (dsh ≥ 0.2.2-rc.1): the official client owns the
protocol, reconnect, tool names, resources, and server instructions. Shipped
profiles already mount shared MCP resource tools. Official configuration is
a profile-layer Cordis patch (with that layer's own HMR) plus
plugin_manager. This plugin still owns what the host does not:
- Project-level discovery of
<projectRoot>/.dsh/mcp.yml,.dsh/mcp.json, and the read-only legacy.mcp.json. - Tool visibility isolated by the session's original project
(
session.header.cwd).working_directorydoes not retarget it. - The MCP file format, the
dsh-mcpCLI, and the MCP Manager page.
Project-file hot reload is this plugin's file watcher. It does not replace official profile HMR. Transport types are decided by the official client.
Supported dsh versions:
| Plugin | dsh |
|---|---|
| v0.11.x – v0.13.x | 0.2 line, from 0.2.2-rc.1 (engines.dsh: ^0.2.2-rc.1) |
| v0.10.x | 0.2.1-rc.2 – 0.2.1-rc.5 |
| v0.7.x – v0.8.x | 0.2.0 line, from 0.2.0-rc.2 |
| v0.6.0 | 0.1.5 |
If this plugin is useful, a GitHub star is appreciated. Bugs, host mismatches, or ideas belong in Issues — even a short report helps.
Lazy loading on DSH 0.2.2-rc.1
Choose Lazy for a server in MCP Manager, or add "mode": "lazy" to
its entry under mcpServers in .dsh/mcp.json. In a managed mcp.yml
row, use config.mode: lazy. The default is eager.
Lazy supports stdio and Streamable HTTP. Use mcp_search to find a tool,
mcp_describe for its schemas, and mcp_call to run it. Search connects
to the visible Lazy servers to discover their tools. Pass server to
limit discovery to one. Each connection caches its tool list and closes
when the session ends or the row is unloaded. Tool allow and deny
rules apply to all three proxies.
Use Eager for servers that need DSH resource integration, server instructions, or host policies targeting individual registered tools. Lazy handles MCP tool calls, with DSH's MCP result adapter for text and images. A failed connection can be retried on the next request.
Context cost in the header
For the focused session, the MCP Manager header shows two estimates:
- MCP — the MCP tool definitions the model can see (schemas and
descriptions), grouped by server; visible
mcp_search,mcp_describe, andmcp_calldefinitions count once as shared Lazy overhead. - Results — the MCP tool results still retained on the current surface,
including every result returned through Lazy
mcp_search,mcp_describe, andmcp_call. Results removed by the tool-result pruner or by compaction no longer count.
Both use the host's four-characters-per-token heuristic: they are estimates,
not provider counts, and exclude server instructions and conversation history.
A tag is absent when there is no session or nothing to price; clicking it opens
the per-server breakdown and the context-window share. The Results bubble
also shows definitions + results combined. The figure refreshes after request
headers, tool results, and compaction replacements without polling. In code mode
(PTC) the two tags merge into one MCP n/a, explicitly marked as not estimable
on this basis rather than shown as zero. Details:
MCP Manager page and
query surface.
Installation (mount into a profile)
Install only dsh-project-mcp-manager; it brings the core loader and the MCP
Manager page. How the bundle is laid out: install.
Prerequisite: install dsh itself (skip if you already have it). Download DeepSeek Harness from the official page: https://www.deepseek.com/harness/. To install it from npm or GitHub instead:
npm install -g @deepseek-ai/dsh # official npm package
npm install -g deepseek-ai/dsh # or install from the GitHub source
Option 1: the dsh plugin command (recommended) — dsh plugin forwards
pnpm inside the profile directory and handles installing/upgrading
dependencies:
# Install the latest version with the UI included (choose your profile)
dsh plugin --profile web add dsh-project-mcp-manager@latest
dsh plugin --profile desktop add dsh-project-mcp-manager@latest
# For other profiles, e.g. headless, substitute the profile name.
# Pin a release version (check available versions with
# npm view dsh-project-mcp-manager versions; bundled UI needs the coordinated release)
dsh plugin --profile web add dsh-project-mcp-manager@<version>
Option 2: install directly with pnpm (equivalent to option 1):
# dshHome defaults to %USERPROFILE%\.dsh (uses $DSH_HOME if set)
cd $env:USERPROFILE\.dsh\profiles\web
pnpm add dsh-project-mcp-manager@latest
Option 3: local development install — build the checkout, then link only its root manager package. The workspace dependency supplies the matching UI; no separate UI link or bundle selection is needed:
More in Plugin Tooling
dsh-context
by bowenliang123
Context dashboard tab + /context command showing context-window composition, per-turn history, compaction/prune events, per-message token costs
jingyun-dsh
by jingyunstudio
A one-stop AI commercialization desktop client built on Jingyun Studio plus DeepSeek Harness (DSH).
api-relay-audit
by toby-bridges
Local security audit for AI API relays and LLM proxies: detects prompt injection, model substitution, tool-call rewriting, SSE anomalies, error leakage, and Web3 wallet risks. Website: https://apirelayaudit.com
awesome-ai-pedia
by awesome-ai-pedia
One-stop AI resource encyclopedia for dsh — LLMs, agents, RAG, multimodal, MLOps, AI tools, vibe coding and learning roadmaps, constantly updated.
