DeepSeek Harness (DSH) uses a plugin-based architecture. When managing MCP (Model Context Protocol) servers, you typically need to edit configuration files directly. The dsh-mcp-hub plugin adds a built-in MCP server management panel in DSH, providing an “MCP” tab in the conversation view for centrally viewing and configuring all MCP servers under the current profile.

Features

The plugin provides the following capabilities:

  • Configuration Reading and Display: Reads and displays MCP configuration from cordis.patch.yml (profile layer) and from each bundle layer.
  • Live Tool Registry: Resolves each connected MCP server from the current process’s tool registry, displays the number of exposed tools, and highlights servers that are “configured but not connected in the current process.”
  • Visual Configuration: One card per server, supporting editing of serverName, transport, url (or command + args), env, and toolCallTimeoutMs. Supports adding, deleting, and saving.
  • Save Takes Effect: Saving rewrites cordis.patch.yml. Newly added MCP servers usually support hot connection; changes to existing entries require restarting the DSH application.
  • Localhost-Only Security: RPC routes accept only 127.0.0.1 / localhost requests and are validated against an endpoint whitelist.

Installation and Enablement

Add a plugin reference in the dependencies of the Web profile’s package.json:

"dependencies": { "dsh-mcp-hub": "file:E:/dsh/dsh-mcp-hub" }

Also, add the plugin name to dsh.profile.bundles:

"dsh.profile.bundles": ["dsh-mcp-hub"]

After making these changes, restart DSH Web.

Usage

  1. Open a conversation and find the “MCP” tab in the conversation view.
  2. The panel displays three sections:
    - MCP Servers Connected in the Current Process: Click ▸ to expand and view the tools exposed by the server.
    - MCP Configuration: Editable server cards; saving writes the changes back to the profile.
    - From Bundle (Read-Only): Minimal MCP patches bundled with each plugin bundle.
  3. Common operations:
    - Add: Click “+ Add Server,” fill in the configuration, and save.
    - Modify: Edit the card contents directly, then save.
    - Delete: Click “Delete” inside the card, then save.

Configuration Fields

Field Description Example
serverName Server identifier (letters, digits, dot, underscore, hyphen) stock
transport Transport type streamable-http / sse / stdio
url Service address for non-stdio transports http://192.168.1.108:8038/mcp
command Startup command for stdio npx
args stdio arguments (space-separated) -y @modelcontextprotocol/server-foo
env Environment variables (one KEY=VALUE per line) KEY=xxx
toolCallTimeoutMs Timeout for a single tool call (milliseconds) 300000

Notes

  • The plugin has zero runtime dependencies; React is provided by the host.
  • RPC routes accept only local requests and are validated against a whitelist.
  • New MCP servers usually connect immediately with hot connection; changes to existing entries require restarting DSH.
  • Saving rewrites cordis.patch.yml.