mcpField
F
find-docs

find-docs

github.com/upstash开发63.9k9.6k 次安装今天更新
代码仓库

关于 find-docs

find-docs 是一项通过 Context7 CLI 获取最新库文档和代码示例的技能。它引导用户先将库名称解析为 Context7 ID,再查询文档,并支持特定版本 ID 和按编程语言排序的示例。

主要功能

  1. 01将库名称解析为 ID
  2. 02查询最新库文档
  3. 03使用特定版本的库 ID
  4. 04按编程语言排序示例
  5. 05限制每个问题的查询次数

适用场景

  1. 01查找库的最新 API 用法
  2. 02查询框架配置说明
  3. 03获取指定版本的代码示例

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/upstash/context7 --skill find-docs

安装后在 Claude Code 中输入/find-docs确认已加载。

详细介绍

文档查询

使用 Context7 CLI 检索任意库的最新文档和代码示例。

运行命令时使用 npx ctx7@latest,确保每次设置都使用最新 CLI,无需全局安装:

npx ctx7@latest library <name> "<query>"
npx ctx7@latest docs <libraryId> "<query>"

如果更喜欢直接使用 ctx7 命令,也可以选择全局安装:

npm install -g ctx7@latest

工作流

分两步进行:先将库名称解析为 ID,再使用该 ID 查询文档。

# Step 1: Resolve library ID
npx ctx7@latest library <name> "<query>"

# Step 2: Query documentation
npx ctx7@latest docs <libraryId> "<query>"

除非用户明确提供格式为 /org/project 或 /org/project/version 的库 ID,否则必须先调用 library 获取有效的库 ID。

重要:每个问题最多运行这些命令 3 次。如果尝试 3 次后仍找不到所需内容,请使用现有最佳结果。

第 1 步:解析库

将包或产品名称解析为 Context7 兼容的库 ID,并返回匹配的库。

npx ctx7@latest library React "How to clean up useEffect with async operations"
npx ctx7@latest library "Next.js" "How to set up app router with a proxy"
npx ctx7@latest library Prisma "How to define one-to-many relations with cascade delete"

使用官方库名称,并保留正确的标点(例如,使用“Next.js”,而不是“nextjs”;使用“Customer.io”,而不是“customerio”;使用“Three.js”,而不是“threejs”)。如果结果不正确,请先尝试其他拼写方式,例如 next.js,再更改查询内容。

始终传入 query 参数——这是必需参数,并且会直接影响结果排序。根据用户的意图构建查询,有助于在多个名称相似的库之间进行区分。查询中不要包含任何敏感或机密信息,例如 API 密钥、密码、凭据、个人数据或专有代码。

结果字段

每条结果都包含:

  • Library ID — Context7 兼容的标识符(格式:/org/project)
  • Name — 库或包名称
  • Description — 简要说明
  • Code Snippets — 可用代码示例的数量
  • Source Reputation — 权威性指标(High、Medium、Low 或 Unknown)
  • Benchmark Score — 质量指标(最高为 100)
  • Versions — 可用版本列表。若用户在查询中指定了版本,请使用其中一个版本。格式为 /org/project/version。
选择流程
  1. 分析查询,了解用户要查找的库或包
  2. 根据以下因素选择最相关的匹配项:
    • 名称与查询的相似度(优先选择完全匹配项)
    • 说明与用户意图的相关性
    • 文档覆盖范围(优先选择 Code Snippets 数量较多的库)
    • 来源声誉(High 或 Medium 声誉通常更具权威性)
    • Benchmark Score(分数越高越好,最高为 100)
  3. 如果有多个合适的匹配项,请说明这一点,但继续选择最相关的一项
  4. 如果没有合适的匹配项,请明确说明,并建议如何优化查询
  5. 对于含糊不清的查询,请先请求澄清,再根据最佳猜测继续
特定版本的 ID

如果用户提到特定版本,请使用特定版本的库 ID:

# General (latest indexed)
npx ctx7@latest docs /vercel/next.js "How to set up app router"

# Version-specific
npx ctx7@latest docs /vercel/next.js/v16.2.9 "How to set up app router"

可用版本列在 library 命令的输出中。使用与用户指定版本最接近的版本。

第 2 步:查询文档

检索已解析库的最新文档和代码示例。

npx ctx7@latest docs /facebook/react "How to clean up useEffect with async operations"
npx ctx7@latest docs /vercel/next.js "How to add an authentication proxy to app router"
npx ctx7@latest docs /prisma/prisma "How to define one-to-many relations with cascade delete"

如果知道用户使用的编程语言,请添加 --language,以便优先显示该语言的代码示例:

npx ctx7@latest docs /websites/twilio "How to send an SMS" --language Ruby
编写优质查询

查询会直接影响结果质量。请具体说明并包含相关细节,但每个查询只涉及一个主题——如果问题涵盖多个不同概念,请针对每个概念分别运行 docs 命令,而不要将它们合并,除非问题涉及这些概念之间的交互。请勿在查询中包含任何敏感或机密信息,例如 API 密钥、密码、凭据、个人数据或专有代码。

质量示例
优质"How to set up authentication with JWT in Express.js"
优质"React useEffect cleanup function with async operations"
不佳(过于含糊)"auth"
不佳(过于含糊)"hooks"
不佳(范围过广)"routing and auth and caching in Next.js"

请描述要在库的文档中查找什么,而不是要完成什么任务——含糊的单词查询会返回通用结果,而涵盖多个主题的查询会降低排名,并且为每个主题返回的结果都较为浅显。

输出包含两种内容:代码片段(带标题和语言标记的代码块)以及信息片段(带面包屑上下文的说明文字)。

身份验证

无需身份验证即可使用。若要提高速率限制:

# Option A: environment variable
export CONTEXT7_API_KEY=your_key

# Option B: OAuth login
npx ctx7@latest login

错误处理

如果命令因配额错误而失败(“Monthly quota reached” 或 “quota exceeded”):

  1. 告知用户其 Context7 配额已用尽
  2. 建议用户进行身份验证以获取更高限额:npx ctx7@latest login
  3. 如果用户无法进行身份验证或选择不进行身份验证,则根据训练知识作答,并明确说明信息可能已过时

不要在未告知用户原因的情况下悄悄改用训练数据——务必说明未使用 Context7 的原因。

常见错误

  • 库 ID 必须以 / 开头——使用 /facebook/react,而不是 facebook/react
  • 务必先运行 npx ctx7@latest library——如果没有有效 ID,运行 npx ctx7@latest docs react "hooks" 将会失败
  • 使用描述性查询,而不是单个单词——使用 "React useEffect cleanup function",而不是 "hooks"
  • 每个查询只涉及一个主题——将 "routing and auth and caching" 拆分为针对每个概念的单独 docs 命令,除非问题涉及这些概念之间的交互
  • 请勿在查询中包含敏感信息(API 密钥、密码、凭据)

评论

支持 Markdown