DeepSeek Harness MCP 集成:stdio 与 HTTP 配置
2026-08-16 14:37:55阅读 4
DSH 自带的能力再全,也覆盖不了你的私有系统。MCP(Model Context Protocol,模型上下文协议)就是为此而生的通用接口标准:外部工具只要支持 MCP,DSH 就能接进来当原生工具用。这一篇讲怎么接、怎么配、怎么排错。
什么是 MCP,为什么用它
MCP 是一个开放协议,让 AI 应用能以统一方式连接外部 "工具服务器"。对 DSH 用户的意义:
- 生态复用:市面上大量现成 MCP 服务器(GitHub、数据库、浏览器、各类 SaaS),拿来即用
- 一次接入,处处使用:接好的工具在 agent 眼里和内置工具没区别
- 私有集成:公司内部系统包一层 MCP 服务器,DSH 就能调用
两种接入方式
| 传输 | 适用 | 特点 |
|---|---|---|
| stdio | 本地命令行程序 | 启动一个子进程通信,最常见 |
| streamable-http | 远程/已运行的服务 | 走 HTTP 连接 |
配置:每台服务器一行
MCP 客户端是插件,在 profile 的配置里按服务器逐个声明。stdio 例子(接 GitHub 官方 MCP 服务器):
- id: mcp-github
name: '@deepseek-ai/dsh-mcp-client'
config:
serverName: github
transport: stdio
command: npx
args: ['-y', '@modelcontextprotocol/server-github']
env:
GITHUB_TOKEN: !!js process.env.GITHUB_TOKEN
HTTP 例子(接远程服务):
- id: mcp-web
name: '@deepseek-ai/dsh-mcp-client'
config:
serverName: web
transport: streamable-http
url: http://localhost:3000/mcp
headers:
Authorization: !!js '`Bearer ${process.env.MCP_TOKEN}`'
几个要点:
serverName是命名空间,最终工具名形如mcp__github__create_issue(mcp__<服务器>__<工具名>)——agent 就是这样点名调用的- 凭据走环境变量引用(
!!js process.env.XXX),别把密钥明文写进配置 - 配好了热生效:改配置会触发断开重连,不用重启进程(
serverName不变,工具名保持稳定)
配置文件的语法与 配置层与 patch:叠加规则详解 一致——这些行写在你的 profile 配置里。
接好后怎么用
接好的 MCP 工具对 agent 完全透明——它就像内置工具一样出现在工具列表里。你可以直接说 "帮我在 GitHub 上给 issue #123 加个评论",agent 会自己调用 mcp__github__add_issue_comment。
常见问题
| 问题 | 解答 |
|---|---|
| 工具没出现? | 检查配置行是否被加载(可用 dump 命令看配置树);服务器是否启动失败 |
| 连不上 HTTP 服务器? | 检查 URL 可达性、Authorization 头是否正确 |
| 改配置后工具名变了? | 只有改serverName 才会变;其余配置热重连 |
| 凭据怎么管? | 一律环境变量引用,不要明文写配置 |
接下来读什么
- 配置写在哪里、如何生效 → 配置层与 patch:叠加规则详解
- 外部工具的执行权限 → 沙箱与安全:三种权限模式
- 自己动手扩展 → 插件开发:从零编写第一个插件
← 上一篇:4.3 目标 Goal:持久化与自动续行 | 下一篇:4.5 沙箱与安全:三种权限模式 → ↑ 返回 教程总目录




