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. AM 6:02

신중하게 설치하기

소스 코드, 권한, 수명 주기 스크립트, 의존성 및 네트워크 접근을 검토하고 신뢰하지 않는 플러그인은 격리 환경에서 테스트하세요.