bobleer/deepseek-harness-plugin-mcp
让任何代理都能发现、安装并运行DeepSeek Harness插件的MCP服务器(主题:dsh-plugin)。
项目介绍Project Overview
DeepSeek Harness Plugin MCP 是 BitFun 出品的 MCP 服务器,让任意代理通过 MCP 协议发现、检查、安装并运行 DSH 插件。核心能力是桥接 Cordis 包与 MCP 客户端,提供目录查询、插件安装、运行时启动及 dsh__* 工具映射,搜索、安装、启动分属三档权限。适用于 Cursor、Claude Desktop、Codex 等 MCP 代理接入 DSH 生态。需 Node ≥22.19 且 dsh 需在 PATH 中。
DeepSeek Harness Plugin MCP is an MCP server by BitFun that lets any agent discover, inspect, install, and run DeepSeek Harness plugins over MCP. It bridges Cordis bundles and MCP clients across three planes: catalog, profile, and runtime, exposing search, install, and dsh__* tool-mapping operations as MCP tools. Use it to wire Cursor, Claude Desktop, Codex, or other MCP agents into the DSH plugin ecosystem. Caveat: install and runtime require the dsh binary on PATH and explicit --allow-install / --allow-runtime flags.
请帮我了解并安装插件:【deepseek-harness-plugin-mcp】【https://github.com/bobleer/deepseek-harness-plugin-mcp】
把上面这条消息直接发给当前会话里的 DSH,让它帮你了解并安装。安装命令不一定准确,发给 DSH 更稳。Send this message to DSH in your current session. CLI install commands may not be accurate across systems — DSH will figure it out for you.
或使用命令行安装(适合开发者)Or use CLI install (for developers)
命令行安装CLI Install
dsh plugin --profile web add github:bobleer/deepseek-harness-plugin-mcp
把 bobleer/deepseek-harness-plugin-mcp 加入你的 DSH 配置(web profile)即可启用。
READMEREADME
DeepSeek Harness Plugin MCP
Made by BitFun.
MCP server that lets any agent discover, inspect, install, and run DeepSeek Harness plugins.
Catalog source: github.com/topics/dsh-plugin.
English | 中文
What it does
DSH plugins are Cordis bundles (dsh.bundle.patch → cordis.patch.yml). Foreign agents speak MCP, not Cordis. This server is the inverse of @deepseek-ai/dsh-mcp-client:
| Plane | Needs DSH? | What the agent can do |
|---|---|---|
| Catalog | No | Search/list/inspect every public dsh-plugin repo, read README and cordis.patch.yml |
| Profile | dsh on PATH |
dsh plugin add / remove into a real profile |
| Runtime | dsh on PATH + --allow-runtime |
Boot that profile and call composition tools as dsh__* |
UI/TUI/skin plugins are catalogued and installable. They do not become MCP tools; their UI stays in DSH.
Install
npm install -g deepseek-harness-plugin-mcp
# or
npx deepseek-harness-plugin-mcp --help
Node ^22.19 || >=24.
Wire it into an agent
Cursor / Claude Desktop / Claude Code / Codex (stdio)
{
"mcpServers": {
"dsh-plugins": {
"command": "npx",
"args": ["-y", "deepseek-harness-plugin-mcp"],
"env": {
"GITHUB_TOKEN": "ghp_optional_but_recommended"
}
}
}
}
Enable install and runtime (this runs dsh plugin and plugin code):
{
"mcpServers": {
"dsh-plugins": {
"command": "npx",
"args": ["-y", "deepseek-harness-plugin-mcp", "--allow-install", "--allow-runtime"],
"env": {
"GITHUB_TOKEN": "ghp_…",
"DSH_PLUGIN_MCP_PROFILE": "mcp-bridge"
}
}
}
}
dsh must be on PATH for the profile and runtime planes.
Streamable HTTP
dsh-plugin-mcp --http --port 8765 --allow-runtime
Point the agent at http://127.0.0.1:8765/mcp. GET /health is a process liveness check.
Inside DeepSeek Harness
This package is itself a DSH bundle:
dsh plugin --profile web add github:bobleer/deepseek-harness-plugin-mcp
dsh --profile web
The live Harness then serves Streamable HTTP MCP (default http://127.0.0.1:8765/mcp) and mirrors ctx.tools — every first-party and third-party tool the composition registered.
MCP tools
Control plane:
dsh_plugin_status/dsh_plugin_refresh_catalog/dsh_plugin_list/dsh_plugin_searchdsh_plugin_get/dsh_plugin_inspect/dsh_plugin_readmedsh_plugin_list_installed/dsh_plugin_install/dsh_plugin_uninstalldsh_runtime_start/dsh_runtime_stop/dsh_runtime_load/dsh_runtime_unload/dsh_runtime_list_tools
After dsh_runtime_start, DSH tools appear as dsh__<name>.
Resources: dsh-plugin://catalog, dsh-plugin://github/{owner}/{repo} (+ /readme, /package.json, /cordis.patch.yml), dsh-plugin://installed/{profile}, dsh-plugin://runtime/tools.
Prompts: search-dsh-plugins, install-dsh-plugin, use-dsh-plugin.
Flags and env
| Flag / env | Default | Meaning |
|---|---|---|
--http |
stdio | Streamable HTTP |
--host / DSH_PLUGIN_MCP_HOST |
127.0.0.1 |
Bind address |
--port / DSH_PLUGIN_MCP_PORT |
8765 |
Bind port |
--allow-install / DSH_PLUGIN_MCP_ALLOW_INSTALL |
off | dsh plugin add/remove |
--allow-runtime / DSH_PLUGIN_MCP_ALLOW_RUNTIME |
off | Spawn DSH and bridge tools |
--profile / DSH_PLUGIN_MCP_PROFILE |
mcp-bridge |
Target profile |
--dsh-root / DSH_ROOT |
unset | Harness checkout (informational in status) |
--cache-dir / DSH_PLUGIN_MCP_CACHE_DIR |
~/.dsh-plugin-mcp |
Catalog cache |
--no-catalog / DSH_PLUGIN_MCP_CATALOG=0 |
on | Disable GitHub catalog tools |
GITHUB_TOKEN / GH_TOKEN |
unset | GitHub API auth |
Install and runtime are off until you opt in. Catalog is always available.
Typical agent flow
dsh_plugin_searchwith the task keywords.dsh_plugin_inspectonowner/repo. PreferisDshBundle: true.- Optional:
dsh_plugin_installwithgithub:owner/repo. dsh_runtime_startwithplugins: ["github:owner/repo"].- Call the listed
dsh__*tools.
Development
npm install
npm run check
Protocol smoke (official MCP Inspector CLI, same client family as @modelcontextprotocol/sdk):
npx @modelcontextprotocol/inspector --cli node dist/cli.js --method tools/list
npx @modelcontextprotocol/inspector --cli node dist/cli.js --method tools/call \
--tool-name dsh_plugin_status --tool-args-json '{}'
Design: docs/design.md.
License
MIT
ruvnet/ruflo
amruthpillai/reactive-resume
volcengine/OpenViking
Molunerfinn/PicGo
titanwings/colleague-skill
nocobase/nocobase
Tencent/WeKnora