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(orcommand+args),env, andtoolCallTimeoutMs. 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/localhostrequests 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¶
- Open a conversation and find the “MCP” tab in the conversation view.
- 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. - 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.