Skip to content
dsh.fish
Bundle

dsh-remote-mcp-manager

DSH Web GUI 插件:在设置面板中管理远程/本地 MCP Server(HTTP / stdio),支持添加、编辑、删除、测试连接,工具自动注册到 DSH。

Source
lwy521
stars
1 stars
License
MIT
Updated
Updated 5 days ago

Readme

# dsh-remote-mcp-manager

DSH Web GUI 插件:在设置面板中管理远程/本地 MCP 服务器。

## 功能

### 设置侧边栏一级页面(v0.3.0)
- **MCP管理**:设置侧边栏新增「MCP管理」一级页面,位于「社区插件」下方
- **单个卡片集成**:管理配置列表和编辑/新建表单合并为单个卡片,通过状态切换,无需滚动
- **编辑即切换**:点击列表中的「编辑」按钮,卡片就地切换为编辑表单
- **未保存提示**:表单有修改时点击「返回」弹出自定义弹窗,可选择「保存」或「不保存」
- **自定义弹窗**:与卡片主题风格一致的模态对话框,支持深色/浅色主题

### 配置管理
- **HTTP 远程 MCP**:添加远程 Streamable HTTP MCP Server(URL、Token、Path、超时时间)
- **本地进程 MCP**:通过 stdio 启动本地 MCP Server(命令、参数、环境变量、工作目录)
- **测试连接**:HTTP 远程 MCP 支持实时测试连接(MCP 协议初始化 + tools/list)
- **CRUD 管理**:添加、编辑、删除已配置的 MCP Server
- **持久化**:配置写入 `cordis.patch.yml`,支持热重载

## 安装

```bash
dsh plugin add dsh-remote-mcp-manager
```

## 使用

在 DSH Web GUI 的设置侧边栏找到「MCP管理」页面,可:

### 管理配置
查看已添加的 MCP Server,点击「编辑」就地切换到编辑表单,测试连接、删除

### 新建配置(HTTP 远程)
- Server 名称:唯一标识,禁止使用中文
- URL:MCP 服务器地址
- API Key / Token:可选,认证信息
- Path:可选,URL 路径
- 超时:可选,默认 60000ms

### 新建配置(本地进程)
- Server 名称:唯一标识,禁止使用中文
- 命令:可执行文件路径(如 `node.exe`、`python`、`npx`)
- 参数:每行一个参数
- 环境变量:每行 `KEY=VALUE`
- 工作目录:可选

## 传输类型

| 类型 | 协议 | 说明 |
|------|------|------|
| HTTP 远程 | `streamable-http` | 连接远程 MCP 服务器 |
| 本地进程 | `stdio` | 本地启动子进程 MCP |

## 变更记录

### v0.3.1
- **修复:更新后 token 丢失** — 前后端 token 字段序列化一致,不再丢失 API Key
- **修复:测试连接阻塞** — HTTP 请求添加 15 秒超时(AbortController),避免测试卡死
- **修复:保存按钮失效** — 增加保存回调、首次加载防误存、错误提示展示
- **修复:表单校验增强** — 增加 serverName 格式校验、重名检测、中文名称禁止
- **修复:stdio 属性丢失** — `toolCallTimeoutMs` 和 `failOnStartupError` 正确读写透传
- **修复:patch 文件损坏恢复** — 只含 begin 无 end 标记时自动修复,不再静默失败
- **安全增强** — CSRF 同源校验、请求体大小上限 2MB、错误不重复写头
- **体验优化** — 保存失败/表单错误提示展示、忽略空加载数据、路径拼接修复

### v0.3.0
- 设置侧边栏一级页面:从「插件」设置页内卡片提升为独立设置页面
- 合并卡片:管理配置列表和编辑/新建表单合并为单个卡片,`mode` 状态切换
- 编辑即切换:点击列表中「编辑」按钮,卡片就地切换为编辑表单
- 未保存提示:自定义模态弹窗,表单有修改时提示保存/不保存
- 侧边栏标签:改为「MCP管理」

### v0.2.0
- 添加 stdio 传输支持(本地进程 MCP)
- 自定义下拉组件替代原生 select
- 超时时间配置
- 会话 ID 透传支持(MCP-Session-Id)

Install

dsh plugin --profile web add github:lwy521/dsh-remote-mcp-manager

Profile: web

  • This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.
Source