meltartica / dsh-mcp-servers

已收录

DeepSeek Harness bundle that exposes Model Context Protocol (MCP) servers as native tools, with a settings UI, live status, auto-reconnect, and backup/restore via local files or WebDAV.

main模型工具 查看源代码

安装

npm run pack # build + produce dsh-mcp-servers-<version>.tgz

此命令根据 GitHub 仓库地址生成。运行前请检查上游 README 与源代码;需要可复现安装时,请固定 release 或 commit。

README

维护者编写的文档快照。

在 GitHub 查看 ↗
提交版本 221f456同步于 2026年8月17日

dsh-mcp-servers

Expose Model Context Protocol servers as tools inside DeepSeek Harness. A dsh bundle with both a server half (connects to MCP servers, registers their tools) and a client half (a settings UI in the web app).

Made with DeepSeek V4 Flash.

Features

  • stdio, streamable http, and legacy SSE transports — one shared endpoint field, tabs in the UI
  • Tools registered automatically under mcp__<serverId>__<toolName> — the same server-qualified shape the official @deepseek-ai/dsh-mcp-client and Claude Code use (e.g. server id shadcnmcp__shadcn__get_component); names are normalized to [A-Za-z0-9_-], capped at 64 chars, and get a deterministic 12-hex hash suffix when normalization/truncation would collide
  • tools/list_changed re-sync — when a server signals its tool list changed, the generation re-registers in place (old tools stay live until the new set registers)
  • Live status dots — green when connected, red with the reason on failure; auto-reconnects with backoff when a connection drops (idle SSE streams, crashed processes)
  • Test button per card — probes connect + tool listing against the current draft without registering anything
  • Edit cards — type tabs, command/args textarea, env variables (or http headers) as key/value rows with show/hide values, paste .env from the clipboard, enabled switch
  • Tabs: All / Local / Remote / Backup & Restore
  • Backup & Restore: export/import the server list as JSON (with inline preview), and optional WebDAV sync (push/pull, https-only, Basic auth) plus an optional daily automatic backup at 12:00 PM — password stored server-side as a secret, never sent back to the browser

Install

Requires DeepSeek Harness with the dsh CLI.

# from a directory containing this repo (or publish it, then use the bare name);
# <name> is the profile you boot, e.g. `web`
dsh plugin --profile <name> add ./dsh-mcp-servers
dsh --profile <name>

Then open Settings → MCP Servers, add a server, hit Test, and Save.

Other install methods

From a built tarball (npm run pack produces dsh-mcp-servers-<version>.tgz):

dsh plugin --profile <name> add ./dsh-mcp-servers-<version>.tgz

Rebuild after changes with npm run build — profiles load the built dist/ and client/client.js, not the sources.

Configuration

stdio server

fieldexample
typestdio
commandnpx
command args-y
@modelcontextprotocol/server-everything (one per line, first line is the command)
envkey/value rows, e.g. API_KEY / your token

http / sse server

fieldexample
typehttp (streamable) or sse (legacy event-stream)
urlhttps://example.com/mcp or https://example.com/sse
headerskey/value rows (e.g. Authorization / Bearer …)

Backup & Restore

  • Local file: export the current config (all servers, endpoints, env, headers) as JSON, import it back, or preview what would be exported.
  • WebDAV: URL, username, password (https only), Push/Pull. Toggle Back up daily at 12:00 PM to auto-push every day at noon local time.

Development

npm install          # note: .npmrc sets legacy-peer-deps (two framework rc lines)
npm run build        # server dist/ + client bundle
npm run check        # typecheck (server + client) + sanitizer test
npm run pack         # build + produce dsh-mcp-servers-<version>.tgz
npm run publish:npm  # build + publish to npm (run `npm login` first)

Versioning is build-based: 1.<YYMMDD>.<build> (e.g. 1.260817.1); the counter increments on every build and resets each day.

The client UI follows the Harness design system: primitives are host-injected externals (@deepseek-ai/dsh-client-ui-primitives) and native controls use --dsw-* theme tokens with hex fallbacks.

Notes / limitations

  • Tool input schemas are whitelist-stripped to the Harness-supported JSON Schema subset (src/sanitize.ts); unsupported keywords (minLength, format, anyOf, schema-form additionalProperties) are dropped.
  • MCP results render as text; image/resource blocks collapse to JSON/text, not rich blocks.
  • WebDAV requires an https endpoint; credentials in the URL are rejected (passed separately).
  • Config/WebDAV routes are loopback-only.

项目文件与信号

以下项目是目录快照中检测到的公开仓库信号。

测试已检测

仓库信息

开发语言
TypeScript
许可证
MIT
最后更新
2026年8月17日 06:02

谨慎安装

请检查源代码、权限、生命周期脚本、依赖与网络访问;不受信任的插件应先在隔离环境中测试。