DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins

dsh-mcp-autoload

Mcp Autoload

Auto-discovers project-level MCP servers declared in .agents/mcp.json, mounts them per agent session, and shows a session MCP inventory panel in the Web UI.

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add dsh-mcp-autoload@0.5.2
READMECompatibilityVersions

Compatibility and provenance

Mcp Autoload is published as dsh-mcp-autoload and currently resolves to version 0.5.2. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
npm
Registry updated
10/31/2026

Versions

0.5.2stable
10/31/2026
0.4.0stable
10/25/2026
0.2.0stable
10/25/2026

Related plugins

Loading related plugins…

Latest
0.5.2
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
79.3 kB
Files
13
Surface
web
License
MIT
Source
npm
GitHub
★ 1
Weekly downloads
0
Last push
10/31/2026
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in integrations-communication.

Remote Web Ui@linxin666/dsh-remote-web-uiScan-to-pair remote access for the dsh web GUI that shares one official interface: a QR beside the settings button pairs phones and PCs into the same Web GUI (a portrait-touch adaptation layer for phones, full desktop on PCs) through one-time tokens and rRemote Bridge@linxin666/dsh-remote-bridgeDSH remote bridge: the host half serves protocol v1 over one exact /ios/v1 WebSocket route — session roster, history baseline, prompting, live turn increments with tool activity, interrupt, and in-process agent approval — to a device paired by a one-shot Ds Botds-botDS Bot: a team of long-lived Bots for DeepSeek Harness, with Main Bots, Bot-to-Bot messages and group chatsPocketdsh-pocketPut DeepSeek Harness in your pocket: one package, one settings page, and scan a QR code on your phone to access DSH on your computer in sync (LAN + public network, real-time screen mirroring).

README

dsh-mcp-autoload

Auto-discover project-level MCP servers for DeepSeek Harness (DSH).

Place a .agents/mcp.json at your project root (the nearest ancestor with a .git marker). Every DSH agent session whose working directory is inside that project automatically mounts the declared servers; connections close when the session ends. Servers from other projects never leak in.

English | 中文

Session MCP panel showing a project-level server and a user-level server

The panel above is the session MCP inventory. time comes from the project's .agents/mcp.json (marked 项目级 / project level); codegraph comes from the profile (用户级 / user level).

Install

Requires DSH >=0.2.1-0 <0.3.0 and Node.js ^22.19.0 || >=24.0.0. dsh plugin forwards its arguments to pnpm inside the profile directory.

dsh plugin --profile web add dsh-mcp-autoload

The package declares dsh.bundle.patch, so the CLI registers it under the profile's dsh.profile.bundles for you. Restart dsh web afterwards — the host half loads at startup — then hard-refresh the browser (Cmd/Ctrl+Shift+R).

Working on the plugin from a local clone instead (the dependency is recorded as a link:):

dsh plugin --profile web add /absolute/path/to/dsh-mcp-autoload

Update with dsh plugin --profile web add dsh-mcp-autoload@latest; uninstall with dsh plugin --profile web remove dsh-mcp-autoload.

Minimal example

{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": ["@playwright/mcp@latest"]
    }
  }
}

Full example

Four entries cover every field and both toggle spellings:

{
  "mcpServers": {
    "playwright": {
      "type": "stdio",
      "command": "npx",
      "args": ["@playwright/mcp@latest"],
      "env": { "PLAYWRIGHT_BROWSERS_PATH": "~/.cache/ms-playwright" }
    },
    "postgres_local": {
      "type": "http",
      "url": "http://localhost:3000/mcp",
      "headers": { "Authorization": "Bearer local-dev-token" }
    },
    "experimental_server": {
      "enabled": false,
      "command": "uvx",
      "args": ["some-experimental-mcp@latest"]
    },
    "legacy_server": {
      "disabled": true,
      "url": "http://old-mcp.internal/mcp"
    }
  }
}

Field reference

FieldTransportNotes
commandstdioExecutable: a bare name resolved from PATH (npx, uvx) or an absolute path. Required for stdio
argsstdioOptional string array, passed through without shell interpolation
envstdioOptional string map merged over the scrubbed child environment; explicit entries survive the scrub
urlStreamable HTTPAbsolute http(s):// URL. Required for HTTP
headersStreamable HTTPOptional string map of extra request headers
type—Optional; accepted values are stdio and http. sse is rejected with a log line
disabled / enabled—Optional; disabled: true or enabled: false skips the entry silently (both Claude Code and Codex spellings). The popover removes both fields to enable, or writes disabled: true to disable

Transport selection: an entry with url mounts over Streamable HTTP; otherwise command mounts a stdio child process whose working directory is the session's cwd. An entry with neither is skipped with an error log.

Server names. A name matching [A-Za-z0-9_-]{1,32} passes through unchanged (postgres_local, experimental_server stay as-is). Any other name — Chinese characters, spaces, over-long — is normalized to a deterministic slug (the same algorithm the DSH ACP bridge uses), e.g. 我的服务器 → server_<hash>.

Tool names. Each server's tools register for that session as mcp__<serverName>__<rawToolName>, e.g. mcp__playwright__browser_navigate.

Behavior

  • Per-session scope. Each server mounts inside the agent's Cordis scope: tools apply to that session only, and connections close when the agent is disposed. Two sessions in different projects can use the same server name independently.
  • Startup. Mounting happens during agent creation and awaits the initial connection, so tools are available in the first turn. Servers connect in parallel; one slow or broken server never blocks the others (failOnStartupError stays false). A server that fails to connect is skipped with an error log and the rest keep working.
  • In-session management. The popover can enable/disable project MCP servers after a browser confirmation. The manifest is locked, backed up (only the five newest backups are kept) and replaced atomically; a symlinked manifest is followed so the link itself survives. Disabling unloads its tools at once. If re-enabling cannot mount, the manifest is rolled back to its previous state and the failure is reported — the file never claims a state the session could not actually mount.
  • User-level MCPs. Profile-configured entries are listed but cannot be toggled here; only project manifest entries are writable.
  • No external hot reload. The manifest is read once per session start (including resume). Manual edits require a new session to apply.
  • Plugin config (in the patch row):
- id: mcp-autoload
  name: dsh-mcp-autoload
  config:
    configPath: .agents/mcp.json   # absolute, or relative to the project root
    projectRootMarkers: ['.git']   # directory entries that mark the root

Security

.agents/mcp.json entries are executed on session start. A cloned repository containing this file gets to run arbitrary command lines on your machine — the same trust level as an npm postinstall script. Only add this file to projects you trust, and review it when cloning others'.

Compatibility

Peer packages (@deepseek-ai/cordis, @deepseek-ai/schemastery, @deepseek-ai/dsh-mcp-client) are provided by the DSH installation; the bundle declares them only for version checks. Requires DSH >= 0.2.1-0 < 0.3.0.

Development

All ESM, no build step: the source is the published artifact. npm test runs node --test; npm pack --dry-run must list every runtime file. Conventions live in AGENTS.md; release and awesome-list submission are documented in PUBLISHING.md.