Context7 MCP Server

Context7 MCP Server

Context7 MCP 服务器使 LLM 能够访问最新的、特定版本的文档和来自各种库和包的代码示例,并将这些信息直接注入到你的提示中,以消除过时的代码、幻觉 API 和通用答案。

Author: upstash


查看协议

什么是 Context7 MCP 服务器?

Context7 MCP 服务器是一个开源的 MCP 服务器,充当 LLM 和 AI 开发工具之间的动态文档和代码示例桥梁。它通过模型上下文协议 (MCP) 连接,获取并提供与你的提示中使用的库或框架相关的最新、权威的文档和实用示例,使编码答案准确且相关。它与 Cursor、Claude Desktop、Windsurf、Zed 等流行编辑器和工具兼容。

如何配置 Context7 MCP 服务器

你可以通过将其添加到工具的 MCP 配置中来配置 Context7 MCP 服务器。常见的方法有:

  • NodeJS: 使用 npx(或 bunx/deno)通过更新 MCP 客户端配置运行最新的包:
    {
      "mcpServers": {
        "context7": {
          "command": "npx",
          "args": ["-y", "@upstash/context7-mcp@latest"]
        }
      }
    }
    
  • 编辑器/IDE: 进入设置(例如 Cursor 或 VS Code),通过推荐的配置将 Context7 添加为全局 MCP 服务器,或者通过适当的扩展市场进行安装。
  • Docker: 构建并运行提供的 Dockerfile,然后调整你的配置以执行 Docker 命令作为 MCP 服务器。
  • Smithery: 使用 npx -y @smithery/cli install @upstash/context7-mcp --client claude 进行 Claude Desktop 集成。
  • 确保 Node.js 版本为 v18 及以上以获得最佳兼容性,并查阅你工具的 MCP 文档以获取特定位置的配置细节。

如何使用 Context7 MCP 服务器

  1. 在提示中启用 Context7: 在编写编码提示时,在指令末尾添加 use context7(例如,创建一个基本的 Next.js 项目,使用应用程序路由。使用 context7)。
  2. LLM 集成: LLM 或 AI 助手检测到 use context7 命令,并自动查询 Context7 MCP 以获取相关的、最新的文档和代码示例。
  3. 提示增强: 提取并注入的内容改善了 LLM 的输出——不再出现过时的 API 或幻觉响应。
  4. 无需切换标签: 一切都在你的开发聊天、IDE 或编码助手的上下文中进行。

主要特点

  • 最新文档: 提供数千个库的官方最新文档和代码示例。
  • 多工具支持: 与 Cursor、Claude Desktop、VS Code、Zed 以及任何兼容 MCP 的代理或 IDE 无缝集成。
  • 即插即用的设置: 简单配置——通过 npxbunxdeno、Docker 或市场扩展运行。
  • 动态上下文注入: 将与上下文相关的文档直接交付到 LLM 提示中。
  • 工具 API: 通过 MCP 协议公开可执行的操作(如 resolve-library-idget-library-docs)。
  • 开放与可扩展: 由社区驱动,MIT 许可,易于适配新的环境或工作流。

使用案例

  • AI 对偶编程: 使用当前示例和版本匹配的 API 增强 LLM 代码补全。
  • 错误调试: 立即提取相关的故障排除步骤和文档以解决编码问题。
  • 学习新框架: 查询不熟悉的库和包的最佳实践代码和指南。
  • 遗留迁移: 获取包升级的准确语法和 API 改动,最小化手动研究。

常见问题

Q1: 如果在启动 Context7 MCP 服务器时出现 ERR_MODULE_NOT_FOUND 错误,我该怎么办?
尝试在配置中使用 bunx 而不是 npx。这通常能解决模块解析问题,特别是在 npx 无法正常工作或 Node ESM 处理存在问题的环境中。

Q2: 我可以在 Docker 容器中运行 Context7 MCP 服务器吗?
可以!使用提供的 Dockerfile 构建 Docker 镜像,然后更新你的 MCP 客户端配置以执行指南中所示的 Docker run 命令。确保 Docker 守护进程正在运行,并且镜像标签与配置匹配。

Q3: 如何从不同的编辑器(如 VS Code、Cursor 或 Zed)使用 Context7?
每个主要编辑器和工具都有现成的配置片段。可以使用扩展/市场,或者手动将正确的服务器定义添加到你的 MCP 配置文件中,如上所示。

Q4: 如何确保提供的文档准确且最新?
Context7 直接从最新的官方来源和索引仓库获取文档和示例。然而,作为一个社区驱动的项目,始终要双重检查内容——如果发现不准确,请使用“报告”功能。

Q5: LLM 生成了通用或过时的代码——可能出什么问题?
确保 use context7 出现在你的提示中,并确认你的 MCP 配置正常工作(通过 MCPI Inspector 测试)。如果在本地或通过 Docker 运行,请检查网络/防火墙设置。