乐于分享
好东西不私藏

每天认识一个 AI Agent Skill:让 Agent 写代码前先查最新文档

每天认识一个 AI Agent Skill:让 Agent 写代码前先查最新文档
AI Agent 写代码时,最怕的不是不会写。

最怕的是它很自信地写了一段“昨天已经过期”的代码。

比如:

  • 用了旧版 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-mcp

context7-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 context7

Agent 不应该直接凭记忆写。

它应该先查:

  • 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。