dsh-mcp-lens:用两个模型接口收敛 MCP 工具上下文

前言

在 DeepSeek Harness(DSH)里接入 MCP 工具时,工具目录越大,模型每轮可见的工具 schema 越多,上下文压力和 API 成本也越高。dsh-mcp-lens 是 labmimors 维护的一个 DSH 社区插件,目标是用 mcp_searchmcp_call 两个稳定模型接口处理大规模 MCP 工具,只在需要时展示候选工具的 exact inputSchema,并对最终 server/tool 调用做授权控制。

这是什么

dsh-mcp-lens 的定位是:降低 MCP 上下文和 API 成本。它通过两个模型接口、懒发现和精确 schema 调用,把大量 MCP 工具收敛为更小的模型可见面。

基础信息如下:

  • 仓库名:labmimors/dsh-mcp-lens
  • 许可证:MIT
  • GitHub:https://github.com/labmimors/dsh-mcp-lens

核心功能

两个稳定的模型接口

插件支持通过两个模型可见接口搜索并调用 1,000 个 MCP 工具。模型不再直接面对完整工具目录,而是通过稳定的接口完成发现和调用。

只展示需要时的小候选集

插件不会把所有工具 schema 都交给模型。它会在需要时,对一个小的 ranked set 展示 exact inputSchema 值。这样可以减少模型每轮需要处理的工具定义规模。

调用受 allowTools 和 denyTools 控制

最终 server/tool 调用会经过 allowToolsdenyTools 门禁。denyTools 始终优先。

换句话说,远程工具不会先暴露给模型,除非它匹配 allowTools;如果同时命中 denyTools,则以 denyTools 为准。

懒激活

懒激活时,插件不启动 MCP 进程,也不打开 MCP socket。它把 MCP 资源的启动推迟到真正需要的时刻。

本地目录计算器

插件包含一个本地目录计算器,用于自报工具 schema 的字节测量。

共享结果应视为 self-reported local measurements。它不是签名,也不能作为“测量确实发生”的证明。

附带无依赖 GitHub Action

插件还附带一个 dependency-free GitHub Action,用于审计 checked-in tool payloads。它可以把工具 payload 的规模检查放到 CI 中。

安装与启用

先确认环境满足以下要求:

  • DeepSeek Harness 0.1.0-rc.6
  • Node.js ^22.19.0>=24.0.0
  • pnpmPATH

最快安装方式:

dsh plugin --profile web add dsh-mcp-lens@next

npm next tag 当前解析到 0.1.0-rc.9

如果需要固定到已评审版本,可以使用:

dsh plugin --profile web add dsh-mcp-lens@0.1.0-rc.9

安装完成后,可以查看当前 profile 配置并启动 Harness:

dsh --profile web --dump-config
dsh --profile web

第一条命令用于查看当前 profile 的配置,第二条命令用于启动 profile。

典型用法

安装后,你可以按常规方式提示 Harness,不需要在提示词中特别提到 mcp_searchmcp_call

如果你使用仓库中的 GitHub Action 示例来审计 checked-in tool payload,可以这样配置:

- uses: labmimors/dsh-mcp-lens@v0.1.0-rc.7
  with:
    tools-file: fixtures/request-header-tools.json

这个 Action 用于检查已检入的工具 payload。

如果你按 README 场景接入 MCP 文档服务器,它不需要额外 API key;但 Harness 本身仍需一个配置好的模型 provider。

适用场景与注意

dsh-mcp-lens 更适合这些场景:

  • 数十到数千个 MCP 工具
  • 多个 MCP 服务器
  • 长尾工具目录
  • 每次请求都携带全部工具 schema 会造成明显上下文压力

如果你只有少量工具,并且这些工具几乎每次请求都会用到,就不一定需要引入它。

使用前注意以下几点:

1、插件会以当前 dsh 进程权限运行。安装前建议检查源码、MIT 许可证、Action 版本和 allowTools / denyTools 配置。

2、denyTools 在搜索和调用中始终优先。如果工具需要隐藏或禁止调用,应优先使用 denyTools

3、本地计算器的共享结果只是自报的本地测量,不是签名,也不是测量证明。

结尾

dsh-mcp-lens 的价值在于:把大规模 MCP 工具目录收敛为两个模型接口,在需要时展示 exact inputSchema,并用 allowToolsdenyTools 控制最终调用。它适合工具数量较多、目录较复杂、希望降低 MCP 上下文和 API 成本的 DSH 场景。

可先查看 GitHub 仓库的发布版本、许可证和 Action 示例:

https://github.com/labmimors/dsh-mcp-lens

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

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

小夜