DeepSeek Harness plugin

dsh-mcp-center

Settings-driven MCP server manager: connect any MCP server to DeepSeek Harness.

Jump to install

Source facts

Repository
drfccv/dsh-mcp-center
Latest update
Aug 14, 2026
Category
Plugin Markets & Managers
GitHub stars
1
Format
plugin
Catalog evidence
Upstream dsh.bundle evidence
Evidence path
package.json#dsh.bundle
Checked against
0.1.0-rc.8
Upstream check date
2026-08-20

This evidence comes from the upstream catalog. This site has not installed, run, or security-reviewed the plugin.

Install

Start with a prompt that asks an agent to review the GitHub repository and source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to review the GitHub repository and source first.

Do not install or run any commands yet. Read this plugin's GitHub repository, README, and relevant source code. Then answer the questions below clearly and directly so I can decide whether it fits my needs:

1. What is this plugin, and what problem does it solve?
2. Who is it for, and what are its typical use cases?
3. How is it used after installation? Include one minimal example.
4. What known limitations or privacy, security, compatibility, or maintenance risks does it have?
5. Give a clear recommendation: recommend, conditionally recommend, or do not recommend, with reasons.

Distinguish statements documented by the repository, inferences from source code, and unknowns. If evidence is insufficient, say so explicitly. Do not guess or simply repeat the README.

GitHub: https://github.com/drfccv/dsh-mcp-center
Plugin: dsh-mcp-center
Author: drfccv

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer4 files
README.mdSource · read only
README language

MCP Center

English | 中文

Connect any MCP server to your DeepSeek Harness — point, click, done. MCP Center is a settings-driven MCP server manager. Register servers (Streamable HTTP or local stdio processes) on the dedicated Settings → MCP Center page; save and they connect immediately, their tools becoming first-class, model-callable tools in every session.

![MCP Center settings page](./sample/screenshot.png)

Why use it

  • No code, no config files — everything happens in the Settings UI.
  • Both MCP server types supported:

- Streamable HTTP — remote MCP endpoints, with optional auth (none / static Bearer token / custom headers). - stdio — local processes (npx, uvx, python, …).

  • Tools are instantly usable — each connected server's tools appear as mcp__<name>__<tool> and can be called by the model in all sessions.
  • Zero-dependency install — the client transport is implemented in the plugin itself (no external MCP SDK), so the plugin adds no peer-dependency chain to your profile.
  • Per-server on/off — disable a server to unregister its tools and drop the connection; the config is kept.

Requirements

  • DeepSeek Harness with the web profile
  • Node.js ^22.19 or >=24

Quick start

1. Install the plugin

The package is published on npm as dsh-mcp-center:

# install from the npm registry
dsh plugin --profile web add dsh-mcp-center

Prefer installing from source? See [Development](#development).

2. Restart and open the settings page

Restart dsh web, open Settings → MCP Center, and click + Add MCP server:

  • Streamable HTTP: name (the mcp__<name>__* prefix), URL, and auth mode (none / Bearer token / custom headers).
  • stdio: name, command (e.g. npx), args (space-separated; quote args containing spaces), optional env (JSON object) and working directory.

3. Save — and it's connected

The server connects as soon as you save. Status badges show Connected (N tools) / Connecting / Error / Disabled. Per server you can enable/disable, delete, and (for Bearer servers) re-token.

The model can use it right away

Tools from connected servers are first-class to the model. For a server named web:

mcp__web__ping    mcp__web__shout

Tool results are rendered as native text; isError results surface through the registry's error path.

> The plugin depends only on @deepseek-ai/cordis (peer) and React (client half). No MCP SDK, no settings-service coupling, no fallback-tree resolution of MCP peer packages.

Configuration storage

Server configs live in ~/.dsh/mcp-center.json:

{
  "servers": [
    { "id": "…", "name": "web", "type": "http", "url": "http://localhost:3000/mcp", "authMode": "none" },
    { "id": "…", "name": "fs", "type": "stdio", "command": "npx", "args": ["-y", "@modelcontextprotocol/server-filesystem", "/tmp"] }
  ]
}

> ⚠️ Bearer tokens are stored here in plain text — treat this file as a secret.

How it works

PieceMechanism
Settings pagesettings.section slot entry (MCP Center tab)
APISame-origin JSON under /mcp-center/api/* (ping, servers CRUD, connect, enabled)
HTTP transportStreamable HTTP: JSON-RPC over POST, Mcp-Session-Id, JSON or SSE responses
stdio transportchild_process.spawn a local command, JSON-RPC over stdin/stdout (newline-delimited); reconnect reaps the old process first
Tool schemaServer JSON Schemas sanitized to the registry's supported raw subset (unsupported vocabulary degrades to unconstrained)
State~/.dsh/mcp-center.json

Current limitations

  • Only tools are bridged; resources and prompts MCP capabilities are not.
  • Bearer tokens live in a plain JSON file under ~/.dsh — treat it as a secret.
  • stdio servers run as long-lived child processes tied to the plugin lifecycle; args are whitespace-tokenized (quotes protect args with spaces) with no shell expansion — write absolute paths or env vars yourself for ~, $VAR, pipes, etc.
  • No automatic reconnect after a crash in this version; re-enable or restart the server to reconnect.

Development

pnpm install
pnpm build      # tsdown: lib/index.js (node) + lib/client.js (browser)
pnpm typecheck