dsh-cert-mcp
September 13, 2026 · View on GitHub
Read-only MCP server that exposes the dsh-plugin-certification registry: certification grades, snapshot dates and five-dimension evidence for DeepSeek Harness (DSH) plugins. Zero runtime dependencies, stdio transport.
Tools
| Tool | Input | Returns |
|---|---|---|
get_certification | owner, repo | Full certification record (grade, snapshot, five dimensions, veto, notes) or "no record" |
list_certified | — | Every entry in the public registry: repo / grade / snapshot |
certification_spec | — | Spec v1 summary: five dimensions, grade scale, veto rule |
The embedded snapshot lives in data/certified.json (synced from the certification repo) and the server refreshes it from the public registry at most once per five minutes. No writes, no secrets, no code execution.
Install
git clone https://github.com/PerryLink/dsh-cert-mcp
cd dsh-cert-mcp
node src/index.js # stdio server
Run it directly from the published npm package: npx @perrylink/dsh-cert-mcp.
Register in an MCP client
Claude Code:
claude mcp add dsh-cert -- node <path-to-repo>/src/index.js
Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"dsh-cert": {
"command": "node",
"args": ["<path-to-repo>/src/index.js"]
}
}
}
DSH: add it through dsh-mcp-panel as a stdio server, or any MCP client that supports stdio.
Install as a DSH bundle
The package declares dsh.bundle.patch → cordis.patch.yml, so it also installs as a DeepSeek Harness bundle:
# git channel (latest main)
dsh plugin --profile web add "github:PerryLink/dsh-cert-mcp#main"
# npm channel (published releases)
dsh plugin --profile web add @perrylink/dsh-cert-mcp
The inserted row loads the package through the standard Cordis plugin contract: the host half is a plain ESM module exporting apply(ctx) (declaring inject only when it needs services). This package ships no browser UI, so there is no dsh.client declaration.
// bundle entry (host half) — the contract the patch row loads
export function apply(ctx) {
// registers the read-only certification lookup surface
// (get_certification / list_certified / certification_spec)
}
Remove it with dsh plugin --profile web remove @perrylink/dsh-cert-mcp (or delete the row from the profile patch). The standalone stdio MCP server above keeps working for any MCP client.
Why this exists
The official DeepSeek Harness repository does not run a plugin registry and does not accept external PRs; discovery happens through the dsh-plugin GitHub topic and community lists, none of which certify anything. dsh-plugin-certification turns "can I install this plugin" into a reproducible five-dimension check (manifest, build hygiene, supply-chain Scorecard, release provenance, sandboxed install smoke test) with a public registry and README badges. This MCP server is the same data with an agent-facing interface: agents can look up a plugin's certification before recommending or installing it.
Registry
Data source: PerryLink/dsh-plugin-certification — data/certified.json, spec v1.
Development
node test/smoke.mjs
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:
| Plugin | One-liner |
|---|---|
| dsh-auto-review | Second-model auto-review on the approval chain, fail-closed by default |
| dsh-autotier | Automatic strong/cheap model-tier routing with deterministic risk guards and a /tier command |
| dsh-background-agents | Durable background child agents with a Web UI sidebar, messaging and interrupt |
| dsh-budget | Cost governance for DeepSeek Harness: budgets, carbon, and latency in one panel. |
| dsh-catalog | DSH Desktop Market standard catalog source for the PerryLink family |
| dsh-checkpoint-rewind | Unified session + workspace + config checkpoints with one-shot /rewind |
| dsh-claude-move | Migrate Claude Code, Codex, OpenCode and Hermes sessions, memories and skills into DSH |
| dsh-click | Cross-platform native desktop control for DeepSeek Harness — Windows first. |
| dsh-composer-history | Terminal-style input history for the web composer: arrows, Ctrl+R search |
| dsh-data-quality | Deterministic dataset profiling, cleaning and citation verification |
| dsh-defend | Prompt-injection, jailbreak, and secret-leak defense for DeepSeek Harness. |
| dsh-doublecheck | Engineering-discipline guard: requirements grill, test gates, adversary review |
| dsh-draw | Unified static-image generation routing for DeepSeek Harness. |
| dsh-fast | Read-only performance diagnostics: load, spill, compaction and cache hit rate |
| dsh-fund-research | Chinese mutual-fund research with sealed, traceable source snapshots |
| dsh-github | GitHub PR/issue/CI integration with every write approval-gated |
| dsh-industry-research | Industry and company research pack: chain map, policy timeline, company cards |
| dsh-kit | One-command starter pack that installs the core family |
| dsh-library | Local document knowledge base with hybrid search and citation-aware injection |
| dsh-local-ai | Local Ollama model discovery and task-based routing with cloud fallback |
| dsh-lsp-actions | LSP diagnostics, formatting, completion, code actions, symbols and rename |
| dsh-mask | PII masking at the model boundary with a host-side restore table |
| dsh-mcp-panel | MCP management console: /mcp command, Settings tab and trial calls |
| dsh-memento | Approval-gated cross-session memory protocol (ctx.memory + SQLite) |
| dsh-observe | OpenTelemetry and Langfuse telemetry export from the session event stream |
| dsh-output-styles | Runtime-switchable model output styles |
| dsh-permission-rules | Declarative allow/deny/ask rules plus a process-level network policy |
| dsh-plugin-certification | Community certification registry with repro-checkable grades and badges |
| dsh-plugin-doctor | Zero-dependency static + sandbox smoke detector for DSH plugins |
| dsh-plugin-guide | Plugin-dev knowledge base, agent skill and the dsh-plugin-dev CLI toolchain |
| dsh-plugin-kit | Shared zero-runtime-dependency toolkit for the PerryLink DSH plugins |
| dsh-plugin-portal | Zero-dependency static portal rendering the whole plugin family as one page |
| dsh-plugin-upgrade-015 | Merged 0.1.3-alpha.1 → 0.1.5-rc.1 upgrade corridor card plus a zero-dependency seam scanner |
| dsh-reach | Multi-channel approval/question bridge: WeChat, Telegram, Feishu + a session console |
| dsh-research-report | Verifiable research reports: evidence ledger, manifest seal, per-claim verdicts |
| dsh-score | Multi-dimensional plugin quality scoring with an evidence-backed leaderboard |
| dsh-session-pin | Pin sessions and workspaces in the Web sidebar with per-pin colors |
| dsh-session-sync | Git-backed cross-device session synchronization with keep-both merges |
| dsh-skill-pack-security | Security-audit skill pack plus the plugin_vet supply-chain gate |
| dsh-talk | Voice-first session loop: speech-to-text input and text-to-speech replies |
| dsh-team-rooms | Cross-session team rooms: shared message bus, task board and timeline |
| dsh-test-drive | Isolated install-and-smoke test drives with a pass/fail matrix |
| dsh-ticktick | TickTick/Dida365 task bridge: session-header panel plus eleven agent tools |
| dsh-translate | Vendor parameter translation and deterministic JSON repair |
| dsh-wechat | WeChat ↔ DSH bridge (Tencent iLink bot) developed with pan17, who hosts the repo |
| dsh-personal-directive | Personal directive injector with a top-bar toggle (fork of liucai2026/dsh-personal-directive) |
License
Apache-2.0. A listing or grade is an evidence record, not a security guarantee: plugins run inside your DSH process with your permissions.