关于 docs-search
Docs Search 是用于查询本地 Grounded Docs 文档索引的命令行技能,面向开发者,可列出已索引的库和版本、搜索文档片段,并匹配版本约束。
主要功能
- 01列出已索引的库和版本
- 02用自然语言搜索文档
- 03解析符合条件的索引版本
- 04支持 JSON、YAML 和 TOON 输出
适用场景
- 01查找索引文档中的 API 行为
- 02确认库版本是否已建立索引
- 03选择符合约束的文档版本
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ arabold/ docs-mcp-server --skill docs-search安装后在 Claude Code 中输入/docs-search确认已加载。
详细介绍
文档搜索
搜索本地 Grounded Docs 索引中的库文档。这些命令默认输出 JSON,且不会更改索引。
适用场景
- 需要回答有关某个库的 API 或行为的问题。
- 想要查看已编入索引的库和版本。
- 需要找到最符合版本约束的已索引版本。
如果不确定某个库是否已编入索引,请先运行 list。如果尚未编入索引,请使用 docs-manage 技能将其编入索引,然后再搜索。
命令
以下三个命令都接受这些标志:
| 标志 | 说明 |
|---|---|
--output json|yaml|toon | 输出格式(默认:JSON) |
--server-url <url> | 使用远程工作器(例如 http://localhost:8080/api)而非本地存储 |
--quiet | 仅记录错误 |
--verbose | 记录调试输出 |
list
列出所有已编入索引的库及其版本。
npx @arabold/docs-mcp-server@latest list --output yaml
输出示例:
- name: react
versions:
- id: 1
version: 19.0.0
documentCount: 412
uniqueUrlCount: 198
indexedAt: 2026-10-18T22:28:47.000Z
status: completed
sourceUrl: https://react.dev/reference/react
preserveHashes: false
空的 version 表示该库的文档未指定版本。状态为 completed 的版本表示已完成全部索引。其他状态(queued、running、updating、failed、cancelled、not_indexed)表示内容可能缺失或不完整,此类版本可能包含 progress 字段。空索引会输出 []。
search
使用自然语言查询搜索已编入索引的库。
npx @arabold/docs-mcp-server@latest search <library> "<query>" [options]
| 标志 | 别名 | 默认值 | 说明 |
|---|---|---|---|
--version <ver> | -v | 最新版本 | 精确版本或范围(例如 18.x、5.2.x)。指定精确版本时,也会匹配最接近的较旧版本。 |
--limit <n> | -l | 5 | 最大结果数(1 到 100) |
--exact-match | -e | false | 仅匹配精确的 --version,不回退到较旧版本。需要指定 --version。 |
--embedding-model <model> | 嵌入模型,例如 openai:text-embedding-3-small |
示例:
npx @arabold/docs-mcp-server@latest search react "useEffect cleanup" --version 18.x --limit 3 --output yaml
输出为一组段落。页面中彼此接近的匹配内容会归入同一段落;同一页面中相距较远的匹配内容则会作为不同条目返回,因此同一个 url 可能出现多次。每个条目包含:
url:页面的 URLcontent:包含周边上下文的匹配段落,格式为 Markdown 或文本score:相关性分数mimeType、sourceMimeType:存储内容类型和原始内容类型contentUrl:当内容来自与url不同的 URL 时提供
没有匹配项时会输出 []。如果库尚未编入索引,命令会失败,并给出建议的相似库名称。
find-version
查找最符合模式的已索引版本。
npx @arabold/docs-mcp-server@latest find-version <library> [--version <pattern>]
| 标志 | 别名 | 说明 |
|---|---|---|
--version <pattern> | -v | 精确版本或范围;省略时使用最新版本 |
示例:
npx @arabold/docs-mcp-server@latest find-version react --version "18.x" --output yaml
bestMatch: 18.3.1
hasUnversioned: false
message: "Best match: 18.3.1."
当没有版本匹配但存在未指定版本的文档(hasUnversioned: true)时,bestMatch 为 null。两者都不存在时,命令会失败。
解读输出
除非 --output 指定其他格式,否则结果会以 JSON 形式输出到 stdout。日志会输出到 stderr;在终端外只记录错误。设置 LOG_LEVEL=INFO 或传入 --verbose 可查看进度消息。命令失败时会以非零状态码退出。
典型工作流
# 1. Check what is indexed
npx @arabold/docs-mcp-server@latest list --output yaml
# 2. Search for relevant docs
npx @arabold/docs-mcp-server@latest search react "server components" --version 19.x --output yaml
# 3. If the library is missing, index it first (docs-manage skill), then search again