dsh-mcp-ui
Visual MCP server configuration for DeepSeek Harness: manage Model Context Protocol servers right from the DSH Web settings UI. It wires the official dsh-mcp-client plugin instances for you — save and it just works, no config files to hand-edit.
Features
- 🖥️ Settings card UI — manage servers under Settings > Plugins > Plugin Config > MCP Servers, same card style as other DSH plugins
- 🔌 Both transports — stdio (local process) and streamable-http (remote URL)
- 📝 Full field coverage — serverName, command/args/env/cwd, url/headers, tool-call timeout, startup-failure policy, auto-reconnect (toggle / delay / cap / attempts)
- 🔄 Hot sync — saving mounts/unmounts the corresponding
dsh-mcp-clientinstances host-side, no dsh restart needed - 🛡️ Safe — server list lives in
~/.dsh/settings.yaml; secrets inenvcan be referenced as environment variables
Install
# from GitHub
dsh plugin --profile web add github:quan-v/dsh-mcp-ui> Published to npm later — once available, dsh plugin --profile web add dsh-mcp-ui also works.
Restart dsh web, then find the MCP Servers card under Settings > Plugins > Plugin Config.
Usage
1. Open the settings card, click + Add Server 2. Fill in a unique serverName (model-facing tools are named mcp__<serverName>__<tool>) 3. Pick a transport (stdio / streamable-http / SSE) and fill the matching fields 4. Click Save — the host connects automatically and the server's tools become callable by the model
Config storage
The server list lives in the mcp-ui: section of settings.yaml, sibling to other plugin settings:
mcp-ui:
servers:
- serverName: github
transport: stdio
command: npx
args:
- -y
- '@modelcontextprotocol/server-github'
env:
GITHUB_TOKEN: ${GITHUB_TOKEN}
toolCallTimeoutMs: 60000
failOnStartupError: false
reconnect:
enabled: true
initialDelayMs: 500
maxDelayMs: 30000
maxAttempts: 10Relationship with dsh-mcp-client
This plugin does not implement the MCP protocol. It does two things:
1. Provides the settings card and stores your configuration in settings.yaml 2. Watches config changes host-side and mounts/unmounts @deepseek-ai/dsh-mcp-client instances via ctx.plugin()
The official dsh-mcp-client handles the actual connections, tool discovery, and mcp__server__tool naming.
Changelog
1.0.1 (2026-08-22)
- Fix: add explicit
keyto thesettings.plugin.itemslot registration. DSH 0.1.1+ requires keyed slots to declareoptions.key; without it the plugin fails to load withkeyed slot "settings.plugin.item" requires options.key.
License
MIT