高效库文档获取器Skill fetching-library-docs

高效库文档获取器是一款基于Context7 MCP技术的智能工具,专门用于快速获取编程库的API文档、代码示例和使用模式。通过创新的Shell管道过滤技术,实现77%的令牌节省,显著提升开发效率。主要功能包括:自动识别库名称和主题、智能过滤文档内容、提供代码示例和API签名、支持多种开发框架(React、Next.js、Prisma等)。适用于开发学习、代码参考、API查询等场景。关键词:文档获取、API参考、代码示例、令牌优化、开发工具、MCP技术、编程学习、效率工具。

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

name: fetching-library-docs description: | 使用Context7 MCP实现77%令牌节省的高效库API文档获取工具。 获取已发布库(React、Next.js、Prisma等)的代码示例、API参考和使用模式。 当用户询问“如何使用X库”、需要代码示例、想要API语法或学习框架官方API时使用。 触发词:“展示React钩子”、“Prisma查询语法”、“Next.js路由API”。 不适用于探索仓库内部/源代码(使用researching-with-deepwiki)或本地文件。

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等
  • 主题: 特定功能(钩子、路由、查询等)

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

验证

运行:python3 scripts/verify.py

预期:✓ fetch-docs.sh 准备就绪

如果验证失败

  1. 运行诊断:ls -la scripts/fetch-docs.sh
  2. 检查:脚本存在且可执行
  3. 修复:chmod +x scripts/fetch-docs.sh
  4. 停止并报告如果仍然失败 - 不要继续下游步骤

故障排除

问题 解决方案
库未找到 尝试名称变体或使用更广泛的搜索词
无结果 使用--mode info或更广泛的主题
需要更多示例 增加页码:--page 2
需要完整上下文 使用--mode info获取解释
权限被拒绝 运行:chmod +x scripts/*.sh

参考

有关详细的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进行代码执行”博客文章