前言¶
在 dsh-TUI 環境下管理 MCP 服務器、Sets、工具和運行狀態,需要頻繁切換終端窗口。下面介紹的 dsh-tui-mcp-manager 是一個原生插件,它爲 dsh-TUI 提供了一個全屏管理界面。通過輸入 /mcp-manager,可以在不離開 TUI 的前提下完成 MCP 的 CRUD、啓停、Sets 編排以及憑據引用管理等操作。
核心功能¶
該插件通過 /mcp-manager 浮窗實現以下能力:
* 服務器池管理:支持創建、複製、編輯、停止、重連和全局刪除服務器。
* MCP Sets 編排:可以對 Set 的成員進行編排,實現獨立啓停、設置啓動時狀態,並對跨 Set 的重複成員進行自動去重。
* 工具瀏覽:提供工具說明與輸入 Schema 的瀏覽,支持按名稱或說明搜索。
* 診斷檢查:自動檢查配置、連接、運行時和工具註冊狀態。
* 憑據管理:通過 DSH credentials 引用敏感環境變量與請求頭,敏感值只寫入憑據提供者,配置文件中僅保留引用。
安裝與啓用¶
在安裝前,請確保環境滿足以下要求:
* Node.js ^22.19 || >=24
* dsh 0.2.0-rc.1
* dsh-TUI >=0.11.2 <0.12.0
執行以下命令安裝插件:
dsh plugin --profile dsh-tui add dsh-tui-mcp-manager
安裝完成後,啓動 dsh-TUI 並在 TUI 內輸入 /mcp-manager 即可打開全屏界面。界面語言跟隨 dsh-TUI,可通過 /lang zh 或 /lang en 切換。
配置與操作¶
插件通過註冊 commands 服務來接納 /mcp-manager 命令。在 dsh-TUI 0.11.2 版本中,該版本尚未向第三方 Loader 插件開放命令接納流程,因此本插件通過該機制完成註冊。
文件存儲¶
服務器配置直接讀寫當前 profile 的 cordis.patch.yml,Set 信息保存在同目錄的 mcp-manager.sets.yml。插件使用 fsync 和原子 rename 確保寫入安全,managed block 外的內容保持不變。刪除服務器時會同步清理所有 Set 引用。
界面操作¶
在 /mcp-manager 界面中,可以使用以下按鍵:
* Tab:切換焦點。
* w:切換 Set 與服務器池視圖。
* Enter:打開、編輯或確認。
* /:在當前列表中搜索。
Set 生效邏輯¶
實際運行的服務器是所有活動 Set 成員的並集。重複成員只會啓動一次。
注意事項¶
- 診斷行爲:診斷頁未處於活動 Set 的服務器會臨時啓用已有 Loader 配置完成握手,讀取狀態後立即停止,不會修改 Set 或配置文件。
- 配置寫入:敏感字段在配置文件中僅保留引用。升級舊版 dsh 時,如果 profile 尚無 managed block,會從保留的
settings.yaml或settings.yaml.imported一次性導入舊 MCP 配置。 - 運行環境:插件以當前 dsh 進程權限運行,manifest 權限用於審計與策略聲明,非操作系統安全沙箱。
結語¶
dsh-tui-mcp-manager 爲 dsh-TUI 用戶提供了集中化的 MCP 管理入口。通過原子寫入配置文件和引用式憑據管理,它在保持 TUI 交互體驗的同時,兼顧了配置的持久化與安全性。