dsh-cordis-universal-adapter:DeepSeek Harness 的双向 MCP 桥接适配器

在 DeepSeek Harness(DSH)的开发中,Host 组合层往往需要连接外部工具(如 MCP 服务器)或加载 Agent 插件包,同时也可能需要将 DSH 自身的能力反向暴露给 MCP 客户端。dsh-cordis-universal-adapter 提供了一个 Host 组合层的连接器,实现了这两端的互通。

核心功能

该插件主要解决 DSH 与外部 MCP 生态之间的双向数据流转问题:

  1. 消费外部资源:支持加载外部 MCP 服务器(stdio / Streamable HTTP)和 Agent Plugins 1.0 包。它会在 DSH 的上下文中将外部工具注册为原生工具(命名格式 mcp:<serverId>:<toolName>)。
  2. 反向暴露工具:通过 export 配置,将 DSH 中已注册的工具反向导出为标准 MCP 服务器,供其他 MCP 客户端调用(命名格式 dsh:<toolName>)。
  3. 双向通信:支持 Inbound(正向接入)和 Outbound(反向导出)两种模式。
  4. 连接管理:使用状态机管理连接状态,支持 start、stop、update 等生命周期操作,并支持语义路由选择工具。

安装与启用

使用 DSH 的插件管理命令安装:

dsh plugin --profile web add github:helibeiqi/dsh-cordis-universal-adapter

安装后,插件会根据配置文件(通常为 cordis.patch.yml)自动加载定义的服务器或导出配置。

典型用法

1. 加载外部 MCP 服务器

在 cordis.patch.yml 中配置需要连接的外部 MCP 服务器。例如,加载社区提供的 filesystem MCP 服务器:

# cordis.patch.yml
plugins:
  dsh-cordis-universal-adapter:
    servers:
      - id: filesystem
        transport: stdio
        command: npx
        args: ["-y", "@modelcontextprotocol/server-filesystem", "/tmp"]

配置后,DSH 中将出现 mcp:filesystem:read_directory 等工具,Agent 可直接调用。

2. 反向导出 DSH 工具

将 DSH 原生工具暴露为 MCP 服务器,供 Claude Desktop 或其他 MCP 客户端使用:

plugins:
  dsh-cordis-universal-adapter:
    export:
      enabled: true
      transport: stdio
      namespace: dsh

启用后,DSH 进程会提供一个 stdio 端点,外部工具可以通过 npx @modelcontextprotocol/inspector 连接并调用 DSH 工具。

依赖与限制

环境依赖

  • Node.js:需要版本 >= 22.19。
  • DSH 依赖:
    • @deepseek-ai/cordis >= 0.1.0
    • @deepseek-ai/dsh-tools >= 0.1.0

功能限制

  • 不实现沙箱:外部 MCP 服务器的隔离依赖其宿主进程边界(如 stdio 子进程或远程 HTTP 服务),插件本身不提供沙箱机制。
  • 返回值要求:反向导出的工具返回值必须是 JSON 可序列化值,不支持二进制或流式输出。
  • HTTP 认证:Streamable HTTP 认证仅支持静态头配置。
  • API 稳定性:相关依赖(如 @deepseek-ai/dsh-tools)处于 Developer Preview 阶段,接口可能发生破坏性变更。

适用场景与注意

该插件适合需要在 DSH Host 层集成外部工具生态,或需要将 DSH 能力集成到其他 MCP 客户端的场景。

在使用前,请确认以下几点:
1. 检查目标外部 MCP 服务器的安全性,因为它将直接在 DSH 进程权限下运行。
2. 注意 API 的版本锁定,避免因依赖升级导致的不兼容。
3. 启用语义路由(router.enabled)会增加 LLM 调用开销。

结尾

dsh-cordis-universal-adapter 是一个连接 DSH 与 MCP 生态的桥梁。它通过 Host 组合层的架构,使得开发者既能方便地调用外部工具,又能将 DSH 的能力反哺给其他客户端。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜