快速结论
在目标配置中为每个 MCP 服务器添加一个 dsh-mcp-client 条目。先确认连接与工具发现,再验证真实调用;资源读取还要指定服务器名,连接成功不等于每项能力都可用。
- 官方文档要求每个 MCP 服务器使用独立的 dsh-mcp-client 配置条目与唯一 serverName。
- stdio 启动本地进程;Streamable HTTP 连接已运行的服务。
- 工具以 mcp__<serverName>__<tool> 命名,共享资源工具按配置的服务器作用域提供。
- 本文是配置与验收模板,未安装服务器或执行本机连接测试。
本次更新:10 月 28 日复核:10 月 28 日:能力声明与实际执行继续分开检查。保留原网址和首次发布时间。
MCP 可以把已有工具服务接到 Harness。本文依据官方 MCP 客户端文档整理最小配置与检查顺序,适用于已准备好服务的测试环境。以下是模板,不是本站已运行的接入结果。
1. 先选择传输方式
| 服务形态 | 传输方式 | 接入前确认 |
|---|---|---|
| 本机可执行程序 | stdio | 可执行路径、启动参数和工作目录 |
| 已运行的 MCP 服务 | streamable-http | 完整端点、认证方式和服务健康状态 |
Harness 负责连接、发现与调用;第三方服务的安装、数据库初始化和运行环境由该服务负责。先在服务自身的说明中完成准备,再写 Harness 配置。
2. 本地连接配置模板
在官方源码工作区建立测试 overlay,例如 scratch-mcp/cordis.yml。所有路径都要替换成实际值:
- insert:
- id: mcp-ops-demo
name: '@deepseek-ai/dsh-mcp-client'
config:
serverName: ops-demo
transport: stdio
command: '/absolute/path/to/approved-mcp-server'
args: []
env: {}
cwd: '/absolute/path/to/test-workspace'
在已完成源码安装与构建的仓库中,使用 pnpm dsh web --patch ./scratch-mcp/cordis.yml 启动。这个模板不会下载 MCP 服务器;command 必须指向已经准备好的程序。
远程连接改用 transport: streamable-http,提供实际 url 和需要的 headers,并移除 stdio 的进程字段。密钥通过受控配置或环境引用提供,不填入公开示例文件。
3. 分层检查成功与失败
第一层确认服务器连接与工具发现,查看是否出现 mcp__ops-demo__...。第二层用一个只读请求验证输入参数与实际结果,确认不是模型自行编造答案。第三层若服务支持资源,再列出并读取一个资源,核对来源和内容。
共享资源文档要求资源操作显式指定服务器名;没有资源能力的服务仍可提供工具,因此资源列表为空不一定意味着连接失败。当前文档也说明不支持资源订阅与更新通知,需要重新读取来获取新内容。
4. 排障从服务自身开始
工具没有出现时,检查程序能否启动、端点是否正确、凭据和作用域是否匹配。工具可见但调用失败时,再查参数、超时和服务日志。重连中的可见工具也可能暂时无法执行,不能把列表里仍有名称视为调用成功。
一次只接一个服务,并保留配置和一个可重复验证的任务。需要持久记忆的场景,可继续阅读官方第三方记忆示例,分别验证写入、新会话召回与结果使用。
10 月 27 日:工具可见后再核对实际动作
发现工具或列出资源后,使用无敏感内容的小任务检查实际路径、参数、执行结果与最终产物。请求说明、实际调用和最终回答各自保留,不能只凭回答文字判断是否调用了工具。
具体步骤见本地 Agent 试用验收。该流程属于本站建议,所引外部实验不代表已确认 Harness 或 DeepSeek 发生同类事件。
10 月 28 日:能力声明与实际执行继续分开检查
升级到官方 Alpha 后,使用同一个只读任务重新观察工具是否出现、是否允许执行、是否返回正确结果。不同 Agent 或预设的限制也分别留痕。配置和模型变更见升级核对流程。不要只凭连接状态替代实际调用验收。
参考资料
本文依据以下资料整理,版本与接口信息请以来源页面的现行说明为准。