DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

Mcp Panel — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins

dsh-mcp-panel

Mcp Panel

MCP management console for the official DeepSeek Harness MCP client: /mcp command with health diagnostics and pipeline trial calls, a Settings MCP tab with server CRUD (append-only profile-patch fragments, approval-gated writes with automatic backups), a

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add github:PerryLink/dsh-mcp-panel#8793df3e6e1b3ad1d01f2186b455051456029ded
READMECompatibilityVersions

Compatibility and provenance

Mcp Panel is published as dsh-mcp-panel and currently resolves to version 0.6.16. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
github
Registry updated
9/20/2026

Versions

0.6.16stable
9/18/2026
0.6.15stable
9/15/2026
0.6.14stable
9/12/2026
Show 21 more versionsCollapse versions
0.6.13stable
9/10/2026
0.6.12stable
9/10/2026
0.6.11stable
9/9/2026
0.6.10stable
9/9/2026
0.6.9stable
9/7/2026
0.6.8stable
9/7/2026
0.6.7stable
9/4/2026
0.6.6stable
9/3/2026
0.6.5stable
9/2/2026
0.6.4stable
9/2/2026
0.6.3stable
9/1/2026
0.6.2stable
8/30/2026
0.6.1stable
8/27/2026
0.6.0stable
8/26/2026
0.5.1stable
8/22/2026
0.5.0stable
8/21/2026
0.4.2stable
8/21/2026
0.4.1stable
8/19/2026

Related plugins

Loading related plugins…

Latest
0.6.16
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
web
License
Apache-2.0
Source
github
GitHub
★ 61
Weekly downloads
1,411
Last push
9/19/2026
View source ↗Project homepage ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue
0.4.0stable
8/16/2026
0.3.0stable
8/15/2026
0.2.0stable
8/14/2026

Related plugins

More verified plugins in integrations-communication.

Acp App@deepseek-ai/dsh-acp-appThe dsh ACP profile bundle: automation-only JSON-RPC stdio and process lifecycle over dsh-baseRemote Web Ui@linxin666/dsh-remote-web-uiScan-to-pair remote access for the dsh web GUI that shares one official interface: a QR beside the settings button pairs phones and PCs into the same Web GUI (a portrait-touch adaptation layer for phones, full desktop on PCs) through one-time tokens and rPocketdsh-pocketPut DeepSeek Harness in your pocket: one package, one settings page, and scan a QR code on your phone to access DSH on your computer in sync (LAN + public network, real-time screen mirroring).DSCODE@toddzheng024/dscode-bundleA complete DeepSeek coding agent with persistent shell, Ultra collaboration and automatic permission review.

README

dsh-mcp-panel

  • 1024 store channel: npm i -g dsh1024 once, then dsh1024 plugin --profile web add dsh-mcp-panel (counts toward the deepseek1024.com install ranking).

The MCP management console for the official DeepSeek Harness MCP client — add, edit, remove, and trial-call MCP servers from a settings page, with honest status, health diagnostics, and safe, reversible profile writes.

Official client = bridge, this plugin = console: read status through the mcp/status seam, write only append-only, approval-gated profile patches.

Official repository. This is the only official repository of dsh-mcp-panel, maintained by PerryLink. Same-name repositories under other accounts are not affiliated.

English · 简体中文 · Español · Português · हिन्दी


Compatibility

SurfaceStatus
HarnessDeepSeek Harness dsh-v0.1.6-alpha.2 (verified 2026-09-18): dual typecheck rulers green on the 0.1.6-alpha.2 dev/test face (this repo is the family's canary — no new errors surfaced), 174 tests, and the full gate chain (typecheck / typecheck:ci / test / build / verify / package). The writePatch re-verification assertion stands on this line. Previous baseline: dsh-v0.1.6-alpha.1 (verified 2026-09-16).
Node^22.19.0 || >=24.0.0
PlatformsWeb GUI (dual-face: host + browser)
ModelAny (the panel is read-only; only /mcp output is model-readable)

What you get

dsh-mcp-panel is the experience layer on top of the official MCP client: a read-only runtime view plus safe, reversible profile writes.

  • /mcp command — one row per server: transport, target, tool count, connection status (from the upstream seam; unknown when unobserved), last error, reconnect count — model-readable, session-log reconstructable, five output languages.
  • /mcp <server> tools — model-visible mcp__* tool names and descriptions.
  • /mcp <server> health — derived self-heal suggestions (ENOENT → missing dependency, ECONNREFUSED, timeouts, 401/403/404, DNS, rate limit, reconnect exhaustion…); exit code / stderr tail honestly labeled pending upstream support until the client exposes them.
  • /mcp <server> disable / enable — turn one server row off or back on without editing the profile patch by hand.
  • /mcp <server> probe — one Streamable HTTP connectivity probe for that server (background job).
  • /mcp <server> call <tool> [json] — trial-call through the official tool pipeline (ctx.tools.execute()); pre-execute permission policy, approval, guards, and post-execute all apply.
  • Settings → Plugins → MCP tab — status cards with badges, diagnostics, and probes, plus the server CRUD and the tool trial console.
  • Server CRUD — add/edit/remove forms → insert for add and id-targeted overrides (- id: + name: + disabled:/config:) for edit/remove → clipboard copy or approval-gated write with automatic backups and loader re-verification.
  • Resources browse — read-only resource listing, template listing, and URI reads through the official list_mcp_resources / list_mcp_resource_templates / read_mcp_resource tools (bridged by the shipped @deepseek-ai/dsh-mcp-resources service); results are shown in the tab only, never in model context.
  • Recommended directory — a built-in community MCP server catalog (filesystem, git, github, fetch, playwright, …) served in the snapshot; catalogEntries appends/overrides entries, and catalogToConfigInput turns one into a one-click add.
  • Config import/export — exportConfigs() serializes the server rows to a versioned JSON document (a !!js row exports as null with a reason), and importPreview() parses an export back into per-server patch fragments for review.

Architecture: official client = bridge, this plugin = console

@deepseek-ai/dsh-mcp-client is the only bridge: one plugin instance per MCP server, configured as a hand-written cordis.yml row, connecting the transport, syncing tools, and registering mcp__<server>__<tool> names. This plugin never replaces it — it is the experience layer on top:

                    ┌────────────────────────────────────────────┐
 profile            │  cordis.yml / cordis.patch.yml             │
 composition        │   - id: mcp-github                          │
 (one row per       │     name: '@deepseek-ai/dsh-mcp-client'     │
  server, hand-     │     config: { serverName, transport, … }    │
  written)          │   - id: mcp-panel                           │
                    │     name: dsh-mcp-panel   ◄── this plugin   │
                    └───────────────┬────────────────────────────┘
                                    │
        ┌───────────────────────────┴───────────────────────────┐
        │                                                        │
   ┌────▼──────────────┐        ┌───────────────────────────┐    │
   │ @deepseek-ai/dsh- │        │ dsh-mcp-panel (console)   │    │
   │ mcp-client        │        │                           │    │
   │ • transport       │        │ • /mcp command            │    │
   │ • tool sync       │        │ • Settings → Plugins →    │    │
   │ • mcp__* tools    │◄──────►│   MCP tab: CRUD, trial    │    │
   │ • mcp/status seam │ status │ • health diagnostics      │    │
   └───────────────────┘        │ • probes, capabilities    │    │
                                └───────────────────────────┘    │

The console reads the client through its proposed mcp/status observability seam (not yet shipped upstream; feature-detected) (event + mcpStatus query service), the tool registry, and the loader; it writes only the profile's patch layer — append-only, approval-gated, always backed up. Transport, OAuth, and protocol stay untouched.

Console vs. hand-written cordis.yml

Hand-written cordis.ymldsh-mcp-panel console
Add a serverEdit YAML, mind indent/quotingForm → patch fragment → copy or write (approval + auto backup)
Edit a serverEdit YAML, restart/hot-reloadForm pre-filled from the live row; unchanged secrets keep their raw values host-side
Remove a serverDelete the row- id: + disabled: true override (the patch vocabulary has no remove) — re-enableable anytime
See statusRead logsBadges + reconnects + last error, live from the mcp/status seam
Try a toolAsk the model to call itTrial console → official ctx.tools.execute() pipeline (permission & approval stay in force)
Diagnose failuresGrep logs/mcp <server> health with derived self-heal suggestions
MistakesManual revertEvery write is append-only and leaves a timestamped backup

The console's output IS cordis.patch.yml vocabulary — the same lines you would write by hand, generated, previewed, and applied safely.

Quick start

# 1. install the bundle into your profile
dsh plugin --profile web add "github:PerryLink/dsh-mcp-panel#main"

# or from npm (published releases)
dsh plugin --profile web add dsh-mcp-panel

# 2. restart and verify the row
dsh --profile web --dump-config | grep -A3 'id: mcp-panel'

Then open Settings → Plugins → MCP, or run:

/mcp
/mcp everything tools
/mcp everything health
/mcp everything call echo '{"message": "hi"}'

Install & uninstall

  • git channel (latest main): dsh plugin --profile web add "github:PerryLink/dsh-mcp-panel#main" — the prepare script builds with production dependencies only.
  • npm channel (published releases): dsh plugin --profile web add dsh-mcp-panel.
  • tarball channel: pnpm pack in this repo, then dsh plugin --profile web add ./dsh-mcp-panel-<version>.tgz.
  • uninstall: remove the mcp-panel row from cordis.patch.yml (the web surface hot-reloads it), delete the package from the profile's node_modules, and verify with dsh web --dump-config that no mcp-panel row remains.

Configuration

All tunables are Schemastery Config fields (changeable from cordis.yml). cordis.patch.yml documents the common keys inline; the full key list lives in the table below.

KeyDefaultMeaning
probeEnabledtrueRegister the mcp_probe background-job tool (panel-only results)
probeTimeoutMs10000Per-probe timeout in ms
maxProbes10Probe records shown in the panel
refreshIntervalMs0Suggested panel refresh in ms; 0 = on demand
outputLanguageen/mcp output language: en | zh | es | pt | hi
passiveProbeEnabledfalsePeriodically probe streamable-http servers
passiveProbeIntervalMs60000Passive probe interval in ms
trialEnabledtrueTool trial console (settings tab + /mcp call)
trialTimeoutMs120000Panel-side deadline per trial call in ms
trialMaxResultChars60000Cap on the trial result payload in chars
writeEnabledtrueKill switch: false rejects every profile write (copy still works)
writeVerifyEnabledtrueRe-verify each write against the loader's re-applied state before reporting success
writeVerifyTimeoutMs3000Polling budget for write verification in ms
backupCount5cordis.patch.yml backups retained per write
catalogEntries[]User overlay for the recommended server directory: entries append, an entry with the same id replaces the built-in one

Tools & surfaces

SurfaceKindNotes
/mcpcommandPer-server status row; model-readable and log-reconstructable
/mcp <server> toolscommandModel-visible mcp__* tool names + descriptions
/mcp <server> healthcommandDerived self-heal suggestions from sanitized error text
/mcp <server> disable / enablecommandToggle one server row in the profile patch
/mcp <server> probecommandOne Streamable HTTP connectivity probe (background job)
/mcp <server> call <tool> [json]commandTrial-call through the official tool pipeline
mcp_probetoolOptional Streamable HTTP connectivity probe (background job)
Settings → Plugins → MCP tabUI slotStatus cards, server CRUD, and the tool trial console
mcpPanel Typert RemoteserviceRead-only snapshot channel (host → client)

Resources & Prompts

Resources ARE bridged upstream: the base bundle mounts @deepseek-ai/dsh-mcp-resources, the official client registers each connection's resource provider into ctx.mcpResources, and that package owns the three shared tools (list_mcp_resources, list_mcp_resource_templates, read_mcp_resource). The console feature-detects the service and the registered tools, and offers a read-only Resources browser (list / templates / URI read) on every server card — each call runs through the OFFICIAL tool pipeline, and results never enter model context.

MCP prompt templates and resource subscriptions remain deferred upstream; the capabilities board marks Prompts pending upstream support.

Permissions & data

  • Permissions: the dshWorkshop manifest declares network:outbound and native-code:none.
  • Data: the panel is read-only; it writes only append-only cordis.patch.yml fragments (approval-gated, backup-first). URL query credentials, userinfo passwords, header values, bearer tokens, and JWTs are redacted before rendering; configured headers never enter any snapshot, and env/header values never leave the host (the editor sees keys only).

Security boundaries

  • The bridge stays the bridge. No transport, OAuth, or protocol changes; one mcp-client row per server, exactly as hand-written.
  • No fake status. Connection fields without upstream observations read unknown / — with statusSource: 'derived'; exit codes and stderr tails are never invented.
  • Writes are append-only, approval-gated, and backed up. The console never rewrites cordis.patch.yml; it appends generated operations, keeps the newest backupCount backups, and re-verifies every write against the loader's re-applied state before reporting success (a skipped patch never reads as success).
  • No prompt injection. The panel registers no prompt sections; its only model-facing text is the two tool/command descriptions.

Known limitations

  • Prompt templates & resource subscriptions are pending upstream support — the official client bridges tools and resources, but not prompts or subscriptions.
  • Exit codes / stderr tails are labeled pending upstream support until the client exposes them.
  • Read-only panel — the console never fakes a connection state; unobservable fields read unknown / -1 / —.
  • Writes are verified, not guaranteed — the console re-verifies each write against the loader's re-applied state and fails honestly when the loader did not apply it (e.g. a row inserted by $DSH_HOME/cordis.patch.yml, which a profile-layer patch cannot reach).

Development

pnpm run typecheck && pnpm run typecheck:ci && pnpm test && pnpm run build && pnpm run verify:self-contained && pnpm run verify:artifacts && pnpm pack

scripts/verify-headless.mjs boots the real web profile and prints the exact /mcp output. Releases: node scripts/release.mjs <x.y.z> runs the full gate, commits, and tags v<x.y.z> locally (never pushes).

Topics

dsh, dsh-plugin, deepseek-harness, deepseek, cordis, mcp, mcp-client, observability, panel

Contributors

  • @PerryLink — creator and maintainer.
  • @xiaoyuyu6420 — diagnosed the missing client devDependencies behind clean-checkout build failures (PR #5).
  • @feiler0 — contributed the stdio MCP server probe (one MCP initialize handshake over stdin/stdout) (PR #7, merged as PR #15).

PerryLink DSH Plugin Family

This project is one of the 40 DeepSeek Harness plugins maintained by PerryLink. If this one helps you, the others likely will too:

PluginOne-liner
dsh-auto-reviewSecond-model auto-review on the approval chain, fail-closed by default
dsh-background-agentsDurable background child agents with a Web UI sidebar, messaging and interrupt
dsh-budgetCost governance for DeepSeek Harness: budgets, carbon, and latency in one panel.
dsh-checkpoint-rewindClaude Code /rewind-equivalent: snapshots, session forks, one-shot restore
dsh-claude-moveMigrate Claude Code sessions, memory, skills and CLAUDE.md into DSH
dsh-clickCross-platform native desktop control for DeepSeek Harness — Windows first.
dsh-composer-historyTerminal-style input history for the web composer: arrows, Ctrl+R search
dsh-data-qualityDataset quality checks and citation cross-checks (the optional numeric bridge consumed here)
dsh-defendPrompt-injection, jailbreak, and secret-leak defense for DeepSeek Harness.
dsh-doublecheckEngineering-discipline guard: requirements grill, test gates, adversary review
dsh-drawUnified static-image generation routing for DeepSeek Harness.

Install from the DSH Desktop Market

All PerryLink plugins are browsable in the built-in DSH Desktop Market: Market → Sources → add source → paste https://perrylink-dsh-catalog.perrylink.workers.dev/catalog-source.json → select it. Installation still goes through the Market's npm-identity verification and your confirmation.

License

Apache License 2.0 © 2026 dsh-mcp-panel contributors

add
  • Tool trial console — server → mcp__* tool → JSON args → canonical JSON result + rendered content; capped by trialMaxResultChars; panel-only, never model context.
  • dsh-fastRead-only performance diagnostics for DeepSeek Harness.
    dsh-fund-researchDeterministic research reports for Chinese public mutual funds
    dsh-githubGitHub PR/issues integration for DSH, every write gated by approval
    dsh-industry-researchIndustry research orchestration that seals its deliverables through this plugin's ctx.researchReport.assemble
    dsh-libraryLocal document knowledge base for DeepSeek Harness.
    dsh-local-aiLocal-model (Ollama) integration for DeepSeek Harness.
    dsh-lsp-actionsLSP diagnostics, formatting, completion, code actions and rename over language servers
    dsh-maskPII masking middleware: anonymize at the model boundary, restore at the display layer
    dsh-mementoApproval-gated cross-session memory: ctx.memory seam + SQLite + memory tool
    dsh-observeOpenTelemetry and Langfuse observability exporter for DeepSeek Harness.
    dsh-output-stylesClaude Code outputStyles-equivalent runtime style switching
    dsh-permission-rulesClaude Code-style declarative allow/deny/ask permission rules with audit
    dsh-personal-directivePersonal directive injector with top-bar toggle (framework edition)
    dsh-plugin-guidePlugin-development knowledge base as an on-demand agent skill
    dsh-plugin-doctorZero-dependency static + sandbox smoke detector for DSH plugins
    dsh-reachMulti-channel approval/question bridge: WeChat/Telegram/Feishu, session console
    dsh-research-reportVerifiable research-report engine: content-addressed evidence ledger and sealed versions
    dsh-scoreMulti-dimensional quality scoring for DeepSeek Harness plugins.
    dsh-session-pinPin sessions in the Web sidebar with durable ordering
    dsh-session-syncCross-device session sync for DeepSeek Harness — a dedicated git mirror of your session store.
    dsh-skill-pack-securitySecurity-audit skill pack: secret scan, dependency and supply-chain review
    dsh-talkVoice-first session loop for DeepSeek Harness: talk to it, hear it answer.
    dsh-test-driveIsolated install-and-smoke test drives for DeepSeek Harness plugins.
    dsh-ticktickTickTick/Dida365 task bridge: session-header panel + 11 tools
    dsh-translateVendor parameter translation and deterministic JSON repair for DeepSeek Harness.
    dsh-wechatWeChat ↔ DSH bridge (Tencent iLink bot): text/image/file/voice, approvals in chat
    dsh-autotierAutomatic strong/cheap model-tier routing with deterministic risk guards and a /tier command
    dsh-catalogDSH Desktop Market standard catalog source for the PerryLink family
    dsh-cert-mcpRead-only MCP server exposing the certification registry: grades, snapshots and five-dimension evidence
    dsh-kitOne-command starter pack that installs the core family
    dsh-plugin-certificationCommunity certification registry with repro-checkable grades and badges
    dsh-plugin-kitShared zero-runtime-dependency toolkit for the PerryLink DSH plugins
    dsh-plugin-portalZero-dependency static portal rendering the whole plugin family as one page
    dsh-plugin-upgrade-015Merged 0.1.3-alpha.1 → 0.1.5-rc.1 upgrade corridor card plus a zero-dependency seam scanner
    dsh-team-roomsCross-session team rooms: shared message bus, task board and timeline