Context7 是一个为 LLM 和 AI 代码编辑器提供最新代码文档的平台,旨在让 AI 在生成代码时使用准确、特定版本的文档和代码示例,而不是依赖过时或泛化的训练数据。
用途
在没有 Context7 的情况下,LLM 依赖关于所用库的过时或通用信息,会产生过时的代码示例、不存在的 API 幻觉,以及针对旧包版本的泛化回答。Context7 可以从源头直接拉取最新的、特定版本的文档和代码示例,并将其放入提示词中,从而避免切换标签页、避免不存在的 API 幻觉和过时代码生成。
主要能力
Context7 支持两种工作模式:
- CLI + Skills:安装一个技能,引导智能体使用 ctx7 CLI 命令获取文档(无需 MCP)。
- MCP:注册 Context7 MCP 服务器,使智能体可以原生调用文档工具。
官方建议获取 API 密钥(在 context7.com/dashboard 获取免费密钥)以获得更高的速率限制。
使用方式
ctx7 CLI 需要 Node.js 22.13 或更高版本。可以用单条命令为编码智能体设置 Context7,设置过程通过 OAuth 认证、生成 API 密钥并安装相应技能,可选择 CLI + Skills 或 MCP 模式,并使用 --cursor、--claude 或 --opencode 指定目标智能体。
后续若要移除生成的设置,运行 npx ctx7 remove。如果通过 npm install -g ctx7 全局安装了 CLI,则需用 npm uninstall -g ctx7 单独移除该包。
手动配置时,使用 Context7 服务器 URL https://mcp.context7.com/mcp 配合 MCP 客户端,并通过 Authorization: Bearer YOUR_API_KEY 请求头传递 API 密钥。
如果已经明确要使用哪个库,可在提示词中直接加入其 Context7 ID,这样 Context7 可以跳过库匹配步骤,直接检索文档。还可以在提示词中指定版本,Context7 会自动匹配相应版本。
通过 ctx7 setup 安装后会自动配置一个技能,在涉及库相关问题时触发 Context7。也可手动设置规则,例如在 Cursor 中通过 Cursor Settings > Rules,在 Claude Code 中通过 CLAUDE.md,或在编码智能体的等效位置添加规则。
可用工具
ctx7 library <name> <query>:按库名搜索 Context7 索引,返回匹配的库及其 ID。ctx7 docs <libraryId> <query>:使用 Context7 兼容的库 ID 检索库文档(例如/mongodb/docs、/vercel/next.js)。resolve-library-id:将通用库名解析为 Context7 兼容的库 ID。参数:query(必填,用户的问题或任务,用于按相关性排序结果)、libraryName(必填,要搜索的库名)。query-docs:使用 Context7 兼容的库 ID 检索库文档。参数:libraryId(必填,精确的 Context7 兼容库 ID,例如/mongodb/docs、/vercel/next.js)、query(必填,要获取相关文档的问题或任务)、language(可选,你编写所用的编程语言,用于将对应语言的代码示例优先排序)。
适用场景
适用于 LLM 和 AI 代码编辑器在编写、补全或生成涉及第三方库的代码时,需要获取最新、特定版本文档和代码示例的场景,以及希望通过 CLI 技能或 MCP 服务器让编码智能体原生调用文档工具的场景。
限制
- Context7 项目由社区贡献,虽然努力保持高质量,但无法保证所有库文档的准确性、完整性或安全性。项目中列出的库由其各自所有者开发和维护,并非由 Context7 维护。如遇到可疑、不当或可能有害的内容,可使用项目页面上的“Report”按钮通知。使用 Context7 即表示承认自行承担风险。
- 该仓库托管 MCP 服务器的源代码。支持组件(API 后端、解析引擎和爬取引擎)为私有,不包含在此仓库中。