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

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_load command 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.md files in directories, supporting external skill library directories at any depth.
  • Temporary Hiding: Hiding a SKILL writes disable-model-invocation into 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 (default on-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-client rows in the Profile into the capability library and disables them by default at the native layer. Be sure to run /mcp prepare-uninstall before 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 toolDescriptionMaxLength according 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.