字节笔记本

2026年2月17日

Context7 MCP 教程

Context7 及其工具 Context7 MCP 在当前 AI 编程领域非常流行。本文介绍这个强大的工具,它能够为 AI 提示注入实时、版本特定的文档和代码示例,帮助消除过时的 API 示例和幻觉问题。

什么是 Context7 MCP

Context7 MCP 是一个为 AI 提示注入 实时、版本特定的文档和代码示例 的工具。无论您使用的是 Claude、Cursor、VS Code 还是其他 Model Context Protocol (MCP) 客户端,Context7 都能通过向 LLM 交互中注入实时数据,帮助消除幻觉产生的 API 和过时的示例。

我们可以从 GitHub star 增长图表看到它的受欢迎程度:

Star History Chart

为什么使用 Context7?

❌ 不使用 Context7:

  • 基于旧训练数据的过时示例
  • AI 产生不存在的 API 幻觉
  • 对过时版本的通用化帮助

✅ 使用 Context7:

  • 从实际库中提取的准确、实时文档和示例
  • 基于真实包版本的即时相关答案
  • 只需在提示中添加 use context7 即可

使用示例

创建一个带有 app router 的基础 Next.js 项目。use context7 给定 PostgreSQL 凭证凭据,创建一个删除 city 为空的行的脚本。use context7

开始使用

环境要求

  • Node.js >= v18.0.0
  • 以下 MCP 客户端之一:
    • Cursor
    • Windsurf
    • Claude Desktop
    • VS Code
    • Docker(可选)

安装方法

1. 通过 Smithery 安装(适用于 Claude Desktop)

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

各客户端的安装方法

📍 Cursor

步骤:

  1. 转到:设置 → Cursor 设置 → MCP → 添加新的全局 MCP 服务器
  2. 或直接更新 ~/.cursor/mcp.json
json
{
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": ["-y", "@upstash/context7-mcp@latest"]
    }
  }
}

替代运行时:

使用 Bun

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

使用 Deno

json
{
  "mcpServers": {
    "context7": {
      "command": "deno",
      "args": ["run", "--allow-net", "npm:@upstash/context7-mcp"]
    }
  }
}

🌊 Windsurf

添加到您的 windsurf.mcp.json

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

🧩 VS Code / VS Code Insiders

通过 VS Code MCP Docs 安装

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

安装按钮:

🧠 Claude Code

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

💻 Claude Desktop

更新 claude_desktop_config.json

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

🐳 使用 Docker

1. Dockerfile

创建名为 Dockerfile 的文件:

dockerfile
FROM node:18-alpine

WORKDIR /app

RUN npm install -g @upstash/context7-mcp@latest

CMD ["context7-mcp"]

2. 构建 Docker 镜像

bash
docker build -t context7-mcp .

3. 配置 MCP 客户端

示例 client_mcp_settings.json

json
{
  "mcpServers": {
    "Context7": {
      "autoApprove": [],
      "disabled": false,
      "timeout": 60,
      "command": "docker",
      "args": ["run", "-i", "--rm", "context7-mcp"],
      "transportType": "stdio"
    }
  }
}

注意:tag context7-mcp 应该与您的 docker build 标签匹配。

可用工具

resolve-library-id

将通用库名称解析为 Context7 兼容的 ID。

get-library-docs

使用 Context7 ID 获取文档,支持主题过滤。

开发

克隆仓库并安装依赖:

bash
bun i

构建项目:

bash
bun run build

本地配置示例:

json
{
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": ["tsx", "/path/to/folder/context7-mcp/src/index.ts"]
    }
  }
}

使用 MCP Inspector 测试

bash
npx -y @modelcontextprotocol/inspector npx @upstash/context7-mcp@latest

Context7 故障排除

ERR_MODULE_NOT_FOUND?

npx 切换到 bunx

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

Context7 MCP 错误?

  1. 从包名中移除 @latest
  2. 尝试 bunx
  3. 尝试 deno
分享: