Skip to content
dsh.fish
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

Source