npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

dsh-mcp-settings

v0.2.5

Published

Settings-driven MCP server manager, inventory Remote, and Web settings UI for DeepSeek Harness

Readme

dsh-mcp-settings

English | 中文

这是一个可安装的 DeepSeek Harness bundle,包含通过 Web 设置管理 MCP 服务器的三个插件。

| Cordis 行 | 入口 | 职责 | |---|---|---| | dsh-mcp-settings-manager | dsh-mcp-settings/manager | 拥有 mcp.servers,为每个已启用服务器启动或停止内置 MCP client fiber,并发布合并后的连接状态。 | | dsh-mcp-settings-inventory | dsh-mcp-settings/inventory | 提供只读 mcpInventory/list Remote。 | | dsh-mcp-settings-ui | dsh-mcp-settings + ./client | 提供 MCP 设置页、表单/JSON 编辑、启停开关、状态轮询和工具数量。 |

bundle 会把这三个插件行插入兼容的 Web profile。该 profile 不能同时挂载另一套由设置驱动的 MCP manager 或 MCP 设置 UI。已有 mcp.servers 用户设置不会被删除。

环境要求

  • 匹配的 DeepSeek Harness 开发版本;它的 web profile 必须已经提供 package.json 中列出的 DSH peer 包。
  • fork runtime v0.1.1-rc.1+zw.1,或其他会发出 mcp-client/status 的 Harness 构建;官方发布的 [email protected] 不发出该事件。
  • Node.js ^22.19.0 || >=24
  • 从 GitHub 直接安装时使用 pnpm 10 或更高版本。

从 GitHub 安装

DSH 插件通过 bundle 分发。dsh plugin add 会把包安装进 profile,并把它的 dsh.bundle 层加入 profile manifest;不需要额外的启用脚本。

dsh plugin --profile web add github:aka-danielZhang/dsh-mcp-settings

该命令只安装 bundle,不会安装或升级 Harness 拥有的 peer 包;因此必须按上述要求使用匹配的 Web profile。

Git 安装会运行仓库的 prepare 脚本生成 lib/。pnpm 默认阻止依赖构建脚本;如果第一次安装提示 build 被忽略,请把提示中的准确包名加入 ~/.dsh/profiles/web/pnpm-workspace.yaml,然后重试:

allowBuilds:
  "dsh-mcp-settings@https://codeload.github.com/aka-danielZhang/dsh-mcp-settings/tar.gz/<commit-sha>": true

这项授权允许安装期间执行包代码。安装不受你控制的源码时应锁定 commit:

dsh plugin --profile web add github:aka-danielZhang/dsh-mcp-settings#<commit-sha>

安装后重启 dsh --profile web,打开“设置 > MCP”;原有 mcp.servers 列表会继续使用。

检查组合结果:

dsh --profile web --dump-config

输出应包含 dsh-mcp-settings-managerdsh-mcp-settings-inventorydsh-mcp-settings-ui

安装本地 checkout

git clone https://github.com/aka-danielZhang/dsh-mcp-settings.git
cd dsh-mcp-settings
dsh plugin --profile web add file:.

全局安装了 dsh 时,也可以使用这些可选快捷脚本:

pnpm run plugin:add
pnpm run plugin:dump
pnpm run plugin:remove

DSH CLI 是权威安装路径;这些脚本不会直接修改 profile 文件。

配置 MCP 服务器

使用“设置 > MCP”。manager 读取与内置实现相同的 mcp.servers 设置命名空间。凭据保存在 Harness 凭据服务中;HTTP 条目通过 authorizationCredentialRef 生成 Bearer 认证头,stdio 条目通过 envCredentialRefs 把目标环境变量映射到凭据引用,因此密钥无需进入 MCP 设置文档。引用名必须符合可移植环境变量格式 [A-Za-z_][A-Za-z0-9_]*

配置 authorizationCredentialRef 后,解析得到的 Bearer 值是权威来源,会替换 headers 中任意大小写形式的 Authorization 项。收到 credentials/reference-updated 事件时,仅重启使用该引用的服务器,因此轮换凭据无需修改 MCP 设置即可作用于下一次进程启动或连接。

UI 支持 stdio 与 Streamable HTTP、表单与 JSON 编辑、凭据引用、直接启停以及实时状态/工具数量。保存已启用服务器后立即查询一次,随后每两秒查询,直到连接成功或经过 60 秒。后台轮询只更新实时状态发生变化的行;手动刷新仍保留完整加载反馈。

移除

dsh plugin --profile web remove dsh-mcp-settings

重启 Web profile。bundle 插入的插件行会消失,用户设置保持不变。

开发

类型检查和测试遵循 DSH 仓库外插件约定:在相邻目录 ../deepseek-harness 保留一个 Harness checkout。

git clone https://github.com/deepseek-ai/deepseek-harness.git ../deepseek-harness
cd ../deepseek-harness && pnpm install
cd ../dsh-mcp-settings
pnpm install
pnpm run typecheck
pnpm test
pnpm run bundle
pnpm run smoke

实时开发时,先把本地 checkout 安装到 Web profile,保持 dsh web 运行,再在另一个终端启动本插件的 bundle watcher:

pnpm run plugin:add
pnpm run dev:web

dsh web 始终挂载 Client HMR 接收端。watcher 会重建这个仓库外插件的 Host 和 Client bundle;运行中的 Host 发现 bundle revision 变化后,会让浏览器插件自动热替换,无需刷新页面。Harness 根目录的 pnpm run dev:web 只监视仓库内 packages/*/* 的 Client 插件,不能替代本插件自己的 watcher。

prepare 使用自包含的 tsdown.config.tstsconfig.prepare.json,因此 GitHub 安装方不需要相邻 Harness checkout;类型检查与测试需要它。

GitHub CI 会在没有 Harness checkout 的情况下验证消费端安装、bundle、JavaScript 语法和打包产物。完整类型检查与测试针对匹配的相邻 Harness fork 树运行。源码 checkout 开发态把 @deepseek-ai/dsh-mcp-client 钉到带状态事件的 @crazx npm alias,防止 Node 静默加载官方构建,导致已连接服务器仍一直显示为连接中。

兼容性

当前兼容的 DeepSeek Harness 基线:fork v0.1.1-rc.1+zw.1。manager 会在本地镜像重连默认值与服务器名 pattern,但实时状态仍依赖 fork 的 mcp-client/status 事件。因此源码 checkout 的 devDependency 把 @deepseek-ai/dsh-mcp-client alias 到 @crazx/[email protected];生产 profile 也必须提供同样带状态事件的 peer。

该 bundle 替换当前 DeepSeek Harness RC 版本线提供的扩展点,并复用内置 @deepseek-ai/dsh-mcp-client。DSH 仍处于预发布阶段;这些扩展点变化时,需要一起更新 peer 范围、Typert descriptor 和 bundle patch。

来源与许可

实现迁移自 DeepSeek Harness 中 MIT 许可的 MCP manager、MCP inventory 和 MCP Settings 包。详见 LICENSE