Skills Plugins MCP Prompt Model 导航 博客 资讯 我的中心

dsh-mcp-manager

Unofficial DeepSeek Harness plugin: add, remove, enable and disable external MCP servers from the Web settings page or from chat, so the harness calls their tools as native tools

ctl456 @ctl456 ⬇ 1 ★ 0 main

安装

dsh plugin --profile web add github:ctl456/dsh-mcp-manager
下载安装清单

需要可复现安装时,可在仓库后追加 #commit 固定提交。

Unofficial DeepSeek Harness plugin: add, remove, enable and disable external MCP servers from the Web settings page or from chat, so the harness calls their tools as native tools

该插件未提供要点说明,请参考仓库 README。

  1. 安装并启动 DeepSeek Harness:npx @deepseek-ai/dsh web
  2. 在终端执行上面的安装命令(CLI 会解析插件并核验来源)
  3. 用 dsh plugins list 确认已安装,必要时重启 Harness 生效

插件以当前 dsh 进程的权限运行,安装时可能执行代码。请先通读仓库源码与许可证,确认无破坏性命令与越权访问;本站只做索引,不对第三方插件安全性作担保。

代码仓库github.com/ctl456/dsh-mcp-manager
许可证MIT
主要语言main
下载量1
GitHub 星标0
最近推送2026-09-12
收录日期2026-09-19
分类模型与提供方

事实信息来自公开插件目录快照(2026-10-01),介绍文案由本站再加工。

以下为插件仓库 README 全文(原始内容,由公开目录抓取整理)。

# dsh-mcp-manager

English | [中文](README.zh.md)

An **unofficial** plugin for DeepSeek Harness that manages external
[MCP](https://modelcontextprotocol.io) servers: add, remove, enable and disable
them from a Web settings card or from chat, and the harness calls their tools
like built-in tools.

> This project is not affiliated with, endorsed by, or supported by DeepSeek.
> See [NOTICE.md](NOTICE.md) for attribution and [LICENSE](LICENSE) for terms.

## What it does

- Keeps one list of external MCP servers and mounts one `dsh-mcp-client`
  connection per enabled entry.
- Publishes each enabled server's tools as native tools named
  `mcp____`, so the model calls them without any extra wiring.
- Adds, removes, enables and disables servers without editing YAML and without
  restarting the host.
- Gives beginners a form in the Web UI instead of a configuration file.

## Requirements

- A DeepSeek Harness install with the `dsh` CLI, version `0.1.5-rc.2` or
  compatible. The plugin declares the harness packages it plugs into as peer
  dependencies (`@deepseek-ai/dsh-mcp-client`, `dsh-settings`, `dsh-tools`,
  `dsh-util-values`, `@deepseek-ai/cordis`); the profile you install into must
  already provide them, which the shipped `web` profile does.
- Network access while installing, so npm can resolve those peers.

## Install

```sh
dsh plugin --profile web add @ctl456/dsh-mcp-manager
dsh --profile web
```

Any profile works; `web` is the one with the Web UI. Remove it with:

```sh
dsh plugin --profile web remove @ctl456/dsh-mcp-manager
```

To install a packed tarball or a checkout instead of the registry:

```sh
npm pack                                   # produces dsh-mcp-manager-.tgz
dsh plugin --profile web add file:/abs/path/to/dsh-mcp-manager-0.1.0.tgz
```

## Use it in the Web UI

Open **Settings → MCP servers** — its own page in the settings nav, below
**Agent presets**.

![The MCP servers page on first use: the filter box and Add server button above an empty list](docs/images/mcp-servers-card.png)

| Field | Meaning |
|---|---|
| Name | The tool namespace: the model calls the server's tools as `mcp____`. Letters, digits, underscores, or hyphens, 1-32 characters. |
| Connection | **Local program (stdio)** launches a command; **Remote service (HTTP)** connects to a Streamable HTTP endpoint. |
| Command / Arguments / Environment / Working directory | stdio only. One argument per line and one `NAME=value` per line; an empty working directory inherits the host's. |
| Endpoint URL / Headers | HTTP only. One `Name: value` per line. |
| Per-call timeout (ms) | Optional; blank uses 60000. |

**Add server** opens a dialog; choosing **Remote service (HTTP)** swaps the stdio
fields for **Endpoint URL** and **Headers**.

![The add dialog with Remote service (HTTP) selected, showing the Endpoint URL and Headers fields](docs/images/mcp-servers-http.png)

Fill the fields and press **Add**. The page lists every configured server with its
target, an **Enable** or **Disable** switch, and **Remove**; a name that already
exists replaces that entry. The list pages five at a time, and the filter box
matches on both the name and the connection target.

![The page after adding a filesystem server: the row shows its stdio target with Disable and Remove controls](docs/images/mcp-servers-configured.png)

## Manage servers from chat

`mcp_manager_list` reads the current list; `mcp_manager_add`,
`mcp_manager_remove` and `mcp_manager_set_enabled` change it. Every call returns
the fresh list with each server's transport, target, enabled state, connection
status, tools and configuration problems, so you can ask the model to add a
server instead of filling the form.

## Where the configuration lives

The card and the tools edit the same `mcp-manager` section of
`$DSH_HOME/settings.yaml`. The `servers` array in `cordis.patch.yml` seeds the
composition base layer, so a profile or `--patch` overlay can preconfigure
servers, while the settings document stays the value that wins.

## Limitations

- The manager bridges tools only; MCP resources and prompts are not supported.
- Credentials in Environment and Headers are stored as plain settings values, so
  prefer variables your shell already exports and reference them by name.
- The card shows configuration, not live connection health; use
  `mcp_manager_list` for connection status.

## Rebuilding the bundled artifacts

`lib/` and `src/` are built inside a DeepSeek Harness checkout, because the
upstream build chain is workspace-coupled: the host bundle comes from the
repository-root `tsdown` config plus the Typert codegen plugin, and the browser
bundle from `packages/client/tsdown.client.ts` and its helpers. Building this
package standalone is therefore not supported.

```sh
git clone https://github.com/deepseek-ai/deepseek-harness
cd deepseek-harness && pnpm install && pnpm run build
cd /path/to/dsh-mcp-manager
scripts/sync-from-harness.sh /path/to/deepseek-harness
```

The script refreshes `lib/`, `src/` and `cordis.patch.yml`, re-applies this
repository's package name, and rewrites `PROVENANCE.md` with the harness version
and commit.

## Verify before publishing

```sh
npm run verify:install
```

It packs the tarball, checks the payload, installs it into a throwaway profile
with `dsh plugin add file:`, and asserts that the composed profile tree
contains the `mcp-manager` row. That is the gate that separates "works from a
checkout with `link:`" from "works the way a user installs it".

## Releasing

The `version` in `package.json`, the `v` git tag and the top section of
`CHANGELOG.md` move together; pushing the tag runs
`.github/workflows/release.yml`, which publishes the version to npm when it is
new and opens the GitHub Release. The full runbook — tag rules, the release
checklist and the npm token setup — is in [RELEASING.md](RELEASING.md).

## Licence

MIT, with the upstream copyright notice retained — see [LICENSE](LICENSE) and
[NOTICE.md](NOTICE.md).

数据来源:公开的 DeepSeek Harness 插件目录与各插件 GitHub 仓库。本站为独立第三方目录,与 DeepSeek、幻方(High-Flyer)及插件作者均无隶属或背书关系。

每日精选 Skill 推荐,免费送到你邮箱

输入邮箱,每天接收一个精选 AI Agent 技能推荐。完全免费,持续更新。

提交后我们会发送一封确认邮件,点击邮件里的链接才会开始收信。

完全免费,取消任意时间。我们不会发送垃圾邮件。