dsh-mcp-lazy
Lazy MCP gateway for DeepSeek Harness: one stable proxy tool instead of N tool schemas, servers connect on first use and idle out, metadata cached to disk.
一句话定位
Lazy MCP gateway for DeepSeek Harness: one stable proxy tool instead of N tool schemas, servers connect on first use and idle out, metadata cached to disk.
安装方式
在 DSH 的 web profile 中执行下面的命令;装完刷新页面即可。
$ dsh plugin --profile web add dsh-mcp-lazy@0.4.1
兼容的 DSH 版本
^0.1.5-rc.1 || ^0.2.0-rc.1
作者与热度
wings1848 · ★ 11 · 更新于 2026-11-09
关于这个插件
dsh-mcp-lazy
A lazy MCP gateway for [DeepSeek Harness](https://github.com/deepseek-ai). It puts one
tool in front of the model instead of N MCP tool schemas: servers start on first use, idle
out again, and their tool metadata is cached on disk so search and describe never spawn
anything.
Why
@deepseek-ai/dsh-mcp-client connects every configured server at startup and registers every
one of its tools as a native tool. As its own README puts it, tool descriptions and input
schemas "enter every request while the tools are registered". A handful of servers therefore
costs thousands of tokens on every request and one resident child process each — whether or
not the model ever calls them.
This plugin keeps the model-facing surface at exactly one tool whose schema never changes,
discovers tools on demand from a disk cache, and only spawns a server when a call needs it.
The numbers
Measured against chrome-devtools-mcp@1.6.0 (29 tools), both sides rendered the same way —
JSON bytes of the tool definitions, then four bytes per token:
| | per request |
| --- | --- |
| native registration | 21252 bytes ≈ 5313 tokens |
| this gateway | 1525 bytes ≈ 381 tokens |
| saved | 92.8% |
The gateway figure is constant: configuring ten more servers does not move it, because their
schemas are read on demand rather than sent every request.
The honest counterweight. The gateway costs a fixed 1525 bytes, so it wins only when a
server's rendered tool definitions exceed that. The bundled fixture offers 7 small tools and
the saving drops to 1.7%. A server with a couple of tiny tools would make the gateway a net
loss. Measure your own before assuming:
pnpm run measure:savings # local fixture node scripts/measure-token-savings.mjs --npx
Install
dsh plugin --profile add dsh-mcp-lazy
Works with the DeepSeek Harness 0.1.5-rc and 0.2.0-rc lines (verified against
0.2.0-rc.2); the package's peer ranges declare exactly that.
That installs the package into the profile and registers its bundle patch, which inserts the
mcp-lazy row. Then give it your servers in the profile's cordis.patch.yml:
- id: mcp-lazy
config:
servers:
- serverName: chrome
transport: stdio
command: npx
args: ['-y', 'chrome-devtools-mcp@1.6.0']
lifecycle: lazy
- serverName: docs
transport: streamable-http
url: http://127.0.0.1:3000/mcp
Restart the profile. Every field is documented in [docs/configuration.md](https://github.com/wings1848/dsh-mcp-lazy/blob/main/docs/configuration.md).
Moving servers off @deepseek-ai/dsh-mcp-client
Every writer of MCP configuration in this ecosystem emits a @deepseek-ai/dsh-mcp-client row:
the config-manager panel hardcodes that package name, @hyzyn/dsh-codegraph writes a managed
row, and a hand-written config follows the same convention. Such a row registers each MCP tool
as a real tool, so its schemas enter every request — and a server listed in both places
cancels the saving this plugin exists for, with no error and nothing to notice. (The mcp({})
status output does warn you — for any server the other plugin serves natively, whether or not
同分类对比
同一分类下 Star 最高的 5 个,便于横向比较。
| 插件 | 作者 | Star | 版本 | 更新 |
|---|---|---|---|---|
| dsh-our-free-model | Ebony-Vinyl | 68K | 2.1.0 | 2026-11-10 |
| next-ai-draw-io | DayuanJiang | 36.9K | 0.4.10 | 2026-11-09 |
| MemOS | MemTensor | 12.3K | 0.0.0 | 2026-11-09 |
| bisheng | dataelement | 12.2K | 0.0.0 | 2026-11-10 |
| webnovel-writer | lingfengQAQ | 7.9K | 0.0.0 | 2026-11-07 |