Introduction¶
DeepSeek Harness (DSH) is a plugin-based agent development framework. When developing complex workflows, managing a large number of SKILLs and MCP (Model Context Protocol) servers often leads to two pain points: first, configurations are scattered and difficult to view and manage in a unified interface; second, MCP server tool definitions directly consume Token context, causing context bloat or startup latency. dsh-skill-mcp-manager is a host-level plugin designed to solve these issues. It provides visual SKILL and MCP management and implements on-demand MCP loading.
Plugin Overview¶
- Name:
dsh-skill-mcp-manager - Functionality: One-stop SKILL & MCP manager — a host-level plugin for DeepSeek Harness with MCP on-demand loading.
- Owner:
alone-tree - License: MIT
- GitHub: https://github.com/alone-tree/dsh-skill-mcp-manager
- Version: 1.1.7
Core Features¶
1. One-stop Visual Management¶
The plugin integrates SKILL and MCP management into the DSH settings page, avoiding the need to dive through multiple layers of configuration files. Users can enable/disable SKILLs and MCP directly in the interface, view descriptions for each tool, and even open the source code of a SKILL for editing. For MCP, you can independently control the enabled/disabled state of individual tools. Disabled tools are invisible to the AI and do not affect other tools on the same server.
2. MCP On-Demand Loading¶
This is the core feature of the plugin. At the start of a session, the MCP server only exposes its name + short tool description, rather than sending the full tool Schema.
* Balance Token Consumption and Functionality: Avoid context bloat caused by sending lengthy Schemas, while preserving the AI’s ability to explore available tools.
* No Startup Latency: The server is connected only when the AI actually needs it.
* Non-Fatal Errors: On-demand loading failures do not block the session, allowing subsequent retries or manual reloading.
3. Per-Session Independent Instances and Hot Reload¶
- Independent Instances: Each DSH session (including subagents) creates its own independent MCP instance. This ensures that concurrent sessions do not interfere with each other, especially for stateful tools (such as Playwright browser instances).
- Hot Reload: Run the
/mcp_loadcommand in the current session to reconnect to the MCP server and refresh the tool list. There is no need to restart DSH or start a new session, greatly facilitating local development and debugging.
4. Deep SKILL Scanning and Hiding¶
- Deep Scanning: The plugin recursively scans
<dir>/SKILL.mdfiles in directories, supporting external skill library directories at any depth. - Temporary Hiding: Hiding a SKILL writes
disable-model-invocationinto the configuration, making it invisible to the model while retaining command interfaces such as/name. This makes it convenient for developers to debug or temporarily disable specific skills.
Installation and Activation¶
Install¶
Use the official CLI to install the plugin into the specified Profile:
dsh plugin --profile <profile> add dsh-skill-mcp-manager
Configuration¶
After installation, add a configuration entry to the Profile’s cordis.patch.yml. Example configuration:
- insert:
- id: skill-mcp-manager
name: 'dsh-skill-mcp-manager'
config:
dataDir: '' # 空字符串则使用默认路径 ~/.dsh/skill-mcp-manager
profile: web # 指定要管理的 Profile 名称
trialTimeoutMs: 30000
toolCallTimeoutMs: 60000
catalogDescriptionMaxLength: 500
toolDescriptionMaxLength: 150 # 目录中工具描述的截断长度(可调整)
importNativeMcp: true # 启动时自动接管原生 dsh-mcp-client 配置
After completing the configuration, restart the Profile. The plugin runs at the host layer, so tools such as mcp_register and mcp_load are visible to all sessions.
Usage¶
UI Management Interface¶
Open Settings → Capability:
* SKILL Tab: Displays all managed SKILLs (sorted by path). Supports toggling model visibility, opening in editor, and cross-platform deletion. System built-in SKILLs (located in node_modules or app.asar) are read-only.
* MCP Tab: Displays registered servers, including Tier markers and tool counts. Supports toggling Tier, viewing detailed configuration (command, environment variables, headers), enabling/disabling individual tools, viewing or hiding secrets, and refreshing snapshots.
Model Tool Interface¶
The plugin provides three management tools for the model.
1. mcp_register¶
Add or modify MCP configuration. This tool first performs a trial connection and lists tools; it persists only when the configuration is correct.
mcp_register { name, tier?, transport, command?, args?, env?, cwd?, url?, headers?, notes? }
tier:eager|on-demand|disabled(defaulton-demand).notes: User notes, which will not be overwritten by server updates.
2. mcp_load¶
Load or hot-reload the specified MCP server instance in the current session.
/mcp_load { name, peek? }
- Without
peek: connect to the server, obtain the full tool definitions, and refresh the session snapshot. - With
peek: true: read only the snapshot without making an actual connection. It is suitable for viewing descriptions without changing the connection state.
3. /mcp prepare-uninstall¶
Run this command before uninstalling the plugin. It re-enables all MCP configurations that were taken over by the plugin and marked as disabled, and returns their full configuration to the native dsh-mcp-client. This ensures that MCP configurations are not lost after removing the plugin.
Design and Considerations¶
- Profile Scope: The plugin only manages the Profile in which it is installed and does not manage configurations outside that scope.
- Native Configuration Takeover: During installation, the plugin imports the native
dsh-mcp-clientrows in the Profile into the capability library and disables them by default at the native layer. Be sure to run/mcp prepare-uninstallbefore uninstalling. - Security: The plugin runs with host process permissions. Ensure the installation source is trusted (GitHub link: https://github.com/alone-tree/dsh-skill-mcp-manager).
- Token Savings: Since MCP is loaded only when needed by the AI and full Schemas are not exposed by default, it is recommended to adjust
toolDescriptionMaxLengthaccording to actual needs to balance feature visibility and context usage.
Conclusion¶
dsh-skill-mcp-manager helps developers effectively control DSH’s context cost and startup overhead without sacrificing functional completeness, through on-demand loading and session isolation mechanisms. For scenarios requiring frequent development and debugging of MCP services, its hot reload feature is especially practical.