DeepSeek Harness Plugin MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DSH_ROOT | No | Harness checkout (informational in status) | |
| GH_TOKEN | No | Alternative GitHub API auth token | |
| GITHUB_TOKEN | No | GitHub API auth token (optional but recommended) | |
| DSH_PLUGIN_MCP_HOST | No | Bind address | 127.0.0.1 |
| DSH_PLUGIN_MCP_PORT | No | Bind port | 8765 |
| DSH_PLUGIN_MCP_CATALOG | No | Set to '0' to disable GitHub catalog tools | 1 |
| DSH_PLUGIN_MCP_PROFILE | No | Target profile | mcp-bridge |
| DSH_PLUGIN_MCP_CACHE_DIR | No | Catalog cache directory | ~/.dsh-plugin-mcp |
| DSH_PLUGIN_MCP_ALLOW_INSTALL | No | Set to '1' to allow dsh plugin add/remove | 0 |
| DSH_PLUGIN_MCP_ALLOW_RUNTIME | No | Set to '1' to spawn DSH and bridge tools | 0 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| dsh_plugin_statusA | Report GitHub auth, catalog cache, dsh binary, profile, and runtime bridge status. |
| dsh_plugin_refresh_catalogA | Force-refresh the GitHub topic:dsh-plugin catalog and replace the on-disk cache. |
| dsh_plugin_listB | List cached dsh-plugin repositories. Call dsh_plugin_refresh_catalog if the cache is empty or stale. |
| dsh_plugin_searchA | Search the cached dsh-plugin catalog by free-text query. Same filters as dsh_plugin_list. |
| dsh_plugin_getA | Get one catalog card by owner/repo, github:owner/repo, or GitHub URL. |
| dsh_plugin_inspectC | Inspect package.json, cordis.patch.yml, README, skills, and DSH bundle metadata for one plugin. |
| dsh_plugin_readmeC | Return the full README of a dsh-plugin repository. |
| dsh_plugin_list_installedA | List bundles and dependencies installed in the configured DSH profile. |
| dsh_plugin_installA | Install a plugin into the DSH profile via |
| dsh_plugin_uninstallC | Remove a plugin from the DSH profile via |
| dsh_runtime_startA | Install this MCP bundle plus optional plugins into the profile, spawn |
| dsh_runtime_stopA | Stop the spawned DSH runtime and drop bridged dsh__* tools. |
| dsh_runtime_loadC | Install one more plugin into the live profile and restart the DSH runtime. Requires --allow-runtime. |
| dsh_runtime_unloadA | Remove a package from the live profile and restart the DSH runtime. Requires --allow-runtime. |
| dsh_runtime_list_toolsA | List DSH tools currently bridged onto this MCP server as dsh__* names. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| search-dsh-plugins | Search the public dsh-plugin catalog for plugins that match a task. |
| install-dsh-plugin | Install a DeepSeek Harness plugin into the MCP bridge profile. |
| use-dsh-plugin | Inspect a plugin, start the DSH runtime with it loaded, and use its tools. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| catalog | Cached GitHub topic:dsh-plugin listing |
| runtime-tools | Currently bridged DSH tools |
TDQS
Scored across 15 tools
Tools are clearly separated into plugin catalog, profile, and runtime operations, but there is slight overlap between list/search and install/runtime_load. Descriptions are detailed enough to resolve ambiguity in most cases.
All tool names follow a consistent snake_case pattern with the dsh_ prefix, using verb phrases like get, list, install, uninstall, start, stop. The only minor deviation is dsh_plugin_status, which is a noun, but overall naming is highly predictable.
15 tools sit at the upper boundary of the ideal range, but each tool maps to a distinct step in the plugin lifecycle (catalog, install, runtime), making the set feel well-scoped and not bloated.
The tool surface covers catalog browsing, plugin installation/removal, and runtime lifecycle management comprehensively. An update operation is missing, but it can be simulated through uninstall/install, so it is not a critical gap.