📌 项目:https://github.com/upstash/context7 | 星数:63k | 语言:TypeScript | 协议:MIT | 更新:2026-10-21
Context7是Upstash开源的AI Agent实时文档平台,63k颗星,TypeScript编写,MIT协议。LLM的核心问题是训练数据有截止日期——模型可能知道React 18的API但不知道React 19的新特性,知道旧版库的用法但用过时的API。Context7的定位是"Agent的实时文档接口":Agent执行任务时调用Context7获取目标库的最新版文档,而不是依赖训练数据中可能过时的知识。通过MCP(Model Context Protocol)集成,Agent说"帮我用最新的Next.js 15 API写一个路由",Context7返回Next.js 15的App Router文档片段,Agent基于真实最新文档生成代码。
Agent工具与文档方向,DSH操作工具包可参考DSH Ops指南,Claude Code学习插件可看VibeWise学习插件指南,桌面编程Agent可参考Omnirush编程Agent指南。
实时文档索引与MCP集成:Context7维护一个持续更新的文档索引库——覆盖主流开源库和框架(React/Vue/Angular/Next.js/Nuxt/SvelteKit等),文档来源是官方文档站和GitHub仓库。索引不是简单爬取——Context7解析文档结构(API参考/指南/教程分类),按版本号索引(React 18/19/20各自独立),Agent可以指定版本获取对应文档。MCP集成是核心——Context7提供MCP Server,Agent(Claude Code/Cursor/Copilot)配置后自动调用。Agent不需要在prompt中粘贴文档(浪费Token),Context7按需返回相关文档片段(只返回与当前任务相关的部分)。
文档解析与版本管理:Context7的文档解析引擎理解文档语义——不只是存HTML,而是解析出API签名、参数说明、代码示例、版本差异。当Agent问"useEffect在React 19有什么变化",Context7能返回React 18→19的breaking changes列表。版本管理让Agent生成的代码用对API版本——如果项目package.json指定React 18,Agent调用Context7获取React 18文档而非最新版,避免用19才有的API。文档更新频率:热门库(React/Vue)每次发版后24小时内更新,中小型库每周更新。
部署与使用方式:Context7提供三种使用方式——MCP Server(自托管或用Context7的托管实例,Agent配置MCP地址即可)、NPM包(@upstash/context7-mcp,本地安装运行)、Web API(REST接口,直接HTTP调用)。MCP方式最流行——Cursor一键安装(cursor.com/deeplink/mcp-install),Claude Code配置一行JSON。MIT协议允许自托管文档索引,企业可以构建内部库的文档索引(如公司内部SDK文档),让Agent用公司最新API而非猜测。Context7由Upstash维护(Serverless Redis/Vector数据库公司),基础设施可靠性有保障。
| ✅ 优势 | ❌ 劣势 |
|---|---|
| 解决LLM训练数据过期问题 | 文档覆盖不全(小众库缺) |
| MCP协议一键集成Agent | MCP Server有延迟 |
| 按版本获取文档 | 自托管需维护索引 |
| 只返回相关片段省Token | 版本管理增加复杂度 |
| MIT可自托管 |
Agent直接搜索文档(如用web search)的问题是:搜索结果可能不是最新版、不是官方源、包含噪音(博客/教程/论坛帖子)。Context7返回的是解析过的官方文档片段——精确到API签名和参数说明,按版本号过滤,没有博客噪音。而且MCP集成让Agent不需要额外搜索步骤(搜索需要额外LLM调用和Token),Context7直接返回结构化文档数据。效率上Context7更快(MCP本地调用 vs web search网络往返),质量上Context7更准(官方文档 vs 搜索结果)。
Context7覆盖主流前端框架(React/Vue/Angular/Svelte/Solid)、后端框架(Next.js/Nuxt/Remix/Astro/Express/FastAPI/Django)、UI库(Tailwind/Material UI/Ant Design/shadcn)、数据库(Prisma/Drizzle/Mongoose)、工具链(Vite/Webpack/eslint/turbo)等200+库。小众库和公司内部SDK不在默认索引中,但可以通过自托管添加。文档来源是官方文档站和GitHub仓库的docs目录,不接受社区博客作为来源。
Context7的MCP Server用NPM安装(npm install -g @upstash/context7-mcp),运行后监听本地端口。Agent配置MCP地址指向本地实例即可。自托管需要维护文档索引——Context7提供爬取和索引脚本,定期运行更新索引。对于企业内部SDK,可以编写自定义文档解析器集成到索引管道。自托管的好处是数据不经过第三方,适合有合规要求的场景。MIT协议允许修改和分发。