MCP Toggles for DeepSeek Harness
A small, theme-aware switchboard for MCP servers in Settings → Built-in plugins → MCP.
Русская документация · License · Security & privacy
What it does
- Lists MCP plugin entries already configured in the current Harness profile.
- Enables or disables an entry through Harness's existing Plugin Manager.
- Persists changes in the profile's
cordis.patch.yml using the normal Loader lifecycle.
- Provides compact switches, a refresh button, enabled/disabled counts, and saving/error states.
- Follows the Harness theme, supports keyboard navigation and reduced motion, and includes English and Russian UI text.
This is not an MCP server installer or editor. It does not add server definitions, ask for credentials, or change server commands.
Requirements
A DeepSeek Harness installation that provides:
- The
settings.plugins.tab Client slot.
- Client locale, UI slots, and API remotes services.
- The Client-callable
pluginManager.listPlugins() and pluginManager.setPluginEnabled() Host methods.
MCP entries must use @deepseek-ai/dsh-mcp-client. Other MCP implementations are not shown. A minimum Harness release has not been established; compatibility depends on the APIs above. This repository does not claim cross-version or cross-platform runtime testing.
Install
No compilation, dependency installation, or separate web server is required.
-
Clone this repository into a directory you want to keep:
git clone https://github.com/funk80rus/dsh-mcp-toggles.git
-
In the target Harness profile, ask the assistant:
Install the local Cordis bundle from my dsh-mcp-toggles checkout using plugin_manager install_bundle. Ask me for the absolute checkout path if needed.
The underlying tool call is plugin_manager with action: "install_bundle" and target set to the absolute checkout directory. Review and approve the installation when Harness prompts you. Do not manually copy the patch into your profile or edit the profile's package manifest.
-
Follow any restart instruction returned by Harness, then reload the page. Open Settings → Built-in plugins → MCP. Depending on the Harness version, the section may be labeled Plugins.
Local installation links the checkout. Keep that directory in place while the bundle is installed. private: true intentionally prevents accidental npm publication; it does not prevent installing a local checkout.
Use
Switch an entry on or off. The plugin reads the inventory again after each change so the UI reflects the Host's response. Reload refreshes the inventory; it does not restart every MCP server.
Changes affect the current profile, not just the current conversation or project. Disabling a server may interrupt tools used by other sessions in that profile. Enabling one can launch the server command already configured in Harness: only enable servers you trust.
A switch represents the plugin's enabled setting, not a health check or proof of an active MCP connection. Changes normally apply through Loader; restart-required, overridden, and failure results are displayed when reported by the Host. Read-only entries cannot be toggled.
Update or remove
To update, run git pull --ff-only inside the checkout. Restart Harness if required to reload the installed module, then reload the browser page.
To remove, ask Harness to list installed bundles and remove dsh-mcp-toggles through plugin_manager. Removing this UI does not reset MCP enable/disable settings you previously saved.
Privacy
The published bundle contains no personal profile, server definitions, credentials, account-specific paths, screenshots, or saved enabled/disabled settings. The plugin adds no analytics or independent external network requests. It communicates through Harness's existing Host transport; your Harness deployment and configured MCP servers may have their own network behavior.
Inventory entries and Host error messages may contain information about your local setup. Review and redact screenshots, logs, and issue reports before sharing. See SECURITY.md.
Development
The Client half is plain JavaScript loaded through Harness's module loader and uses the React supplied by the Host. The Host entry is intentionally inert. The original SVG icon is included under this project's MIT license.
npm test
Tests use Node's built-in test runner (Node 18+). They check JavaScript syntax, package resources, locale consistency, and publication safety invariants. They do not replace testing the installed UI in Harness. No npm install is needed.
Before publishing, review the exact Git diff and package contents. Do not commit local profiles, logs, environment files, auth material, or unredacted screenshots. Contributions should stay dependency-free unless a dependency is clearly justified.
License
MIT. This is an independent community plugin, not an official DeepSeek product.