dsh-plugins
@litingyes/dsh-context7

Context7 文档查询

把 Context7 的官方 MCP 接进对话,让智能体先查文档再回答。 两个工具:库名解析成 library ID,再取最新文档与代码示例。插件还补了一段常驻的触发引导。

版本
0.2.1
许可
MIT
工具
2

连接全部是配置;Host 半边只有展示与那段常驻引导。

安装

@litingyes/dsh-context7

plugin_manager action=install_bundle target= @litingyes/dsh-context7@0.2.1

装完刷新页面;改动引导段落属于 Host 代码,要重新加载插件行或重启 Host。

前提

  • DSH >=0.2.1-rc.5 <0.3.0-0
  • 能访问 https://mcp.context7.com/mcp
  • 可选:CONTEXT7_API_KEY 提高额度

两个工具

解析库 ID,再按 ID 取文档;工具名由 serverName 加服务端原始名字组成。

智能体工具
工具 参数 做什么 来自
mcp__context7__resolve-library-id libraryName query 把库名解析成 Context7 library ID,例如 /vercel/next.js Context7 文档查询
mcp__context7__query-docs libraryId query language? 按 library ID 取与问题相关的最新文档与代码示例 Context7 文档查询
Context7 解析库 ID resolve-library-id
Context7 查询文档 query-docs
对话里显示为 Context7 标志行,点开是请求参数与返回的文档。

装上工具,模型却不用

作者在自己机器上统计了 57 个会话、5,527 次 tool/call。

两个工具在全部工具调用里的占比
0.33%
5,527 次调用里被调用的次数
18
装后 22.6 小时里主动用过的会话
2/26

系统提示里没有工具名

MCP 客户端把服务端返回的 instructions 原样贴成一段,话术很强,却从不提 mcp__context7__* 这两个可调用的名字。

它排在记忆与 web_fetch 后面

同一窗口里 287 次 bash 读 node_modules、23 次 npm 查询,Context7 只有 15 次;web_fetch 还有 38% 的调用失败。

手装的 skill 会分流

context7-mcp 只写不带 mcp__ 前缀的名字,find-docs 指向 npx ctx7 命令;那条命令在所有会话里执行 0 次。

插件补上的那一段

index.js 在 MCP 客户端那段之后补一段(顺序 3101),点名两个工具,并给出唯一该跳过的情形。

  • 约 360 字符,每次请求约 90 tokens,对每个 Agent 与子代理生效。
  • 自愈:渲染前查 tools.get,工具没注册就返回空串,整段消失。
  • 可以用 context7-ui 行的 guidance: false 单独关掉,工具与展示不受影响。

系统提示里的一段 节选

call mcp__context7__resolve-library-id and then mcp__context7__query-docs before answering from memory or fetching documentation with web_fetch. Skip both when the answer is in this workspace’s own code or in the installed package’s types.

配置

写在 cordis.patch.yml 的挂载行里;覆盖这一行会整体替换 config,需要重述所有字段。

配置
字段 默认 说明
serverName context7 连接行与引导行必须一致;改名后工具前缀跟着变,但浏览器半边的展示行只认 mcp__context7__,会退回默认工具卡片
transport streamable-http 固定使用 streamable-http
url https://mcp.context7.com/mcp 官方 MCP 端点;可换成自建或代理地址
failOnStartupError true 连不上时明确报失败;false 交给重连在后台恢复
toolCallTimeoutMs 60000 Context7 检索较重时可以调大
guidance true 引导行开关;false 只关掉常驻提示,工具与展示不受影响

限制

  • 依赖远端服务:离线或 Context7 不可达时工具不可用,引导段落随之隐藏。
  • 不支持 OAuth:DSH 的 MCP 客户端未实现 OAuth,只能 API key 或匿名访问。
  • 数据外发:查询内容离开本机,额度与计费以 Context7 账户为准。
  • 核心提示里的 resource 行对 Context7 是死路,插件删不掉,只能靠引导把路径指回工具。
  • 命名冲突:serverName 在同一注册作用域内必须唯一,改名后工具前缀、引导行与展示行都要同步考虑。
  • 叠装同名 skill 会分流触发;引导段落每次请求约 90 tokens,可用 guidance: false 关掉。