dsh-cert-mcp
Read-only MCP server over the DSH plugin-certification registry, exposing a plugin certification grade, its snapshot and the five-dimension evidence behind it.
Install
dsh plugin --profile web add dsh-cert-mcp
Sandbox test results
| Stage | Result |
|---|---|
| 1 install | ✓ |
| 2 list | ✓ |
| 3 mount | ✓ |
| 4 boot | — |
Four stages run in an isolated sandbox: install (network on) → list → mount → boot (last three with no network).
README
dsh-cert-mcp
Non-official companion tool. Part of the DSH standards family; not a certification, accreditation, security audit, or official endorsement. Standard: https://github.com/PerryLink/dsh-standards. Thedsh.standardsblock is anot-runplaceholder, not a pass.
🧊 FROZEN — 2026-10-31. Reference only. No new certification features; the registry remains in dsh-plugin-certification.
Maintenance status: 🧊 FROZEN
Frozen on 2026-10-31. This read-only MCP endpoint stays available as a reference integration; certification data is owned by dsh-plugin-certification.
[English](README.md) · [简体中文](README-zh.md) · [Español](README-es.md) · [Português](README-pt.md) · [हिन्दी](README-hi.md)
dsh plugin --profile <name> add dsh-cert-mcp
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.










Install
dsh plugin --profile web add github:PerryLink/dsh-cert-mcp
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 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 # npm channel (published releases) dsh plugin --profile web add dsh-cert-mcp
The inserted row loads the package through the standard Cordis plugin contract: the host half is a plain ESM module exporting name, inject and apply(ctx). This package ships no browser UI, so there is no dsh.client declaration.
// bundle entry (host half) — the contract the patch row loads
export const name = 'dsh-cert-mcp'
export const inject = ['tools'] // the host tool surface, provided by dsh-tools
export function apply(ctx) {
// registers the read-only certification lookup surface
// (get_certification / list_certified / certification_spec)
}
The host half needs the tools service (shipped by @deepseek-ai/dsh-tools). A profile without it does not lose the tools silently: Cordis holds this row in PENDING until tools exists, which is visible in the profile's plugin list. Nothing else is required — no config keys, no credentials, and no network access at load time.
Two halves, one data path. The bundle row and the stdio server are separate entry points over the same handleRequest core. The server half is an independent process any MCP client can spawn (node src/index.js), and it is not part of the plugin path: installing this bundle never starts it, and removing the bundle never touches it. Conversely npx dsh-cert-mcp registers nothing on the DSH tool surface.
Remove the bundle with dsh plugin --profile web remove dsh-cert-mcp (or delete the row from the profile patch). The standalone stdio MCP server above keeps working for any MCP client.
What is dsh-cert-mcp?
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.
Workflow overview: install → open panel → act. The examples below use the real command surface.
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/attestations.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.
Why
…(truncated)
Rendered from the README published on npm. Formatted only, not edited.
Versions
Published on npm::12,最后更新 2026-11-05