Context7高效文档获取器Skill context7-efficient

Context7高效文档获取器是一个智能开发工具,通过shell管道过滤技术实现86.8%的令牌节省,专门用于快速获取JavaScript、Python、Go、Rust等编程语言的库文档、代码示例和API参考。该工具支持React、Next.js、Prisma、Express等主流框架,提供智能过滤、代码示例提取和API签名识别功能,帮助开发者高效学习和使用各种开发库。

前端开发 2 次安装 13 次浏览 更新于 3/1/2026

name: context7-efficient description: 使用Context7 MCP的令牌高效库文档获取器,通过智能shell管道过滤实现86.8%的令牌节省。获取JavaScript、Python、Go、Rust等库的代码示例、API参考和最佳实践。当用户询问库文档、需要代码示例、想要API使用模式、学习新框架、需要语法参考或使用库特定信息进行故障排除时使用。触发问题包括“给我看React hooks”、“如何使用Prisma”、“Next.js路由语法是什么”或任何库/框架文档请求。

Context7高效文档获取器

通过shell管道自动减少77%令牌获取库文档。

快速开始

始终使用令牌高效的shell管道:

# 自动库解析+过滤
bash scripts/fetch-docs.sh --library <库名称> --topic <主题>

# 示例:
bash scripts/fetch-docs.sh --library react --topic useState
bash scripts/fetch-docs.sh --library nextjs --topic routing
bash scripts/fetch-docs.sh --library prisma --topic queries

结果: 返回约205个令牌而非约934个令牌(节省77%)。

标准工作流程

对于任何文档请求,遵循此工作流程:

1. 识别库和主题

从用户查询中提取:

  • 库: React、Next.js、Prisma、Express等
  • 主题: 特定功能(hooks、路由、查询等)

2. 使用Shell管道获取

bash scripts/fetch-docs.sh --library <库> --topic <主题> --verbose

--verbose标志显示令牌节省统计信息。

3. 使用过滤输出

脚本自动:

  • 获取完整文档(934个令牌,保留在子进程中)
  • 过滤为代码示例+API签名+关键说明
  • 仅返回必要内容(205个令牌给Claude)

参数

基本用法

bash scripts/fetch-docs.sh [选项]

必需(选择一个):

  • --library <名称> - 库名称(例如“react”、“nextjs”)
  • --library-id <id> - 直接Context7 ID(更快,跳过解析)

可选:

  • --topic <主题> - 要关注的特定功能
  • --mode <code|info> - code用于示例(默认),info用于概念
  • --page <1-10> - 更多结果的分页
  • --verbose - 显示令牌节省统计信息

模式选择

代码模式(默认): 返回代码示例+API签名

--mode code

信息模式: 返回概念解释+较少示例

--mode info

常见库ID

使用--library-id进行更快查找(跳过解析):

React:      /reactjs/react.dev
Next.js:    /vercel/next.js
Express:    /expressjs/express
Prisma:     /prisma/docs
MongoDB:    /mongodb/docs
Fastify:    /fastify/fastify
NestJS:     /nestjs/docs
Vue.js:     /vuejs/docs
Svelte:     /sveltejs/site

工作流程模式

模式1:快速代码示例

用户询问:“给我看React useState示例”

bash scripts/fetch-docs.sh --library react --topic useState --verbose

返回:5个代码示例+API签名+说明(约205个令牌)

模式2:学习新库

用户询问:“如何开始使用Prisma?”

# 步骤1:获取概述
bash scripts/fetch-docs.sh --library prisma --topic "getting started" --mode info

# 步骤2:获取代码示例
bash scripts/fetch-docs.sh --library prisma --topic queries --mode code

模式3:特定功能查找

用户询问:“Next.js路由如何工作?”

bash scripts/fetch-docs.sh --library-id /vercel/next.js --topic routing

当您知道确切ID时,使用--library-id更快。

模式4:深度探索

用户需要全面信息:

# 第1页:基本示例
bash scripts/fetch-docs.sh --library react --topic hooks --page 1

# 第2页:高级模式
bash scripts/fetch-docs.sh --library react --topic hooks --page 2

令牌效率

工作原理:

  1. fetch-docs.sh调用fetch-raw.sh(使用mcp-client.py
  2. 完整响应(934个令牌)保留在子进程内存中
  3. Shell过滤器(awk/grep/sed)提取必要内容(0个LLM令牌使用)
  4. 返回过滤输出(205个令牌)给Claude

节省:

  • 直接MCP:每个查询934个令牌
  • 此方法:每个查询205个令牌
  • 减少77%

请勿直接使用mcp-client.py - 它会绕过过滤并浪费令牌。

高级:库解析

如果库名称失败,尝试变体:

# 尝试不同格式
--library "next.js"    # 带点
--library "nextjs"     # 不带点
--library "next"       # 简短形式

# 或手动搜索
bash scripts/fetch-docs.sh --library "your-library" --verbose
# 检查输出以获取建议的库ID

故障排除

问题 解决方案
库未找到 尝试名称变体或使用更广泛的搜索词
无结果 使用--mode info或更广泛的主题
需要更多示例 增加页面:--page 2
想要完整上下文 使用--mode info获取解释

参考

有关详细的Context7 MCP工具文档,请参阅:

实现说明

组件(仅供参考,使用fetch-docs.sh):

  • mcp-client.py - 通用MCP客户端(基础)
  • fetch-raw.sh - MCP包装器
  • extract-code-blocks.sh - 代码示例过滤器(awk)
  • extract-signatures.sh - API签名过滤器(awk)
  • extract-notes.sh - 重要说明过滤器(grep)
  • fetch-docs.sh - 主要协调器(始终使用此)

架构: Shell管道在子进程中处理文档,将完整响应保留在Claude上下文之外。只有过滤后的必要内容进入LLM上下文,实现77%令牌节省同时保持100%功能。

基于Anthropic的“使用MCP进行代码执行”博客文章