最怕的是它很自信地写了一段“昨天已经过期”的代码。
比如:
用了旧版 Next.js middleware 写法 调了 SDK 里已经改名的参数 把旧文档里的 CLI 命令照搬过来 给出一个看似合理、但当前版本根本不支持的配置项 在框架升级后,还按训练语料里的老模式生成代码
这些问题很隐蔽。
代码看起来专业,解释也很顺,甚至文件结构都挺像真的。
但一运行,才发现 API 不存在、参数不对、配置位置错了。
所以今天推荐一个非常适合 AI 编程 Agent 的公开工具型 skill:context7-docs-mcp。
它的核心来自开源项目 Context7 MCP。
一句话说:
让 Agent 在写第三方库代码前,先把当前文档查进上下文。
来源
GitHub 仓库:
https://github.com/upstash/context7
npm 包:
@upstash/context7-mcp项目主页:
https://context7.com
我把它整理成 Claude Code skill 时,命名为:
context7-docs-mcpcontext7-docs-mcp 是什么?
context7-docs-mcp 是一个面向 AI Agent 的“实时文档查询”技能包。
它不是让 Agent 背更多知识,而是提醒 Agent:
凡是涉及第三方库、框架、SDK、CLI 或 API 的任务,先查当前文档,再写代码。
Context7 MCP 通常提供两个关键工具:
resolve-library-idget-library-docs
前者把库名解析成 Context7 可识别的 library ID。
后者根据 library ID 拉取相关文档和代码示例,还可以用 topic 缩小范围。
比如用户问:
帮我写一个 Next.js middleware,校验 cookie 里的 JWT,未登录跳转 /login,use context7Agent 不应该直接凭记忆写。
它应该先查:
Next.js 当前 middleware 写法 cookies API 怎么用 redirect / NextResponse 当前语义 版本限制和运行时限制
再生成代码。
它解决什么问题?
AI Agent 的训练语料天然有时间差。
但软件生态变化太快。
一个框架版本升级,可能会改变:
import 路径 配置文件格式 默认 runtime hook 行为 CLI 命令 鉴权方式 类型定义 deprecated 参数
如果 Agent 不查文档,很多回答其实是在“用过去写现在”。
这在普通解释里还好,一到写代码就很危险。
因为错误不是“我不知道”。
而是:
我给你一个看起来完全正确的错误答案。
context7-docs-mcp 的价值,就是把这个环节前置:先确认当前库怎么用,再让 Agent 动手。
核心能力
1. 拉取当前文档
Context7 会把库的当前文档、示例和 API 信息放进 Agent 上下文。
这比单纯依赖模型训练记忆可靠得多。
尤其适合版本变化快的库,例如:
Next.js React Tailwind CSS Supabase Prisma Drizzle LangChain Vercel Cloudflare Workers Stripe Anthropic / OpenAI SDK
2. 按主题聚焦
只查整个库文档,信息还是太多。
这个 skill 会要求 Agent 使用 topic 缩小范围,例如:
middlewareroutingauthwebhooksstreamingconfigurationmcp
这样查回来的内容更贴近当前任务。
3. 减少幻觉 API
很多 Agent 写第三方库代码时,会发明一些不存在的方法。
常见句式是:
你可以使用 xxx.configure(...)听起来合理,但库里没有这个 API。
有了 Context7,Agent 至少应该先从文档里确认接口存在。
4. 帮助排查版本差异
当用户说“这段代码报错”时,问题不一定在业务逻辑。
可能只是:
当前项目依赖版本和示例版本不同 文档已经迁移 包名换了 参数从 snake_case 改成 camelCase 旧 API 被废弃
这个 skill 会提醒 Agent 不要急着改业务代码,而是先确认库版本和当前文档。
5. 给 Claude Code 加一个默认动作
在 Claude Code 里,Context7 不只是手动工具。
你可以在 CLAUDE.md 里加一条规则,让它在相关任务中自动使用。
这样用户不必每次都写 use context7。
适合什么时候用?
我建议在这些场景里使用 context7-docs-mcp:
1. 写框架代码
比如 Next.js middleware、React hook、Vue plugin、SvelteKit route、Astro integration。
2. 接 SDK
比如支付、邮件、AI API、数据库、对象存储、身份认证。
SDK 变化通常很快,凭记忆写很容易错。
3. 配置工具链
比如 ESLint、Vite、Tailwind、TypeScript、Playwright、Vitest、Docker、Cloudflare Workers。
很多错误都出在配置字段和文件位置上。
4. 做版本迁移
从旧版框架迁移到新版时,Context7 可以帮助 Agent 查当前迁移方式,而不是沿用旧模式。
5. 排查“文档型 bug”
如果代码逻辑看起来没问题,但运行时报 API 不存在、参数无效、配置不生效,就很适合先查文档。
Claude Code 怎么接入?
前提:本机已安装 Claude Code,并且有 Node.js 18+。
Claude Code 常见启动方式是:在项目目录运行:
claude如果还没有安装 Claude Code,可使用官方安装入口或 npm 安装方式。不同系统的安装方式可能变化,建议以 Claude Code 官方 setup 文档为准。
安装 Context7 MCP 到用户级配置:
claude mcp add --scope user context7 -- npx -y @upstash/context7-mcp --api-key YOUR_API_KEY如果暂时没有 API key,可以先用基础模式:
claude mcp add --scope user context7 -- npx -y @upstash/context7-mcp也可以使用远程 HTTP 连接:
claude mcp add --scope user --header ”CONTEXT7_API_KEY: YOUR_API_KEY” --transport http context7 https://mcp.context7.com/mcp验证:
claude mcp listclaude mcp get context7
注意:--scope user 表示用户级可用。去掉它,则通常只对当前项目生效。
建议加入 CLAUDE.md 的规则
可以在项目的 CLAUDE.md 中加入:
当任务涉及代码生成、安装步骤、配置步骤、第三方库/API/SDK/框架文档时,优先使用 Context7 MCP:先解析 library id,再获取相关主题文档,然后基于当前文档回答或修改代码。用户不必每次显式写 “use context7”。这条规则的好处是:
Agent 会把“查文档”变成默认动作,而不是等用户提醒。
一个简单例子
用户:
帮我给 Cloudflare Worker 加一个缓存 JSON API 响应 5 分钟的逻辑,use context7使用这个 skill 后,Agent 应该先做文档检查:
## Context7 文档检查- library:Cloudflare Workers- Context7 ID:...- topic:cache / fetch / Response- 关键文档结论:...- 版本/限制:...
然后再生成代码。
这比直接凭记忆写 caches.default.put(...) 更稳,因为它会确认当前 runtime、Response clone、cache key、方法限制等细节。
我为什么今天推荐它?
因为 AI 编程 Agent 正在从“帮我补一段代码”变成“帮我改一个项目”。
任务变长以后,错误也会累积。
其中最常见的一类错误,就是第三方生态变化带来的文档过期。
context7-docs-mcp 不复杂,但很关键。
它相当于给 Agent 加了一个习惯:
不确定库怎么用时,先查文档,不要硬猜。
这会显著提高 Claude Code、Cursor、Codex、OpenCode 这类工具在真实项目中的可靠性。
尤其是当你经常让 Agent 写框架代码、接 SDK、改配置、排查报错时,Context7 是一个非常值得常驻的 MCP skill。
夜雨聆风