mcpField
C
context7

context7

github.com/pedronauck开发647424 次安装今天更新
代码仓库

关于 context7

context7 是通过 Context7 CLI 查询库文档和代码示例的技能,适用于开发者。它先解析库名以取得有效 ID,再据此检索文档。

主要功能

  1. 01查询库文档与代码示例
  2. 02先解析库名获取 ID
  3. 03通过 npx ctx7@latest 运行

适用场景

  1. 01查找特定库的最新文档
  2. 02检索库的代码示例

安装

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

$npx skills add https://github.com/pedronauck/skills --skill context7

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

详细介绍

文档查询

使用 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 middleware"
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 密钥、密码、凭据、个人数据或专有代码。

结果字段

每条结果都包含:

  • 库 ID — Context7 兼容的标识符(格式为 /org/project)
  • 名称 — 库或软件包名称
  • 描述 — 简短摘要
  • 代码片段 — 可用代码示例的数量
  • 来源信誉 — 权威性指标(高、中、低或未知)
  • 基准分数 — 质量指标(100 为最高分)
  • 版本 — 可用版本列表。如果用户在查询中指定了版本,请使用其中一个版本。格式为 /org/project/version。
选择流程
  1. 分析查询,了解用户需要查找的库或软件包
  2. 根据以下因素选择最相关的匹配项:
    • 名称与查询的相似度(优先选择完全匹配项)
    • 描述与用户意图的相关性
    • 文档覆盖范围(优先选择代码片段数量较多的库)
    • 来源信誉(高或中等信誉的来源更具权威性)
    • 基准分数(分数越高越好,最高为 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/v14.3.0-canary.87 "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 authentication middleware to app router"
npx ctx7@latest docs /prisma/prisma "How to define one-to-many relations with cascade delete"
编写优质查询

查询会直接影响结果质量。请描述具体,并包含相关细节,但每个查询只涉及一个主题——如果问题涉及多个不同概念,请针对每个概念分别运行 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