dshbase

Plugin directory / Developer / dsh-mcp-center

dsh-mcp-center

Verified · install-tested on dsh drfccv

✓ Actively maintained Builds on 1 official DSH packages Pure TypeScript

View on GitHub ↗ ← Back to plugin directory

1Stars
0Forks
0Open issues
TypeScriptLanguage
2026-08-15Last push
Cross-platformPlatform

What it does

Connect any MCP server to your DeepSeek Harness — point, click, done.

✅
Our take
Works — verified, early-stage project

Connect any MCP server to your DeepSeek Harness — point, click, done. It installs cleanly and boots without issues in our testing. It's early-stage but functional.

“Verified” means our automated CI actually ran dsh plugin add in a clean profile and it booted — nothing more. Feature descriptions and version compatibility are the author’s claims. This is not a security audit and not an endorsement of third-party code.

README

MCP Center

English | [中文](README.zh.md) **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**: ``sh

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: `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

| Piece | Mechanism | |---|---| | Settings page |
settings.section slot entry (MCP Center tab) | | API | Same-origin JSON under /mcp-center/api/* (ping, servers CRUD, connect, enabled) | | HTTP transport | Streamable HTTP: JSON-RPC over POST, Mcp-Session-Id, JSON or SSE responses | | stdio transport | child_process.spawn a local command, JSON-RPC over stdin/stdout (newline-delimited); reconnect reaps the old process first | | Tool schema | Server 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

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

Install

🧩 Let your agent install it (recommended)

Install the catalog once, then DeepSeek Harness can find and install any plugin from this site automatically:

dsh plugin add dshbase-catalog

Then say "install dsh-mcp-center for me" — your agent finds it in the directory and installs it. Docs: dshbase-catalog · verified packs.

Web profile:

dsh plugin --profile web add dsh-mcp-center

Headless (CLI) profile:

dsh plugin --profile headless add dsh-mcp-center

Package

npm: dsh-mcp-center · version — · tested on dsh 0.1.0-rc.6

Test report

Verified end-to-end: L1 install + L2 load + L3 runtime Q&A on dsh 0.1.0-rc.6.

When to use it

Extend the agent's coding surface — give it a new tool, workflow, or integration so it handles a dev task it couldn't before.

Who it's for

Developers who want dsh to behave like a teammate on real codebases — editing, running, and verifying changes rather than just answering.

For developers — extending it

The tool/command surface is the seam: expose more of the SDK, add smarter context wiring, or tighten the loop between code changes and verification.

Security: not yet scanned — our daily static scan will cover it shortly.

Share this badge

More in Developer

Browse all 7797 plugins →