LBurny/dsh-plugin--packages-dsh-mcp ↗★ 0

dsh-mcp

DSH内置的MCP服务可视化管理面板 适合需要直接在DSH界面中增删、启停和导入MCP工具配置的用户。

包名
dsh-mcp
兼容性
待验证
Harness 依赖范围
^0.2.0-rc.1
版本
0.1.0
许可证
MIT
最近更新
2026年10月10日

同名包的其他仓库

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:LBurny/dsh-plugin#7922dc00723785a651a741a9d255357f56b87f56&path:packages/dsh-mcp

dsh-mcp

Manage MCP servers from inside DeepSeek Harness: add, edit, delete, enable/disable, and import from other agent tool configs.

Ported from DSHDesktop's MCP page. It edits the active profile's cordis.patch.yml through the yaml document API — the same approach as dsh's own dsh-config-editor — so your comments and !!js expression tags survive, and editing an existing server keeps the advanced keys the form does not own (toolCallTimeoutMs, reconnect, …). Writes go through writeFileAtomic with the package's file lock, serialized against the loader's hot reload.

Placement

With dsh-features (功能管理) installed, this panel appears on that hub's single page and no longer docks its own corner button; without the hub — a bare dsh, or a profile where it is not installed — the floating panel is built exactly as before. The coupling is two DOM-level conventions (window.__dshFeatures, #dsh-launchers), described in the repository's AGENTS.md.

Install

dsh plugin --profile web add github:LBurny/dsh-plugin#path:/packages/dsh-mcp
# pin a commit:
dsh plugin --profile web add github:LBurny/dsh-plugin#&path:/packages/dsh-mcp

--profile web = DSHDesktop's shell, --profile desktop = the official desktop app; the panel needs no flag.

Restart dsh afterwards — plugins have no HMR. Server edits themselves do not need a restart: dsh hot-reloads the patch layer.

What it does

  • List the MCP servers in the active profile's patch layer, with transport, a one-line summary and enabled state.
  • Add / edit a server: stdio (command, arguments, env, cwd) or streamable-http (url, headers).
  • Enable / disable by setting disabled: true on the row.
  • Delete a server row.
  • Import from other agent tool configs found under $HOME (Claude-style .mcp.json, Codex-style TOML, …); servers whose transport this plugin cannot express are shown greyed out.
  • /mcp prints the same list as text, without the browser.

Routes

MethodPathPurpose
GET/dsh-mcp/panel.js /dsh-mcp/panel.cssbrowser half
GET/dsh-mcp/api/mcpservers + importable sources + counts + patch path
POST/dsh-mcp/api/mcpupsert · toggle · delete · import

Data

WhatWhere
MCP servers`$DSH_HOME/profiles/
/cordis.patch.yml, as insert` rows

This package keeps no settings file of its own.

Test

# from an installed copy (needs `yaml` and @deepseek-ai/dsh-atomic-write via the profile)
cd "$DSH_HOME/profiles/plugins/dsh-mcp"
node test/mcp.test.mjs

The test guards the thing that matters: a round trip through the editor must leave every other row, every comment and every !!js tag intact.

License

MIT.