如何使用context7 MCP 增强AI编程的能力

项目地址:https://github.com/upstash/context7
什么是 Context7
Context7 是一个基于 Model Context Protocol(MCP)的“文档拉取”服务。它能在你给 LLM(如 Claude、Cursor Copilot、Windsurf 等)的提示(prompt)中,动态地注入从源头获取的、与你所用库版本完全对应的官方文档和代码示例,从而避免:
过时的示例、基于老旧训练数据的答案
LLM 幻觉(hallucination)出不存在的 API
通用但与当前版本不符的代码片段 citeturn1view0
使用方式非常简单:在你的自然语言提示末尾加上 use context7,例如:
Create a basic Next.js project with app router. use context7
此后,Context7 会拦截该提示,解析出所请求的库,拉取对应版本的文档,再把最新的内容注入到 LLM 上下文中。

安装与配置
2.1 前置要求
Node.js ≥ v18.0.0
支持 MCP 的客户端:Cursor、Windsurf、Claude Desktop/Code 等
2.2 各类客户端安装示例
1)Cursor
在 ~/.cursor/mcp.json 中添加:

{
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": ["-y", "@upstash/context7-mcp@latest"]
    }
  }
}

替代方案:用 Bun(bunx)或 Deno

2)Windsurf
在 Windsurf 的 MCP 配置文件中同样加入:

{
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": ["-y", "@upstash/context7-mcp@latest"]
    }
  }
}

3)VS Code

在 VS Code MCP 配置(如 settings.json 或 MCP 插件配置)中添加:

{
  "servers": {
    "Context7": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@upstash/context7-mcp@latest"]
    }
  }
}

4)Claude Code & Desktop
Claude Code:

claude mcp add context7 -- npx -y @upstash/context7-mcp@latest

Claude Desktop:在 claude_desktop_config.json 中对应地添加 context7-mcp 的启动命令
5)通过 Smithery(针对 Claude Desktop)

npx -y @smithery/cli install @upstash/context7-mcp --client claude

6)Docker

  1. Dockerfile(示例):
FROM node:18-alpine
WORKDIR /app
RUN npm install -g @upstash/context7-mcp@latest
CMD ["context7-mcp"]
  1. 构建并在 MCP 客户端中将启动命令换成:
docker run -i --rm context7-mcp

如何在 Prompt 中使用 Context7
3. 正常撰写你的需求,比如 “Show me how to use Prisma Migrate to create a new table.”
4. 在末尾加上关键词 use context7,让 MCP 客户端触发 Context7 服务:
Show me how to use Prisma Migrate to create a new table. use context7
5. LLM 会得到最新、与你项目依赖版本一致的官方文档片段和示例代码,无需手动切换标签或查阅官网
6. 可用的 MCP 工具接口
Context7 MCP 暴露了两个主要命令,可在任何支持 MCP 的客户端中以 JSON-RPC 形式调用

你可能感兴趣的:(AI编程,Context7)