# dsh-mcp-tools 中文文档

规范地址：https://npmcn.com/package/dsh-mcp-tools/

版本：1\.0\.3
npm 元数据更新时间：2026-11-03T11:54:34.501Z
中文译文更新时间：2026-11-03T13:56:21.747Z
软件包许可：MIT

本文由上游 README 机器翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/dsh-mcp-tools
原文对照：https://npmcn.com/package/dsh-mcp-tools/?lang=original
项目主页：https://github.com/hxlog/dsh-mcp-tools
源码仓库：https://github.com/hxlog/dsh-mcp-tools

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：221 kB，15 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- Node.js 要求：\>=22\.13
- 运行依赖：0 个
- 首次发布：2026-10-21T08:30:16.562Z
- 最新版本发布：2026-11-03T11:54:34.317Z
- 已发布版本数：5（近 12 个月 5 个）

## 中文简介

管理您的MCP服务器和切换MCP工具的需求在DeepSeek线具设置

## 安装

```sh
npm install dsh-mcp-tools
```

也可以使用：`pnpm add dsh-mcp-tools`、`yarn add dsh-mcp-tools`、`bun add dsh-mcp-tools`

## README

![dsh-mcp-tools](https://cdn.jsdelivr.net/gh/hxlog/dsh-mcp-tools@main/docs/logo.png)

# dsh-mcp-tools

**DeepSeek Harness 简洁、优雅的 MCP 工具管理器。**  
类 Cursor 风格的全局 MCP 控制：自由添加、停用、删除 MCP 接口与工具，适合 MCP 测试、按需请求、拓展上下文等场景。

[![CI](https://github.com/hxlog/dsh-mcp-tools/actions/workflows/ci.yml/badge.svg)](https://github.com/hxlog/dsh-mcp-tools/actions/workflows/ci.yml) [![npm version](https://img.shields.io/npm/v/dsh-mcp-tools?color=black)](https://www.npmjs.com/package/dsh-mcp-tools) [![npm downloads](https://img.shields.io/npm/dm/dsh-mcp-tools?color=black)](https://www.npmjs.com/package/dsh-mcp-tools) [![license](https://img.shields.io/badge/license-MIT-black.svg)](https://npmcn.com/package/dsh-mcp-tools/LICENSE) [![node](https://img.shields.io/badge/node-%3E%3D22.13-black.svg)](https://nodejs.org/) [![GitHub](https://img.shields.io/badge/GitHub-hxlog%2Fdsh--mcp--tools-black?logo=github)](https://github.com/hxlog/dsh-mcp-tools)

[GitHub 仓库](https://github.com/hxlog/dsh-mcp-tools) · [npm](https://www.npmjs.com/package/dsh-mcp-tools) · [问题反馈](https://github.com/hxlog/dsh-mcp-tools/issues) · [English](https://npmcn.com/package/dsh-mcp-tools/README.en.md)

![设置服务器](https://cdn.jsdelivr.net/gh/hxlog/dsh-mcp-tools@main/docs/screenshots/zh/mcp-overview.png) ![MCP 工具详情](https://cdn.jsdelivr.net/gh/hxlog/dsh-mcp-tools@main/docs/screenshots/zh/mcp-detail.png)

> 一站式管理用户的 MCP Server，按需开关 MCP Tools。被停用的 MCP 工具**不会注册进模型**，既不占上下文，也无法被误调用。

## ✨ 功能

| 能力 | 说明 |
| --- | --- |
| **服务器管理** | 两种传输：`streamable-http`（URL + 请求头）与 `stdio`（命令 / 参数 / 环境变量 / 工作目录）；分字段填写，或直接粘贴 `{"mcpServers": { ... }}` 一次导入多个。 |
| **像 Postman 一样填密钥** | 请求头是键值对行而不是 JSON 文本框，默认带一行 `x-mcp-key`；值默认掩码、可逐行显示；名称重复就地报错。 |
| **真正的逐工具控制** | 每个工具是一个 chip，点击即从模型工具列表消失（不是注册了再报错）；支持搜索 / 全选 / 反选 / 全部停用，悬停查看完整描述。 |
| **连通性测试与工具发现** | 临时建连 `initialize → tools/list → 关闭`，回报耗时 / 协议版本 / 工具数；**服务器停用时同样可以测试连接、刷新并整理工具**，不影响运行中的实例；「最近事件」记录连接、重载、测试与失败。 |
| **服务器开关与配置复制** | 开关只决定工具是否注册给模型：关闭即断开并注销其全部工具，但配置与工具开关原样保留，随时可测试、刷新、逐项整理；一键复制该服务器的 `mcpServers` 片段。 |
| **与 DSH 原生一致** | 沿用 `--dsw-*` 设计 token、平铺行与 32px 输入框，深浅色 / 中英文自适应；客户端是 classic script，无构建步骤。 |

![添加服务器：键值对请求头](https://cdn.jsdelivr.net/gh/hxlog/dsh-mcp-tools@main/docs/screenshots/zh/mcp-add-server.png) ![逐工具 chip](https://cdn.jsdelivr.net/gh/hxlog/dsh-mcp-tools@main/docs/screenshots/zh/mcp-tools.png)

## 🚀 安装

需要 **DeepSeek Harness 0.2.x**（Web GUI `dsh web` 或 DSH Desktop）与 **Node.js ≥ 22.13**，包已发布到 npm：[dsh-mcp-tools](https://www.npmjs.com/package/dsh-mcp-tools)。

> ⚠️ 这是 **DeepSeek Harness 插件**，不是普通 npm 依赖库：`npm i dsh-mcp-tools` 只会下载包，运行时仍需装进 DSH profile。

**通过插件页安装（推荐）**

1.  打开 DSH Web（或 DSH Desktop）→ 侧边栏 **插件**（Desktop 在 **设置 → 插件**）。
2.  点击安装，填入 `dsh-mcp-tools`，确认。
3.  启用新 bundle，刷新页面，打开 **设置 → MCP**。

**通过命令行安装**

```bash
dsh plugin --profile web add dsh-mcp-tools      # Web
dsh plugin --profile desktop add dsh-mcp-tools  # Desktop
```

> 升级包版本后需要重启 `dsh web` / 重启 DSH Desktop。
> 
> `dsh plugin add` 只负责把包装进 profile，**不会自动启用 bundle**：装完请在插件页启用一次（这一步会把 `dsh-mcp-tools` 写进 profile 的 `dsh.profile.bundles`），或手动确认该列表已包含它，再重启 `dsh web`。

## ⚡ 快速开始

1.  **设置 → MCP → 添加服务器**：远程服务器填 URL，把密钥粘贴进请求头行（默认 `x-mcp-key`）。
2.  点 **测试连接**，看到类似 `已连接 · 95 个工具 · 478 ms` 后保存。**先不打开开关也能测试并整理工具**：停用状态下的结果行会显示测试结论，工具列表照常出现。
3.  打开服务器开关，DSH 会把启用的工具注册为 `mcp__<服务器>__<工具>`；用不到的工具展开列表停用即可，启用的工具越少，每次请求里的 tool schema 越小。停用时改的工具开关会在下次启用时生效。

## 🖼 更多界面

| 深色模式 | 停用部分工具 |
| --- | --- |
| ![深色模式](https://cdn.jsdelivr.net/gh/hxlog/dsh-mcp-tools@main/docs/screenshots/zh/mcp-dark.png) | ![停用部分工具](https://cdn.jsdelivr.net/gh/hxlog/dsh-mcp-tools@main/docs/screenshots/zh/mcp-tool-toggles.png) |

| 粘贴 mcpServers JSON | 工具描述 tooltip |
| --- | --- |
| ![粘贴 mcpServers JSON](https://cdn.jsdelivr.net/gh/hxlog/dsh-mcp-tools@main/docs/screenshots/zh/mcp-json-import.png) | ![工具描述 tooltip](https://cdn.jsdelivr.net/gh/hxlog/dsh-mcp-tools@main/docs/screenshots/zh/mcp-tooltip.png) |

## 🧩 工作原理

```
DeepSeek Harness Web (dsh web)
├── Host 插件（lib/）          ← cordis bundle patch，复用原生 MCP 客户端
│   ├── manager.js             连接、工具注册、启停
│   ├── store.js               ~/.dsh/dsh-mcp-tools/state.json（原子写、监听外部修改）
│   └── routes.js              /mcp-tools/api/*
└── 客户端 bundle（client/client.js）
    └── 设置分区「MCP」（id: mcp，order: 18）—— classic script，无需构建
```

-   启停生效于**注册时**而非调用时：停用的工具根本不出现在模型工具列表里。
-   状态存于 `~/.dsh/dsh-mcp-tools/state.json`，原子写入；外部修改会被监听并热应用。
-   REST 接口：`GET /mcp-tools/api/state`、`POST /servers/{test,save,delete,toggle,refresh}`、`POST /tools/{toggle,bulk}`、`POST /import`、`POST /reload`、`GET /logs`；详见 [docs/API.md](https://npmcn.com/package/dsh-mcp-tools/docs/API.md)。

## 🔒 安全说明

> ⚠️ **状态文件等同密码**：`~/.dsh/dsh-mcp-tools/state.json` 里按**明文**保存 MCP 请求头（通常是 API Key / Token）。**不要**提交到任何仓库，也不要同步到 iCloud / OneDrive / 云盘或分享给他人；备份时请自行加密。后续版本会考虑接入系统钥匙串（macOS Keychain / Windows DPAPI）。

-   请求头以**明文**保存在本地状态文件里，只在本机——不要提交到仓库或同步到公开位置。
-   给每个 MCP 服务器使用独立、最小权限的密钥。
-   除你配置的 MCP 服务器外不发起任何网络请求，没有遥测；删除服务器后它的工具会从后续所有请求中移除。

## 📋 前置要求与权限边界

审核型目录（如 dshplugins.com）要求插件明确列出运行前提、权限与限制，这里统一列出。

-   **运行环境**：DeepSeek Harness **0.2.x**（Web `dsh web` 或 DSH Desktop），**Node.js ≥ 22.13**
-   **支持平台**：DSH Web（`--profile web`）、DSH Desktop（`--profile desktop`）；已在 DSH 0.2.1-rc.2 实机验证
-   **文件访问**：仅读写插件自身状态文件 `~/.dsh/dsh-mcp-tools/state.json`
-   **网络**：仅访问你自己填写的 MCP 端点（streamable-http 服务器与「测试连接」）；**无遥测、不上报任何数据**
-   **进程**：仅当你显式添加 `stdio` 服务器时，由 MCP 客户端启动你填写的命令（参数、环境变量、工作目录均由你填写）
-   **UI 注入**：设置页「设置 → MCP」面板，依赖 `@deepseek-ai/dsh-client-ui-settings` 与 `@deepseek-ai/dsh-client-locale`

**已知限制**

-   MCP 请求头以**明文**保存在 `state.json`（尚未接入系统钥匙串），备份/同步时请自行加密
-   仅支持 `streamable-http` 与 `stdio` 两种传输，不支持旧版 SSE
-   只管理当前 DSH profile 里的 MCP 服务器；切换 profile 需在对应 profile 重新添加
-   没有后台自动健康检查，需要时手动点「测试连接」
-   停用状态下的「测试连接 / 刷新工具」会临时建立一次连接（stdio 服务器会启动一次进程），只用于发现工具，不会注册给模型
-   单条 tooltip 最宽 320px（窄屏按视口收窄），长描述在气泡内换行

## 🛠 开发

```bash
git clone https://github.com/hxlog/dsh-mcp-tools.git
cd dsh-mcp-tools
node --check client/client.js
npm test            # 静态检查
npm run test:manager # 离线 manager 集成测试（需要本机已装 DSH，缺失时自动 SKIP）
```

把源码目录链接进 profile 调试（Windows 示例）：

```bat
rmdir "C:\Users\<你>\.dsh\profiles\web\node_modules\dsh-mcp-tools"
mklink /J "C:\Users\<你>\.dsh\profiles\web\node_modules\dsh-mcp-tools" "D:\path\to\dsh-mcp-tools"
```

-   **客户端改动**：刷新页面即可，bundle 直接从磁盘提供，无构建。
-   **Host 改动**：改一次 profile 的 `cordis.patch.yml`（例如追加一行注释）触发 HMR 重组，日志出现 `MCP 管理器已启动` 即生效。
-   面板是单个 classic script，只能 `require` `react` 与 `@deepseek-ai/dsh-client-ui-primitives`。

## ❓ 常见问题

| 问题 | 处理 |
| --- | --- |
| 设置里没有 MCP 分区 | 多半是 bundle 未启用：插件页确认并刷新，必要时重启 `dsh web`。 |
| 会话里看不到工具 | 确认服务器开关已打开、对应工具 chip 也已启用；停用的工具不会被注册。 |
| 测试连接失败 | 检查 URL、服务器是否使用 `streamable-http`（而非普通 SSE）、请求头名称是否与服务端要求一致；网络 / 代理问题也会在这里暴露。 |
| 状态文件在哪 | `~/.dsh/dsh-mcp-tools/state.json`；删除即重置为空，下次启动自动重建。 |

## 📄 License

[MIT](https://npmcn.com/package/dsh-mcp-tools/LICENSE) · Powered by [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness)

[![](https://img.shields.io/badge/powered_by-dsh-4D6BFE?style=flat-square&logo=deepseek&logoColor=white)](https://github.com/deepseek-ai/deepseek-harness)

## 常见问题

### dsh-mcp-tools 是什么？

管理您的MCP服务器和切换MCP工具的需求在DeepSeek线具设置

### 如何安装 dsh-mcp-tools？

在项目目录运行 npm install dsh-mcp-tools，或使用 pnpm add / yarn add / bun add。

### dsh-mcp-tools 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/dsh-mcp-tools 是否存在。

### dsh-mcp-tools 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### dsh-mcp-tools 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=22\.13。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### dsh-mcp-tools 可以商用吗？

dsh-mcp-tools 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### dsh-mcp-tools 还在维护吗？

最新版本 1\.0\.3 发布于 2026/11/03（今天）；至今共发布 5 个版本，其中过去 12 个月发布了 5 个；首次发布于 2026/10/21。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

