Bundle
dsh-mcp-ui
MCP 服务器可视化配置插件:在 DSH Web 设置界面管理 MCP 服务器(stdio / streamable-http / SSE),保存即生效,无需手改配置文件。| Visual MCP server management for DeepSeek Harness: configure stdio / HTTP / SSE servers from the settings UI, hot-synced without editing config files.
- Source
- quan-v
- stars
- 2 stars
- License
- MIT
- Updated
- Updated 14 hours ago
Readme
# dsh-mcp-ui
Visual MCP server configuration for [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness): manage [Model Context Protocol](https://modelcontextprotocol.io/) 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**.
[中文文档](README.zh.md)
## 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-client` instances host-side, **no dsh restart needed**
- 🛡️ **Safe** — server list lives in `~/.dsh/settings.yaml`; secrets in `env` can be referenced as environment variables
## Install
```sh
# 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:
```yaml
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: 10
```
## Relationship 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 `key` to the `settings.plugin.item` slot registration. DSH 0.1.1+ requires keyed slots to declare `options.key`; without it the plugin fails to load with `keyed slot "settings.plugin.item" requires options.key`.
## License
MIT
Install
dsh plugin --profile web add github:quan-v/dsh-mcp-ui#987553ec0929327e69b8f5009b37faa2036b066a
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-mcp-ui from the hub