DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Mcp Master — DeepSeek Harness 插件(DSH Plugin)
← Plugins

dsh-mcp-master

Mcp Master

MCP Master for DeepSeek Harness:全局和项目(.mcp.json)MCP 服务器,可在模型选择器旁的选择器中按会话选择,并可随时切换;支持 OAuth 登录和项目服务器信任审核。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add dsh-mcp-master@0.1.0
README兼容性版本

兼容性与来源证明

Mcp Master 以 dsh-mcp-master 发布,当前版本为 0.1.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
npm
Registry 更新时间
2026/10/13

版本

0.1.0stable
2026/10/13

相关插件

正在加载相关插件…

最新版
0.1.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
195.7 kB
文件数
10
Surface
web
许可证
MIT
发布源
npm
GitHub
★ 1
周下载
0
最近提交
2026/10/13
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录

相关插件

继续浏览 integrations-communication 分类下经过校验的插件。

Acp App@deepseek-ai/dsh-acp-appdsh ACP 配置文件包:基于 dsh-base 的仅限自动化的 JSON-RPC stdio 和进程生命周期管理Ab Publishdsh-ab-publish浏览器自动化发布工具,可登录任意网站并发布内容,整合为一个可发布的插件包Ab Wechat Scrapedsh-ab-wechat-scrape--- description: "树外 wechat_scrape 工具:获取微信公众号文章,过滤推广区块,并将每篇文章保存为 Markdown 文件,供此机器的 dsh 配置文件维护者使用。" kind: "package-reference" ---Remote Web Ui@linxin666/dsh-remote-web-ui通过扫码配对访问 dsh Web GUI,共享一个官方界面:设置按钮旁的二维码可将手机和 PC 配对到同一个 Web GUI(手机采用竖屏触控适配层,PC 使用完整桌面界面),通过一次性令牌和 r

README

dsh-mcp-master

English | 中文

MCP Master for DeepSeek Harness. Choose which MCP servers each session uses — from your global list and the workspace's project list — with a picker that sits right before the composer's model selector. Pick them when a session starts, and switch them at any time afterwards, just like the model.

  • Project servers come from the files other agents already use: .mcp.json (Claude Code), .cursor/mcp.json, .vscode/mcp.json, .dsh/mcp.json.
  • Global servers come from ~/.dsh/mcp-master/mcp.json (same mcpServers format). A project server shadows a global one of the same name.
// <workspace>/.mcp.json  or  ~/.dsh/mcp-master/mcp.json
{
  "mcpServers": {
    "orion-mcp":            { "command": "uv", "args": ["run", "--project", ".", "orion-mcp"] },
    "atlassian-mcp-server": { "type": "http", "url": "https://mcp.atlassian.com/v1/mcp/authv2" },
    "conduktor-console":    { "command": "npx", "args": ["mcp-remote", "https://…/api/mcp", "--header", "Authorization: Bearer ${CONDUKTOR_API_TOKEN}"], "enabled": false }
  }
}

The picker

[ 🔌 MCP 2 ● ] [ model ▾ ] [ ➤ ] — in the composer row of every session, including a brand-new one.

  • Zero footprint when unused: no global or project servers → nothing renders.
  • Chip: number of servers active in this session and one status dot for them (green connected · amber sign-in needed · red failing · pulsing starting). A small blue dot means project servers await review.
  • Panel (click the chip; Esc / click outside to close): Project and Global groups. Each row has a checkbox = use in this session, status, transport, a default tag, and inline Sign in / Retry. Expand a row for the command/URL (as written — never variable-expanded), auth, server version, tools, logs, Reconnect, Sign out, Revoke trust.
  • Footer: what new sessions start with, and Use for new sessions to save the current selection as this workspace's default (Reset returns to the files' own enabled flags).
  • Theme tokens only (light/dark follow the app); copy follows Settings → General → Language.

How sessions get servers

TopicBehavior
New sessionStarts from the workspace default: the saved one, or else every trusted server whose file entry is not "enabled": false / "disabled": true.
Forks & subagentsInherit the parent session's selection (parentSession).
Switching laterChecking/unchecking registers/unregisters that server's tools in this session only, from the next step on. DSH itself records tool additions/removals in the session log (developer/message tool-addition/removal), so history, resume, and replay stay consistent — unlike an agent preset, which is a whole plugin composition and therefore locked once the session starts.
PersistenceSelections, defaults, trust, and OAuth tokens live in ~/.dsh/mcp-master/state.json (0600). Config files are never modified.
Process lifetimeA server runs while a live session — or a session open in the UI but not started yet — selects it; it stops 2 minutes after the last one deselects it, and a workspace with no sessions or viewers shuts down after 15 idle minutes.

Trust (project servers)

A .mcp.json in a cloned repository can run any command, so project servers must be trusted before they run (same model as Claude Code's project-server approval). Checking an untrusted server shows the exact command/URL with Trust & use. Trust is per workspace and bound to the entry as written: if the command, args, env, URL, or headers change, the server becomes Changed and needs review again. Global servers are yours and always trusted. autoTrust: true skips the review.

Transports and auth

  • stdio (own process group, reaped with its children; cwd = workspace root), Streamable HTTP (session ids, SSE responses, list_changed stream), legacy HTTP+SSE (automatic fallback). Server→client ping / roots/list are answered.
  • OAuth per the MCP authorization spec: RFC 9728 → RFC 8414/OIDC discovery → RFC 7591 dynamic client registration → authorization code + PKCE (S256) with RFC 8707 resource, then refresh. Tokens are keyed by server URL, so one sign-in covers every workspace. An explicit Authorization header is used as-is; "oauth": { "clientId", "clientSecret", "scope" } covers providers without dynamic registration.
  • Variables: ${VAR}, ${VAR:-default}, ${env:VAR}, ${workspaceFolder} — resolved from DSH's environment layered over your login-shell environment (so ~/.zshrc exports and your shell PATH work in the desktop app).
  • Tools are named mcp__<server>__<tool> like the built-in MCP client; input schemas are folded into the registry's JSON-Schema subset ($ref, nullable anyOf, type arrays, allOf; dropped constraints become description hints); readOnlyHint tools may run in parallel.

Configuration (optional)

# your profile's cordis.patch.yml
- id: mcp-master
  name: dsh-mcp-master
  config:
    globalConfigFile: ~/.dsh/mcp-master/mcp.json   # false disables the global scope
    configFiles: [.mcp.json, .cursor/mcp.json, .vscode/mcp.json, .dsh/mcp.json]
    autoTrust: false
    searchParents: true          # also look in parent directories of the session cwd
    startupWaitMs: 5000          # a new session waits this long for selected servers that are still starting
    connectTimeoutMs: 60000
    toolCallTimeoutMs: 300000
    idleShutdownMinutes: 15

Security notes

  • /mcp-master/api/* passes DSH's connection fence (Host/Origin + browser authentication); mutating calls also need a custom header that cross-origin pages cannot send without a CORS preflight; paths must be inside registered workspaces or live session directories.
  • The OAuth redirect (/mcp-master/oauth/callback) opens in your system browser without the DSH cookie and is authorized by a single-use 192-bit state.
  • Logs and the UI redact codes, tokens, and Bearer values; command lines are shown unexpanded. state.json holds tokens — treat it like a credentials file.

Develop

pnpm install
pnpm run verify          # build + typecheck + tests (node --test runs the .ts tests directly)
PathRole
src/index.tsHost entry: options, agent lifecycle hooks, route mounting
src/host/config.tsCatalog discovery (project + global), dialects, variable expansion, fingerprints
src/host/runtime.tsTrust, defaults, per-session selections, server lifecycle, per-agent tool registration
src/host/state.tsPersistent state (~/.dsh/mcp-master/state.json)
src/host/stdio.ts, http.ts, jsonrpc.tsMCP transports and JSON-RPC plumbing (zero runtime dependencies)
src/host/oauth.tsMCP authorization (discovery, DCR, PKCE, refresh)
src/host/schema.ts, tools.tsSchema folding and ToolDefinitions
src/host/api.tsHTTP API + OAuth callback
src/client/*Composer picker (React; __ModuleLoader__ bundle; portal popover like the model menu)
src/shared/types.tsWire contract between the halves

After rebuilding an installed copy, restart DSH: the Host module is an ES module and is not re-imported in place.

License

MIT