Foreword¶
Managing MCP servers, Sets, tools, and runtime status in a dsh-TUI environment often requires frequent switching between terminal windows. The dsh-tui-mcp-manager plugin introduced below is a native plugin that provides a full-screen management interface for dsh-TUI. By entering /mcp-manager, you can perform MCP CRUD operations, start/stop management, Sets orchestration, and credential reference management without leaving the TUI.
Core Features¶
This plugin provides the following capabilities through the /mcp-manager floating window:
* Server pool management: Supports creating, copying, editing, stopping, reconnecting, and globally deleting servers.
* MCP Sets orchestration: Allows orchestration of Set members, independent start/stop control, setting startup states, and automatic deduplication of duplicate members across Sets.
* Tool browsing: Provides browsing of tool descriptions and input schemas, with search by name or description.
* Diagnostics: Automatically checks configuration, connection, runtime, and tool registration status.
* Credential management: Uses DSH credentials to reference sensitive environment variables and request headers. Sensitive values are written only to the credential provider, while only references remain in configuration files.
Installation and Enablement¶
Before installing, make sure the environment meets the following requirements:
* Node.js ^22.19 || >=24
* dsh 0.2.0-rc.1
* dsh-TUI >=0.11.2 <0.12.0
Run the following command to install the plugin:
dsh plugin --profile dsh-tui add dsh-tui-mcp-manager
After installation, start dsh-TUI and enter /mcp-manager inside the TUI to open the full-screen interface. The interface language follows dsh-TUI and can be switched with /lang zh or /lang en.
Configuration and Operation¶
The plugin registers the /mcp-manager command by registering a commands service. In dsh-TUI 0.11.2, the command acceptance flow has not yet been opened to third-party Loader plugins, so this plugin uses that mechanism to complete registration.
File Storage¶
Server configurations are read from and written directly to the current profile’s cordis.patch.yml. Set information is stored in mcp-manager.sets.yml in the same directory. The plugin uses fsync and atomic rename to ensure safe writes, and content outside the managed block remains unchanged. Deleting a server also synchronously cleans up all Set references.
UI Operations¶
In the /mcp-manager interface, you can use the following keys:
* Tab: Switch focus.
* w: Switch between the Sets view and the server pool view.
* Enter: Open, edit, or confirm.
* /: Search within the current list.
Set Activation Logic¶
The servers actually running are the union of all active Set members. Duplicate members are started only once.
Notes¶
- Diagnostics behavior: Servers on the diagnostics page that are not in an active Set are temporarily enabled using the existing Loader configuration to complete the handshake. The plugin reads the status and stops them immediately. This does not modify Sets or configuration files.
- Configuration writes: Sensitive fields remain in configuration files only as references. When upgrading from an older dsh version, if the profile does not yet have a managed block, legacy MCP configuration is imported once from the reserved
settings.yamlorsettings.yaml.imported. - Runtime environment: The plugin runs with the permissions of the current dsh process. Manifest permissions are used for auditing and policy declaration, not as an operating system security sandbox.
Conclusion¶
dsh-tui-mcp-manager provides dsh-TUI users with a centralized MCP management entry point. Through atomic configuration file writes and reference-based credential management, it maintains the TUI interaction experience while ensuring configuration persistence and security.