# dsh-mcp-ui MCP 服务器可视化配置插件:在 DSH Web 设置界面管理 [Model Context Protocol](https://modelcontextprotocol.io/) 服务器,自动装配官方 `dsh-mcp-client` 插件实例,**保存即生效,无需手改配置文件**。 [English](README.md) ## 功能 - 🖥️ **图形化设置卡片**:设置在 设置 > 插件 > 插件配置 > **MCP 服务器**,与 vision-router 等插件的卡片同款风格 - 🔌 **两种传输都支持**:stdio(本地进程)、streamable-http(远程 URL) - 📝 **完整字段**:serverName、command/args/env/cwd、url/headers、工具调用超时、启动失败策略、自动重连(开关/延迟/上限/次数) - 🔄 **热同步**:保存后 host 端自动挂载/卸载对应的 `dsh-mcp-client` 实例,**无需重启 dsh** - 🛡️ **安全**:服务器列表存于 `~/.dsh/settings.yaml`,env 里的密钥可填环境变量引用 ## 安装 ```sh # GitHub 方式 dsh plugin --profile web add github:quan-v/dsh-mcp-ui ``` > 后续发布到 npm 后,`dsh plugin --profile web add dsh-mcp-ui` 同样可用。 重启 web 后,在 设置 > 插件 > 插件配置 找到「MCP 服务器」卡片。 ## 使用 1. 打开设置卡片,点击「+ 添加服务器」 2. 填好 serverName(唯一命名空间,模型侧工具名为 `mcp____<工具名>`) 3. 选择传输方式(stdio / streamable-http / SSE)并填写对应字段 4. 点击保存 —— host 端自动连接,模型即可调用该服务器的工具 ## 配置存储 服务器列表存在 settings.yaml 的 `mcp-ui:` 段,与其它插件设置同级: ```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 ``` ## 与 dsh-mcp-client 的关系 本插件**不实现 MCP 协议**,只负责两件事: 1. 提供设置卡片,把用户配置存进 settings.yaml 2. host 端监听配置变化,动态调用 `ctx.plugin()` 挂载/卸载 `@deepseek-ai/dsh-mcp-client` 实例 官方 `dsh-mcp-client` 负责真正的连接、工具发现和 `mcp__server__tool` 命名注册。 ## 更新日志 ### 1.0.1 (2026-08-22) - 修复:`settings.plugin.item` 插槽注册补上显式 `key` 字段。DSH 0.1.1+ 要求 keyed slot 必须声明 `options.key`,否则插件加载失败(报 `keyed slot "settings.plugin.item" requires options.key`)。 ## License MIT