Preface¶
Integrating Model Context Protocol (MCP) servers into DeepSeek Harness (DSH) typically involves modifying profile configurations, manually writing startup commands, or maintaining separate mcpServers entries across multiple clients. As the number of entries grows, it becomes difficult to visualize which servers are online or disabled at a glance. Furthermore, migrating configurations from official directories or other editors requires反复 comparing fields.
dsh-mcp-console is a workflow-type DSH plugin released by the maintainer CoderKuo. It adds an “MCP” entry to the sidebar of the desktop application, allowing users to list, start/stop, edit, and export MCPs within the current profile. It also supports searching the official MCP directory, manual addition, AI-assisted installation, and scanning for existing MCPs on the local machine and in other clients. New configurations are completed via the install_bundle function of the official DSH plugin manager; the plugin itself does not directly insert MCP entries into the profile.
What is this¶
The plugin package name is dsh-mcp-console (npm description: Manage the MCP servers of a DeepSeek Harness profile). It injects sidebar and workspace UIs into the DSH Web client, while reads and writes still utilize DSH’s official plugin management and mcp-bundles mechanisms. It is suitable for developers already using DSH who need to maintain multiple sets of MCPs over the long term.
Core Features¶
The following summarizes capabilities based on the README. Status determination is based on information observable by the DSH MCP client (@deepseek-ai/dsh-mcp-client does not expose a connection status API externally).
MCP List and Status¶
The sidebar “MCP” → “Installed” lists all servers configured in the current profile: name, connection status, transport method, startup command or address, environment variable names, provided tools, and open-source repository address. Statuses are categorized as: Connected (registered mcp__<name>__* tools), Connecting, Failed (only when failOnStartupError: true is configured), or Disabled. The page automatically refreshes upon connection, disconnection, or start/stop events, without relying on scheduled polling.
Enable, Disable, and Delete¶
Each server has a toggle switch that calls the official plugin manager’s setPluginEnabled. This writes disabled to the profile’s cordis.patch.yml and takes effect immediately without restarting DSH. Servers installed or imported by AI can be deleted: this uninstalls the corresponding plugin package and cleans up its configuration files within <DSH_HOME>/mcp-bundles (files outside this directory are not modified).
Four Sources for Adding MCPs¶
The “Add” tab requires selecting a source first, followed by completing the details below:
- Search MCP Directory: Search by name on registry.modelcontextprotocol.io (configurable via
registryUrlin settings). Upon selection, the command, environment variables, and headers are filled into the manual addition form. - Manual Addition: If the startup method is known, directly fill in the local command (e.g.,
npx -ypackage name,uvx,docker run) or remote streamable-http endpoint. Test the MCP handshake locally before adding. For keys, you can configure only “which environment variable to read,” using!!js process.env.variable_namein the configuration; plaintext is not displayed on the page. - AI Quick Add: Fill in the repository, npm/PyPI package, Docker image, directory page, or any link along with supplementary instructions. The plugin opens a new creative mode session (agent preset
cordis, withplugin_manager) in the default workspace. The AI follows official recommended processes to read documentation, test run, write a bundle, and callinstall_bundle. You must approve every installation step. - One-click Import: Directly import MCPs scanned from clients like Claude Desktop, Claude Code, Cursor, VS Code, Windsurf, and Codex without going through AI.
Remote services that only support SSE or require OAuth can be bridged via “mcp-remote” (npx -y mcp-remote <address>).
Edit and Export¶
Configuration packages under mcp-bundles containing only a single MCP can be edited via a form. Testing is performed before saving, and failed tests will revert to the original configuration. A standard mcpServers JSON can be exported from the top right of the list (excluding keys, with placeholders as ${variable_name}).
Discover Services Accessible Locally¶
In “Discover,” click “Scan Local Machine”: This reads installed applications, background services, listening ports, Docker containers, and MCP configurations from other clients on the local machine (the list does not include file paths). After confirmation, you can choose “Hand over to AI for network analysis,” where the current session model searches for which software provides MCPs and integrates them using the same flow.
Security and Logs¶
The page only displays the names of environment variables and headers; sensitive values are masked. Operations and errors are written to <DSH_HOME>/storages/dsh-mcp-console/logs/ (single file limit 1MB, retained for about 7 days, total volume within approx. 5MB). “Diagnostic Information” allows copying plugin and DSH versions, and server statuses for troubleshooting.
Installation and Activation¶
In the DSH desktop application’s Plugins page, click Add Plugin, select Official Source for the Install Source, and enter:
dsh-mcp-console
After installation, the “MCP” entry appears in the sidebar. The README notes: within 24 hours of a new version release, installation by package name might be rejected by the package manager. You can use the GitHub Release installation package address instead:
https://github.com/CoderKuo/dsh-mcp-console/releases/latest/download/dsh-mcp-console.tgz
The plugin is released under the MIT License; the current version in package.json is 0.1.11. The GitHub repository has approximately 3 stars (subject to the directory page/repository page).
Typical Usage¶
Quick Integration from Official Directory¶
- Open sidebar “MCP” → “Add” → Select search official directory.
- Enter the name and click “Fill In” on the result to populate the manual addition form.
- Modify environment variables as needed (if checking “Read Environment Variable” for the key line, you must fully exit and reopen DSH after setting the variable in the system).
- Click “Add” to test the connection first; upon success, install to
mcp-bundles.
Install from Repository using AI¶
- “Add” → Let AI Install, fill in the source as
https://github.com/owner/projectorowner/project. - Click “Start Installation,” switch to a new session in the default workspace; you can specify the provider and model for this session via the model selector (this does not change the default model).
- Approve the installation step-by-step in the session; after completion, verify the tool list and status dots in “Installed.”
Import from Clients like Cursor¶
- “Discover” → “Scan Local Machine,” expand the other client groups.
- Use one-click import for the target MCP, or jump to the import flow in “Add.”
- Use the switch in “Installed” to enable/disable; use “Export” to generate JSON for other clients when migration is needed.
Optional Configuration¶
In the profile’s cordis.patch.yml, when the line id is mcp-console, you can adjust settings such as: agentPreset (default cordis), bundleDirectory, scanTimeoutMs (default 20000), registryUrl, repositories, etc. See the repository README settings table for details.
Use Cases and Precautions¶
Suitable for: Developers maintaining many MCPs in DSH, needing unified visibility of status and start/stop controls, wishing to migrate configurations from official directories or other AI clients, or wanting to scan locally before letting AI identify which services have MCPs.
Precautions:
- The plugin and DSH run with current process permissions; AI installation or scanning executes local commands (via
ctx.subprocess, with timeouts and sanitized environment variables). Please review the target MCP source code and license before installation. - Commands added manually do not go through a shell; pipes and redirections are invalid.
npx,uvx,docker, etc., must be available in DSH’s PATH. - For entries that cannot be toggled individually in this interface, the switch will explain the reason (e.g., defined by another configuration layer or hosted by a whole package plugin).
- The community plugin directory entry on SkillHub and the GitHub repository are public information sources and have no official affiliation with DeepSeek / High-Flyer.
Conclusion¶
dsh-mcp-console consolidates “listing, toggling, adding, and exporting” into the DSH sidebar. It distinguishes four paths: directory search, manual test addition, AI installation, and local discovery, while striving not to write keys into configurations or logs. For details, feedback, or local development (pnpm install / pnpm run check), see GitHub: CoderKuo/dsh-mcp-console and the SkillHub Directory Page.