我构建了一个 CLI,为你的 LLM 提供准确的库文档 — 无需 MCP 服务器
Source: Dev.to
问题
你在使用 Next.js 15 开发时,让 AI 助手编写一个 API 路由,它却给你返回了 Next.js 12 的 Pages Router 写法。你把 React 文档粘贴进提示中,但等你复制时文档已经过时了。
Context7 通过直接从源码仓库索引文档并通过 MCP 服务器提供来解决这个问题。Cursor、Claude Code 以及其他 AI 编辑器使用它来获取真实、对应版本的文档,而不是幻觉式的 API。
但 MCP 有一个限制:你必须使用兼容 MCP 的客户端。如果你在终端工作、运行脚本或使用本地 LLM——就没有办法了。
解决方案
我构建了 c7 —— 一个 CLI,直接从同一套 Context7 数据库读取,并把文档以纯文本形式输出到 stdout。
c7 react hooks
c7 express middleware
c7 nextjs "app router"
无需服务器、无需配置、无需 IDE 集成。只要文本,你可以随意管道传输。
工作原理
CLI 完成两件事:
- 解析 库名为 Context7 ID(例如
react→/websites/react_dev) - 获取 该库的文档,并按主题过滤
底层使用 Node.js 内置的 fetch 对 Context7 的 v2 API 发起两次请求。整个项目只有约 220 行代码,分布在两个文件中,零依赖。
bin/c7.js — 136 行(CLI 解析 + 输出格式化)
lib/api.js — 87 行(Context7 v2 API 客户端)
没有 axios。没有 commander。没有 chalk。只用 process.argv 和 fetch。
真正的威力:管道
因为 c7 将纯文本输出到 stdout,它可以与任何工具组合使用。
管道到 LLM
# Claude
c7 react hooks | claude "summarize the key patterns and show examples"
# Ollama(本地模型)
c7 express middleware | ollama run codellama "explain this middleware pattern"
# 任意 LLM CLI
c7 nextjs "api routes" | llm "write an API route based on these docs"
管道到 Unix 工具
# 搜索文档
c7 nextjs "api routes" | grep "export"
# 分页浏览文档
c7 prisma "schema" | less
# 复制到剪贴板(macOS)
c7 react "useEffect" | pbcopy
# 构建上下文文件
c7 nextjs "app router" >> context.txt
c7 react "server components" >> context.txt
在脚本中使用
# 为编码代理预加载上下文
DOCS=$(c7 nextjs "app router middleware")
claude "Build a Next.js middleware that handles auth. Use these docs:\n$DOCS"
c7 与 MCP 服务器对比
| 功能 | MCP 服务器 | c7 CLI |
|---|---|---|
| 安装配置 | 安装服务器,配置 MCP 客户端,重启编辑器 (npx @vedanth/context7) | 零配置,随处可运行 |
| 适用环境 | 支持 MCP 的编辑器 | 终端、脚本、CI,任何地方 |
| 可组合性 | 受限于 MCP 协议 | 管道、重定向、子 shell |
| 依赖 | 多个 npm 包 | 无 |
| 代码行数 | ~1000+ | ~220 |
两者是互补的:在编辑器中使用 MCP 服务器,在其他场景下使用 c7。
快速开始
# 不安装直接运行
npx @vedanth/context7 react hooks
# 或全局安装
npm install -g @vedanth/context7
c7 react hooks
c7 express middleware
c7 nextjs "app router" | claude "summarize"
基本使用不需要 API Key。若需要更高的速率限制,可在 Context7 仪表盘 获取免费密钥。
链接
- GitHub:
- npm:
- Landing page:
- Context7: