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 文档查询 |
装上工具,模型却不用
作者在自己机器上统计了 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 关掉。